Releases: GreenWaves-Technologies/gap_sdk
Releases · GreenWaves-Technologies/gap_sdk
GAP SDK RELEASE NOTE V4.12.0
- 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
- Added:
- Examples:
- Removed:
- remove
efuse_burner
example
- remove
- Removed:
- FreeRTOS:
- Fixed:
- fix use of notify in pi_task
- Fixed:
- SDK:
- Changed:
- change the documentation navigation depth limit to infinite
- Fixed:
- add missing PMSIS include directory to documentation
- Changed:
- 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
- Added:
- GVSOC:
- Fixed:
- Fixed issue with hw loop save/restore
- Fixed:
GAP SDK RELEASE NOTE V4.9.0
- 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
- Added:
- FreeRTOS:
- Fixed:
- Fix i2s1 configure bug in gap8
- Fixed:
- SDK:
- Added:
- WSL support when launch run from WSL instance
- Added:
- 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
- Added:
GAP SDK RELEASE NOTE V4.8.0
- 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
- Added:
- Examples:
- Added:
- add new customer_bsp board example with EPEAS CIS001 camera
- Added:
- FreeRTOS:
- Changed:
- Enable float printf, but can be disabled by adding "PRINTF_FLOAT = DISABLE" in Makefile
- Fixed:
- removed some circular inclusions
- Changed:
- 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
- Added:
- GVSoC:
- Changed:
- change
-march=native
to-mtune=generic
for better compatibility with newer architectures
- change
- Fixed:
- Fix several problems in ASRC model integration.
- Changed:
- 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:
- Buf of Match Hsigmoid (#290)
- Bugs in adjuster
- Improved quantizer resolver
- Transpose generation issues
- Matadd+act generation issues
- Added:
- Pulp-OS:
- Added:
- Move assert implem from PMSIS_API into RTOS.
- Added:
GAP SDK RELEASE NOTE V4.7.0
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:
- Fix wrong vector type used in sign inject and in abs for float16 (https://github.com/GreenWaves-Technologies/gap_riscv_toolchain_ubuntu_18)
- 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
GAP SDK RELEASE NOTE V4.0.0
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
GAP SDK RELEASE NOTE V3.9.1
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
GAP SDK RELEASE NOTE V3.8.1
BUG FIX:
- Regression in GVSOC: fix the bug in event unit
- NNTOOL: fix pad operator for onnx
GAP SDK RELEASE NOTE V3.8.0
- 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)
GAP SDK RELEASE NOTE V3.7.2
- 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
GAP SDK RELEASE NOTE V3.7.1
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