MMALIB Release Notes
Version: 10.01.00.05
Contents
- Introduction
- Licensing
- Getting Started
- Documentation
- What's New
- Upgrade and Compatibility Information
- Device Support
- Validation Information
- Fixed Issues
- Deprecation
- Known Issues
- Technical Support
- Package Versioning
Introduction
The MMALIB package consists of the Texas Instruments optimized kernels for CNN, DSP and LINALG algorithms.
Licensing
The licensing information of this library and a complete manifest along with export control information is detailed here [HTML].
Getting Started
The MMALIB User Guide [USER_GUIDE] provides the documentation and references necessary to begin development on TI's platforms.
Documentation
Refer to following documentation for further details:
MMALIB User Guide | Build instructions, API Guide | [USER_GUIDE] |
Test Reports | Misra C reports, conformance test reports, TI platform test reports | [TEST_RESULTS] |
Software Manifest | Licenses, terms of use | [HTML] |
What's New
Here are the new features supported in this release:
- [new] Added support for a transpose option on the B matrix to the MMALIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX kernel
- [new] Added support for activation functions (i.e. ReLU) to all matrix multiply API's
- [new] Added support for mixed sign operators to all matrix multiply API's
- [new] Added support for row broadcasting on the A matrix to the MMALIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX kernel
- [new] Added support for channel broadcasting on the A or B matrix to the MMALIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX kernel
Upgrade and Compatibility Information
File | Change description | User application change required | User application recompile required |
Device Support
SoC | Host (OS) | Target (OS) | Test Platform |
C7x, MMA | No OS | No OS |
Validation Information
This release was built and validated using the following tools:
Build Tools (NOT included in MMALIB):
- C7x CGT C7000-CGT-4.1.0 LTS
Fixed Issues
- [MMALIB-623] Updated MMALIB documentation on J7AHP SOC
- [MMALIB-654] MMALIB_CNN_fullyConnectedBias_ixX_ixX_oxX: Removed multipass-related parameters from API because multipass is not supported
- [MMALIB-665] MMALIB_CNN_convolve_col_smallNo_legacy_ixX_ixX_oxX: Removed this kernel because its features are covered by the other two existing versions
- [MMALIB-667] MMALIB_CNN_fullyConnected_ixX_ixX_oxX: Removed multipass-related parameters from API because multipass is not supported
- [MMALIB-668] MMALIB_CNN_convolve_row_ixX_ixX_oxX: Fixed invalid memory access errors
- [MMALIB-675] MMALIB_CNN_tensor_convert_ixX_oxX: Removed constraint on the allowed width of input tensor
- [MMALIB-680] MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX Fr=5 Fc=5 stride=1 layer output mismatch between NATC and CI flow
- [MMALIB-762] MMALIB_CNN_fullyConnectedBias_ixX_ixX_oxX: Added checkParams for illegal PSAT limits/li>
- [MMALIB-765] MMALIB_CNN_deconvolve_row_ixX_ixX_oxX: Fixed invalid memory access errors
- [MMALIB-770] MMALIB_CNN_deconvolveBias_row_ixX_ixX_oxX: Added images for input and output feature map buffers to documentation that were previously missing
- [MMALIB-773] MMALIB_CNN_pixelShuffle_row_ixX_ixX_oxX: Fixed units in incorrect checkParams on kDim
Known Issues
- [MMALIB-564] MMALIB_CNN_convolveBias_row: 1x1s2 produces more output than requested (execInArgs subMChannel issue)
- [MMALIB-565] MMALIB_CNN_convolveBias_row: Row flow handle may not start in the middle of the left virtual pad
- [MMALIB-566] MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX: Produces incorrect output when virtual pad is greater than the panel size
- [MMALIB-571] MMALIB_CNN_convolveBias_row_ixX_ixX_oxX_exec_cn: May produce wrong last row when padBottom = 1
- [MMALIB-572] MMALIB_CNN_convolveBias_row_ixX_ixX_oxX_exec_ci: Incorrect output for CI when dilated pad greater than input width
- [MMALIB-612] MMALIB_CNN_pixelShuffle_row_ixX_ixX_oxX: Divergent behaviour between NatC and CI mode when execInArgs set
Deprecation
The following functions have been moved to the FFTLIB package
- MMALIB_FFT_dftSmall_ixX_cxX_oxX
- MMALIB_FFT_dftLarge_ixX_cxX_oxX
- MMALIB_FFT_highRadixDecompositions_ixX_cxX_oxX
- MMALIB_FFT_fft_ixX_cxX_oxX
- MMALIB_fft1dBatched_i16sc_c16sc_o16sc [C7x only]
- MMALIB_fft1dBatched_i32fc_c32fc_o32fc [C7x only]
- MMALIB_fft1d_i16sc_c16sc_o16sc [C7x only]
- MMALIB_fft1d_i32fc_c32fc_o32fc [C7x only]
Technical Support
For technical support, please post your questions on TI E2E Forum for Automotive ADAS SoCs.
For additional assistance, contact your local TI Field Applications Engineer
Package Versioning
Each package version is composed of 4 period-delimited numbers - represented here by the letters M, m, p and b [M.m.p.b]
. The table below provides a descriptive reference regarding package version numbering.
Digit | Meaning | Description |
---|---|---|
1 (M=Major) | Major revision | Incremented when the new version is substantially different from the previous For example, a new module added or an existing module's algorithm significantly altered. |
2 (m=minor) | Minor revision | Incremented when the new version has changed but not in a major way. For example, some minor changes in the API or feature set. |
3 (p=patch) | Patch number | Incremented for all other source code changes. This include any packaging support code. |
4 (b=build) | Build number | Incremented for each release delivery to CM. Reset for any change to M, m or p |
Copyright 2018, Texas Instruments Incorporated