![]() |
MMALIB User Guide
|
| Common definitions | This module consists of definitions (macros, structures, utility functions) that are commonly applicable to all MMALIB kernels |
| ▼Convolutional Neural Networks (CNN) kernels | This module consists of kernels to implement the core computations occurring in the context of convolutional neural networks |
| ▼MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX | Kernel for computing CNN-style 2D convolution using column major data ordering on the input and output feature maps. This approach computes more quickly if filter grouping is chosen such that Ni=No=1, or if filter grouping is chosen such that NiFrFc < MMA_SIZE, otherwise use regular convolution method MMALIB_CNN_convolve_row_ixX_ixX_oxX. This kernel is also referred to as depth-wise convolution |
| MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX_reorderWeights | MMALIB_CNN_convolve_col_smallNo_ixX_ixX_oxX requires that the weights be preprocessed into a specific arrangement. The functions in this module perform that preprocessing and other associated tasks |
| MMALIB_CNN_convolve_row_ixX_ixX_oxX | Kernel for computing dense CNN convolution with row based processing and matrix multiplication |
| MMALIB_CNN_deconvolve_row_ixX_ixX_oxX | Kernel for computing dense CNN deconvolution with row-based processing and matrix-matrix multiplication |
| MMALIB_CNN_fullyConnected_ixX_ixX_oxX | Kernel provides compute functionality of Fully Connected Layer: \( Y^T = X^T \times H^T \) |
| MMALIB_CNN_pixelShuffle_row_ixX_ixX_oxX | Kernel for computing dense CNN convolution with row based processing and matrix multiplication followed by column interleaving, which results in a partial output of final form in pixel shuffle operator |
| ▼Digital Signal Processing (DSP) kernels | This module consists of kernels that implement DSP algorithms |
| MMALIB_DSP_firSmall_ixX_ixX_oxX | Kernel for convolving input data with an input filter (filter size <= MMA_SIZE/2). For input filter size > MMA_SIZE/2 refer to MMALIB_DSP_fir_ixX_ixX_oxX |
| MMALIB_DSP_fir_ixX_ixX_oxX | Kernel for convolving input data with an input filter (filter size > MMA_SIZE/2) For input filter size <= MMA_SIZE/2 refer to MMALIB_DSP_firSmall_ixX_ixX_oxX |
| ▼Fast Fourier Transform (FFT) kernels | This module consists of kernels to compute Discrete Fourier Transform(DFT) of data |
| MMALIB_FFT_dftLarge_ixX_cxX_oxX | Kernel for computing DFT using brute-force matrix multiplication for number of points greater than what can be handled by MMALIB_FFT_dftSmall_ixX_cxX_oxX. brute-force matrix multiplication |
| MMALIB_FFT_dftSmall_ixX_cxX_oxX | Kernel for computing DFT for small number of points using brute-force matrix multiplication |
| MMALIB_FFT_fft_ixX_cxX_oxX | Kernel for coordinating the DFT computation by calling one of MMALIB_FFT_dftSmall_ixX_cxX_oxX, MMALIB_FFT_dftLarge_ixX_cxX_oxX or MMALIB_FFT_highRadixDecompositions_ixX_cxX_oxX kernels, depending on fftSize and batchSize parameters |
| MMALIB_FFT_highRadixDecompositions_ixX_cxX_oxX | Kernel for computing DFT by using a high-radix variant of the FFT alogrithm |
| ▼Linear Algebra (LINALG) kernels | This module consists of kernels within the linear algebra scope |
| MMALIB_LINALG_matrixMatrixMultiplyAccumulate_ixX_ixX_ixX_oxX | Kernel for multiplying two matrices with an additive term |
| MMALIB_LINALG_matrixMatrixMultiply_ixX_ixX_oxX | Kernel for multiplying two matrices |
| MMALIB_LINALG_matrixTranspose_ixX_oxX | Kernel for computing the transpose of a matrix |
| MMALIB_LINALG_pointwiseMatrixMatrixMultiply_ixX_ixX_oxX | Kernel for computing the pointwise multiplication of two matrices |