Gap Sdk Versions Save

SDK for Greenwaves Technologies' GAP8 IoT Application Processor

release-v4.12.0

2 years ago
  • AutoTiler:
    • Added:
      • Improved fused activations in HWC pooling
      • MatMul for DSP processing (float16 and 32)
      • Support for OCTOSPIFlash/Ram in code generation
    • Fixed:
      • NE16 Depthwise mode bug in real HW
      • Real FFT evaluation of last bin spectrogram
  • Examples:
    • Removed:
      • remove efuse_burner example
  • FreeRTOS:
    • Fixed:
      • fix use of notify in pi_task
  • SDK:
    • Changed:
      • change the documentation navigation depth limit to infinite
    • Fixed:
      • add missing PMSIS include directory to documentation
  • NNTool:
    • Added:
      • ONNX Upscale operator
      • Batchnorm converted to discrete expressions ops when not fusable
      • Expression compiler with better iteration handling + more flexible quantization + code comments
    • Fixed:
      • NNCF mixed precision import for <8bits weights
  • GVSOC:
    • Fixed:
      • Fixed issue with hw loop save/restore

release-v4.9.0

2 years ago
  • AutoTiler:
    • Added:
      • Quantizers from/to float32
      • Automatic evaluation of optimal TileOrientation strategy for SQ8 and fp16 generators
      • Improved MatMul SW performance
    • Fixed:
      • Fix in ProcessArgPadding, we need to locate the most inner KER_ITER_i space not the fisrt tileable dim
      • Quantizer generator bug and FP_FL FL_FP basic kernel (bad read of zero/scale infos)
      • NextAddress code generation fix
  • FreeRTOS:
    • Fixed:
      • Fix i2s1 configure bug in gap8
  • SDK:
    • Added:
      • WSL support when launch run from WSL instance
  • NNTool:
    • Added:
      • Concat in tflite on same input
      • Resizer in fp16 mode
      • Add DSP preprocessing in front of the network now working
      • Convert onnx Gather to slice if possible at import
      • FC tflite support for keep_dims
    • Fixed:
      • Fix bug in 1D padding onnx
      • Bug in Padding for onnx

release-v4.8.0

2 years ago
  • AutoTiler:
    • Added:
      • Cmake build alternative for Mnist example.
      • Improved MatMul Kernels
      • HSigmoid/HTanh/HSwish support in float16 layers
    • Fixed:
      • Tiling bug fix for vertical tiled 1D kernels
      • Bug in quantizer due to ClipF macro expansion
      • Several warnings fixed for unsigned type of ScaleN pointer
  • Examples:
    • Added:
      • add new customer_bsp board example with EPEAS CIS001 camera
  • FreeRTOS:
    • Changed:
      • Enable float printf, but can be disabled by adding "PRINTF_FLOAT = DISABLE" in Makefile
    • Fixed:
      • removed some circular inclusions
  • SDK:
    • Added:
      • dynamic runner args support to cmake run
      • cmake gaptest support
      • README in hello for cmake and test description
      • Options to compile with cluster enabled
      • cmake top documentation
      • README in bsp ram simple test for cmake and test description
      • Options to compile with chosen ram
      • default values for gvsoc build
      • cmake build for whole sdk
    • Fixed:
      • clean target for gap8, cmake options
  • GVSoC:
    • Changed:
      • change -march=native to -mtune=generic for better compatibility with newer architectures
    • Fixed:
      • Fix several problems in ASRC model integration.
  • NNTool:
    • Added:
      • Global sum and min/max
      • MatMul performance improvements
      • New generation code for SQ8
      • New qtune syntax
      • Support TinyYolo
      • Split to Concat matcher to simplify network topology
      • Support Onnx NonMaxSuppression Layer
      • Json file to override quantization import in onnx
      • Initial auto compression based on global QSNR setting
      • Sigmoid and Tanh now default non hard also in onnx
      • Import quantization from nncf
    • Fixed:
  • Pulp-OS:
    • Added:
      • Move assert implem from PMSIS_API into RTOS.

release-v4.7.0

2 years ago

New Features

  • SDK:
    • Re-orgnisation of SDK
    • Tools reorganization
      • Move tools (efuse, gap_configs, gaptest, gapy, json-tools, littlefs, openocd, openocd_tools, plptest, rules) from gap_sdk/tools to gap_sdk/utils
    • Removed old native examples (examples/natives).
    • Removed old applications.
    • Removed old doc, replaced by new one.
  • NNTool:
    • Added support for LUT sigmoid/tanh in fp16
    • unsigned sq8 add
    • rsqrt expressions
    • new dsp functions in expressions
    • Added support for LUT sigmoid/tanh in fp16
  • Autotiler:
    • Added DSP Lib in autotiler rules
    • Support for float16 LUT based Sigmoid/Tanh
    • map Hx1 Conv onto 1D as well as Wx1
    • Unsigned SQ8 Add
    • rsqrt DSP functions
    • improved performance in DSP functions
  • PULP OS:
    • Added preset_fork

BUG Fixes

  • Compiler:
  • NNTool:
    • gen_project bugfixes
  • Autotiler:
    • bugfixes for DSP library and generators:
    • Fixed point fft
    • center padding like librosa
    • bugfix in DSP generator and NE16 conv + pool
    • bugfix in USQ8 reduction act
    • DSP: log offset fix for float16 version
    • Code Gen: Fix in Code generation of tiles copie
    • fp16 activation bug in leftover
    • Fixed SSD non max supression num of total BBs
  • FreeRTOS:
    • Update timer and perf driver to reduce footprint
    • Calibrated the performance counter

[Be careful]: Due to the reorg of SDK, please clean and rebuild the SDK:

make clean all

release-v4.0.0

2 years ago

GAP Profiler -- V1.0.0

  • Profiler - 1st release of gap profiler [version - 1.0.0]: Profiler is a visualization tool for profiling and debugging GAP applications and used with GVSOC, our Full System SoC Simulator. Profiler gives you a visual view of what is happening inside the chip and allows you to control the simulator through a graphic interface

Autotiler -- V4.0.0

  • New DSP library with optimised (i)MFCC implementation (with example)
  • RFFT kernel

NNTool -- V3.11.x

  • Added graph drawing ability - draw command
  • Added support for mixed quantization - qtune command reworked
  • Improved expression support
  • Matmul support extended and added in all quantization schemes. 'channel' scaled matmul support for constant tensor multiplications
  • bfloat and ieee16 quantization support
  • New gen_project command generates template GAP project automatically
  • New performance command creates temporary project, runs it and extracts performance
  • several new fusions handle optimising different patterns

BSP

  • Updated SPI RAM/FLASH size in gapoc boards
  • GAPOC C BSP added camera capture + compression example

Others

  • Corrected bug in gvsoc when read/write files bigger then 1 MB
  • New Fuser tool for GAP8 (removed old one)
  • Add AES encryption for GAP8 flash image
  • GAP LIB imageIO added write out image from L3

release-v3.9.1

3 years ago

New Features

NNTool

  • New quantizer: initial work for mixed precision quantization
  • onnx GRU parameter support
  • LSTM quantization: keep different scales for recurrent and input weights + override cell_clip quantization parameter with statistic from inference
  • Handling of 1x1 inputs in resizer
  • Support for channel padded Matrix addition

Autotiler

  • MFCC support for float16 float32 execution
  • Channel padded MatAdd kernel and code generation support
  • int16 Resizers
  • Matrix Multiplication optimization

BSP:

  • New camera driver: HM0360

Customer BSP example:

An example about how to customize a BSP for a customer board

  • gap_sdk/examples/customer_bsp

Others

  • Scripts for supporting vscode

Bug fixes

  • Fix NNtool in requirements installation (support also in WSL2)
  • Bug fix in 1D onnx convolution and pad operators
  • Bug fix in hyperbus driver (Both FreeRTOS and PULP-OS) when TX size = 6
  • Fix thermal camera driver for capa load and GSK
  • NINA B112 driver fixes
  • Modified I2C wait cycles from 0xFF to 0x1 after the STOP command

release-v3.8.1

3 years ago

BUG FIX:

  • Regression in GVSOC: fix the bug in event unit
  • NNTOOL: fix pad operator for onnx

release-v3.8.0

3 years ago
  • NNTool
    - New importer: ONNX graphs support - LSTM/RNN new quantization schemes (use LUT for activations + allow different quantization ranges between input and states) - Bug fixes
  • Autotiler - New Tiling engine (more computationally efficient) - Add support for warm Construct/Destruct (only L1 buffer allocation/deallocation) - MFCC generators and basic kernels
  • FreeRTOS: - New FLL driver - Add malloc dump feature
  • PMSIS_BSP: - Pixart camera driver update for ULPC module - Himax camera driver update for AI-Deck - OTA fixes - Fixes for building AI Deck bsp with freeRTOS - Thermeye IR camera driver updates - Fix for MX25 spi flash erase
  • Others: - Support SSBL (Second Stage Boot Loader)

release-v3.7.2

3 years ago
  • FreeRTOS - I2S Frequency calculation bug - CPI Slice mode fix - SPI fix for keeping cs
  • PulpOS - CPI fix
  • NNTool
    - New TFLite operators support: Transpose, ResizeBilinear - Bug fixes (dilated convolutions nntool execution + lstm nntool execution)
  • Autotiler (from my side) - Bug fix in SSD PostProcess operator
  • BSP - Optimized Himax BSP driver

release-v3.7.1

3 years ago

NEW FEATURES

NNTool

  • Expressions: fuse sequences of piecewise TFLite operators into a single Autotiler layer call
  • Resizer: insert an image resizer in front of the network (algorithms: Bilinear or Nearest Neighbor)
  • Support for Nearest Neighbor tflite node
  • Support for LeakyReLU tflite node
  • Bug fixes

Autotiler

  • Nearest Neighbor algorithm for resizer

PulpOS

  • Fixed issue with GPIO callbacks, some registers were corrupted after the execution of the callback

GVSOC

  • Cache flushing is now implemented

FreeRTOS

  • SPI copy API fixes for SPIRAM
  • Important optimizations for Freertos
  • Freertos Directory tree reorganisation