Skip to content

Overview - Software

All-in-one SDK

docker run -d --privileged -p 828:22 --gpus all -e "TERM=xterm-256color" --name gap_sdk hyeondg/gapuino_v3  # Nvidia
docker run -d --privileged -p 828:22 --device /dev/kfd --device /dev/dri -e "TERM=xterm-256color" --name gap_sdk hyeondg/gapuino_v3  # AMD

# Select 3 for the current test settings
Select the target : 
        1 - GAPOC_B_SPI_V2
        2 - GAPOC_B_V2
        3 - GAPUINO_V3
        4 - GAPUINO_V3_SPI
>>> 3
The target board you have chosen is : gapuino, GAP8_V3.

RISC-V GNU Toolchain

The SDK uses a specialized RISC-V toolchain with extensions for GAP processors:

  • Compiler: riscv32-unknown-elf-gcc with GAP8/GAP9 ISA extensions
  • Linker: Custom linker scripts in tools/ld/(defining memory layout)
  • Debugger: riscv32-unknown-elf-gdb for GDB debugging
  • Binary utilities: objdump, nm, size for binary inspection

Development Tools

NNTOOL - Neural Network Tool

Python-based tool that ports neural network models to GAP processors

  • Input formats: PyTorch, TensorFlow Lite, ONNX, Keras
  • Quantization: Converts FP32 models to INT8/INT16 for efficient inference
  • Graph optimization: Fusion, transpose elimination, pruning
  • Output: GAP-compatible graph definitions for Autotiler
  • Located at tools/nntool/ built via make nntool target.

Autotiler Code Generator

Generating optimized C code from algorithm descriptions

  • Memory tiling: Automatically manages data movement between L1/L2 memory
  • Kernel library: Provides optimized CNN, matrix, FFT, MFCC implementations
  • Code generation: Produces efficient parallel code for cluster execution
  • Integration: Works with NNTOOL output for neural network deployment
  • Located at tools/autotiler_v3/ built via make autotiler target.

GVSOC - Virtual Platform Simulator System

System instruction set simulator (https://arxiv.org/abs/2201.08166)

  • Timing-accurate event-driven simulator (cf. not cycle-accurate but functionally correct)
  • Device models: Camera, microphone, LCD, and other peripheral simulations
  • Profiling: Detailed performance analysis and execution traces
  • Build: CMake-based build system at gvsoc/, built via make gvsoc target (installed to install/workstation/)