Skip to content

Releases: foss-for-synopsys-dwc-arc-processors/embarc_mli

Release 2.0.2

27 Jul 12:55
Compare
Choose a tag to compare

embARC MLI Library Release 2.0.2

This is the 2.0.2 release of the embARC Machine Learning Inference Library (embARC MLI Library).
This is a patch release on top of MLI 2.0.1

Release Notes

This patch release contains the following fixes:

  • Documentation update to fix the equation for the calculation of pooling and convolution sizes
  • Removal of unused variable which causes a build error with the latest compiler versions

Release 2.0.1

26 Jan 14:33
Compare
Choose a tag to compare

embARC MLI Library Release 2.0.1

This is the 2.0.1 release of the embARC Machine Learning Inference Library (embARC MLI Library).
This is a patch release on top of MLI 2.0

Release Notes

This patch release contains the following fixes:

  • Documentation update to clarify the location of documentation.
  • Fix for a pragma syntax error that was ignored by older compiler versions but causes a build error with latest compiler versions.
  • Fix in the mli_chk_permute_sa8() function to prevent false error reporting when mli_krn_permute_sa8 is used.

Release 1.1.1

19 Jan 16:29
Compare
Choose a tag to compare

This is a patch release on top of Release 1.1 and will contain the following fixes:

  • Fix for conv2d and depthwiseconv2d padding issues with small tensor size.
  • Update links in the documentation

Release 2.0

27 Sep 14:17
Compare
Choose a tag to compare

embARC MLI Library Release 2.0

This is the 2.0 release of the embARC Machine Learning Inference Library (embARC MLI Library).

Release Notes

  1. Version 2.0

  2. This release supports following functional primitives

    • 2D Convolution
    • 2D Depthwise Convolution
    • 2D Transpose Convolution
    • 2D Group Convolution
    • Fully Connected layer
    • Max and average pooling
    • LSTM and GRU recurrent cells
    • RNN Dense layer
    • Elementwise (add, sub, mul, min, max)
    • Permute
    • Argmax
    • Data manipulation (concatenation, permute, 2D padding)
    • ReLU, Leaky ReLU, Parametric ReLU, ReLU1, ReLU6
    • Softmax, Sigmoid, TanH, L2 Normalization
    • Helper functions to copy (partial) tensors (mli_mov*)
  3. Supported data layout:

    • Data layout HWC (Height-Width-Channel)
  4. Supported data format:

    • Fixed point 8bit and 16bit (fx8 and fx16)
    • Signed asymmetric 8bit quantization (sa8)
    • Signed asymmetric datatype supports per-tensor or per channel quantization with 16bit scale factors.
  5. Slicing support: creation of sub-tensors and support for non-contiguous tensor data.

  6. Supported platforms:

    • VPX
    • x86 emulation
  7. Toolchains support:

Known Limitations

  1. embARC MLI 2.0 is partially optimized for ARC EMxD and ARC HSxD targets. Currently we recommend only building for VPX and x86 emulation targets. You can use MLI 1.1 for EM/HS targets.

Release 2.0 RC2

16 Sep 19:53
Compare
Choose a tag to compare
Release 2.0 RC2 Pre-release
Pre-release

Release Candidate 2 for Version 2.0

Release Notes

  1. Version 2.0

  2. This release supports following functional primitives

    • 2D Convolution
    • 2D Depthwise Convolution
    • 2D Transpose Convolution
    • 2D Group Convolution
    • Fully Connected layer
    • Max and average pooling
    • LSTM and GRU recurrent cells
    • RNN Dense layer
    • Elementwise (add, sub, mul, min, max)
    • Permute
    • Argmax
    • Data manipulation (concatenation, permute, 2D padding)
    • ReLU, Leaky ReLU, Parametric ReLU, ReLU1, ReLU6
    • Softmax, Sigmoid, TanH, L2 Normalization
    • Helper functions to copy (partial) tensors (mli_mov*)
  3. Supported data layout:

    • Data layout HWC (Height-Width-Channel)
  4. Supported data format:

    • Fixed point 8bit and 16bit (fx8 and fx16)
    • Signed asymmetric 8bit quantization (sa8)
    • Signed asymmetric datatype supports per-tensor or per channel quantization with 16bit scale factors.
  5. Slicing support: creation of sub-tensors and support for non-contiguous tensor data.

  6. Supported platforms:

    • VPX
    • x86 emulation
  7. Toolchains support:

Fixes and Improvements in the Release Candidate 2 Сompared to Release Candidate 1

  1. Add missing fields in some library interface enumerations.
  2. Remove -Hon=Long_enums compilation option from build scripts.
  3. Optimize code size of convert SAFX version.
  4. Improve accuracy for softmax kernel.
  5. Face Detect example uses NN model instead of hard-coded data for detecting faces on the input image.
  6. EMNIST Tutorial: clarify instructions and fix build process. Update requirements on dependent python modules.
  7. User Tests application: Fix assertion on scalar tensor for debug mode.
  8. CIFAR-10 Example: Fix fields filling to align with operands requirements from API side.
  9. Kernels input parameters checking for debug mode is improved and is better aligned with API specification.
  10. Documentation: Update sections hierarchy and clarify details on some aspects. Add more info in examples and master readme files.

Known Limitations

  1. embARC MLI 2.0 is partially optimized for ARC EMxD and ARC HSxD targets. Currently we recommend only building for VPX and x86 emulation targets. You can use MLI 1.1 for EM/HS targets.

Release 2.0 RC1

20 Aug 14:45
Compare
Choose a tag to compare
Release 2.0 RC1 Pre-release
Pre-release

Release Candidate 1 for Version 2.0

Release Notes

  1. Version 2.0

  2. This release supports following functional primitives

    • 2D Convolution
    • 2D Depthwise Convolution
    • 2D Transpose Convolution
    • 2D Group Convolution
    • Fully Connected layer
    • Max and average pooling
    • LSTM and GRU recurrent cells
    • RNN Dense layer
    • Elementwise (add, sub, mul, min, max)
    • Permute
    • Argmax
    • Data manipulation (concatenation, permute, 2D padding)
    • ReLU, Leaky ReLU, Parametric ReLU, ReLU1, ReLU6
    • Softmax, Sigmoid, TanH, L2 Normalization
    • Helper functions to copy (partial) tensors (mli_mov*)
  3. Supported data layout:

    • Data layout HWC (Height-Width-Channel)
  4. Supported data format:

    • Fixed point 8bit and 16bit (fx8 and fx16)
    • Signed asymmetric 8bit quantization (sa8)
    • Signed asymmetric datatype supports per-tensor or per channel quantization with 16bit scale factors.
  5. Slicing support: creation of sub-tenors and support for non-contiguous tensor data.

  6. Supported platforms:

    • VPX
    • x86 emulation
  7. Toolchains support:

Known Limitations

  1. Face Detect example hard-codes some data, which means that it only works with supplied test image

Release 2.0 Early Access

20 Apr 12:14
4596e03
Compare
Choose a tag to compare
Pre-release

Release Notes

  1. Version 2.0 EA

    • This is the first early access release for MLI2.0 (MLI 2.0 EA)
    • Intended for VPX only, not for EM/HS cores
    • Not all kernels are fully optimized
  2. This release supports following functional primitives

    • 2D Convolution
    • 2D depthwise Convolution
    • 2D Transpose Convolution
    • 2D Group Convolution
    • Fully Connected layer
    • Max and average pooling
    • LSTM and GRU recurrent cells
    • RNN Dense layer
    • Elementwise (add, sub, mul, min, max)
    • Permute
    • Argmax
    • ReLU, Leaky ReLU, Parametric ReLU
    • Softmax, Sigmoid, TanH, L2 Normalization
    • Helper functions to copy (partial) tensors (mli_mov*)
  3. Supported data layout:

    • Data layout HWC (Height-Width-Channel)
  4. Supported data format:

    • Fixed point 8bit and 16bit (fx8 and fx16)
    • Signed asymmetric 8bit quantization (sa8)
    • Signed asymmetric datatype supports per-tensor or per channel quantization with 16bit scale factors.
  5. Slicing support: creation of sub-tenors and support for non-contiguous tensor data.

  6. Metaware compiler:

    • Recommended version: 2021.03 or newer.
  7. Supported platforms:

    • VPX
    • x86 emulation
  8. Documentation:

    • Readme on how to get started.

Release 1.1

12 Oct 08:08
ef7dd3c
Compare
Choose a tag to compare
  1. Version 1.1

  2. This release supports following functional primitives

    • 2D Convolution
    • 2D depthwise convolution
    • Fully Connected layer
    • Max and average pooling
    • LSTM, Basic RNN
    • Elementwise (add, sub, mul, min, max)
    • Data manipulation (concatenation, permute, 2D padding)
    • ReLU, Leaky ReLu, ReLu1, ReLu6
    • Softmax, Sigmoid, TanH
    • Helper functions to copy (partial) tensors (mli_mov*)
  3. Supported data layout:

    • CHW (Channel-Height-Width standard for Caffe)
    • Data layout HWC (Height-Width-Channel as used in TensorFlow Lite for Microcontrollers)
  4. Supported data format:

    • Fixed point 8bit and 16bit (fx8 and fx16)
    • Signed asymmetric 8bit quantization (sa8) support for the following kernels:
      • Fully Connected
      • Convolution 2D (HWC Layout)
      • Depthwise Convolution 2D(HWC Layout)
      • Max Pooling(HWC Layout)
      • Average Pooling (HWC Layout)
    • Signed asymmetric datatype supports per-tensor or per channel quantization with 32bit scale factors.
  5. Slicing support: creation of sub-tenors and support for non-contiguous tensor data.

  6. Metaware compiler:

    • Recommended version: 2020.06 or newer.
  7. Documentation:

    • API documentation is attached to this release (see embARC_MLI_1_1_API_Doc.zip)
  8. TFLM integration:

    • embarc MLI is one of the supported back-ends in TensorFlow Lite Micro
    • More information can be found here

Release 1.1 RC3

21 Jul 09:53
ef7dd3c
Compare
Choose a tag to compare
Release 1.1 RC3 Pre-release
Pre-release
  1. Version 1.1
  2. This release supports following functional primitives
    • 2D Convolution
    • 2D depthwise convolution
    • Fully Connected layer
    • Max and average pooling
    • LSTM, Basic RNN
    • Elementwise (add, sub, mul, min, max)
    • Data manipulation (concatenation, permute, 2D padding)
    • ReLU, Leaky ReLu, ReLu1, ReLu6
    • Softmax, Sigmoid, TanH
    • Helper functions to copy (partial) tensors (mli_mov*)
  3. Supported data layout:
    • CHW (Channel-Height-Width standard for Caffe)
    • Data layout HWC (Height-Width-Channel as used in TensorFlow Lite for Microcontrollers)
  4. Supported data format:
    • Fixed point 8bit and 16bit (fx8 and fx16)
    • Signed asymmetric 8bit quantization (sa8) support for the following kernels:
      • Fully Connected
      • Convolution 2D (HWC Layout)
      • Depthwise Convolution 2D(HWC Layout)
      • Max Pooling(HWC Layout)
      • Average Pooling (HWC Layout)
  5. Slicing support: creation of sub-tenors and support for non-contiguous tensor data.

Release 1.1 RC2

07 May 19:14
5828486
Compare
Choose a tag to compare
Release 1.1 RC2 Pre-release
Pre-release

Release candidate 2 for MLI 1.1