![]() |
DSPLIB User Guide
|
Header file for kernel's internal use. For the kernel's interface, please see DSPLIB_sqrAdd.
Definition in file DSPLIB_sqrAdd_priv.h.
Go to the source code of this file.
Data Structures | |
| struct | DSPLIB_sqrAdd_PrivArgs |
| Structure that is reserved for internal use by the kernel. More... | |
Macros | |
| #define | SE_PARAM_BASE (0x0000) |
| #define | SE_SE0_PARAM_OFFSET (SE_PARAM_BASE) |
| #define | SE_SE1_PARAM_OFFSET (SE_SE0_PARAM_OFFSET + SE_PARAM_SIZE) |
| #define | SE_SA0_PARAM_OFFSET (SE_SE1_PARAM_OFFSET + SE_PARAM_SIZE) |
| #define | DSPLIB_SQRADD_IXX_IXX_OXX_PBLOCK_SIZE (3 * SE_PARAM_SIZE + 1 * DSPLIB_PARAM_SIZE + 2 * sizeof(int32_t)) |
| Macro to define the size of bufPblock array of DSPLIB_sqrAdd_PrivArgs structure. More... | |
Typedefs | |
| typedef DSPLIB_STATUS(* | pFxnDSPLIB_sqrAdd_exec) (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
| This is a function pointer type that conforms to the declaration of DSPLIB_sqrAdd_exec_ci and DSPLIB_sqrAdd_exec_cn. More... | |
Functions | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_sqrAdd_init_ci (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_sqrAdd_InitArgs *pKerInitArgs) |
| This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_sqrAdd_init. More... | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_sqrAdd_exec_ci (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
| This function is the main execution function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_sqrAdd_exec. More... | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_sqrAddInt_exec_ci (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
| This function is the main execution function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_sqrAdd_exec. More... | |
| template<typename dataType > | |
| DSPLIB_STATUS | DSPLIB_sqrAdd_exec_cn (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
| This function is the main execution function for the natural C implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_sqrAdd_exec. More... | |
| DSPLIB_STATUS | DSPLIB_sqrAdd_init_cn (DSPLIB_kernelHandle handle, DSPLIB_bufParams2D_t *bufParamsIn, DSPLIB_bufParams2D_t *bufParamsOut) |
| This function is the initialization function for the natural C implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_sqrAdd_init. More... | |
| #define SE_PARAM_BASE (0x0000) |
Definition at line 38 of file DSPLIB_sqrAdd_priv.h.
| #define SE_SE0_PARAM_OFFSET (SE_PARAM_BASE) |
Definition at line 39 of file DSPLIB_sqrAdd_priv.h.
| #define SE_SE1_PARAM_OFFSET (SE_SE0_PARAM_OFFSET + SE_PARAM_SIZE) |
Definition at line 40 of file DSPLIB_sqrAdd_priv.h.
| #define SE_SA0_PARAM_OFFSET (SE_SE1_PARAM_OFFSET + SE_PARAM_SIZE) |
Definition at line 41 of file DSPLIB_sqrAdd_priv.h.
| #define DSPLIB_SQRADD_IXX_IXX_OXX_PBLOCK_SIZE (3 * SE_PARAM_SIZE + 1 * DSPLIB_PARAM_SIZE + 2 * sizeof(int32_t)) |
Macro to define the size of bufPblock array of DSPLIB_sqrAdd_PrivArgs structure.
Definition at line 47 of file DSPLIB_sqrAdd_priv.h.
| typedef DSPLIB_STATUS(* pFxnDSPLIB_sqrAdd_exec) (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
This is a function pointer type that conforms to the declaration of DSPLIB_sqrAdd_exec_ci and DSPLIB_sqrAdd_exec_cn.
Definition at line 53 of file DSPLIB_sqrAdd_priv.h.
| DSPLIB_STATUS DSPLIB_sqrAdd_init_ci | ( | DSPLIB_kernelHandle | handle, |
| const DSPLIB_bufParams1D_t * | bufParamsIn, | ||
| const DSPLIB_bufParams1D_t * | bufParamsOut, | ||
| const DSPLIB_sqrAdd_InitArgs * | pKerInitArgs | ||
| ) |
This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_sqrAdd_init.
This function determines the configuration for the streaming engine resources based on the function call parameters, and the configuration is saved in bufPBlock array. In the kernel call sequence, DSPLIB_sqrAdd_exec_ci would be called later independently by the application. When DSPLIB_sqrAdd_exec_ci runs, it merely retrieves the configuration from the bufPBlock and uses it to set up the hardware resources. This arrangement is so that DSPLIB_sqrAdd_exec_ci does not lose cycles to determine the hardware configuration.
| [in] | handle | : Active handle to the kernel |
| [in] | bufParamsIn | : Pointer to the structure containing dimensional information of input buffer |
| [out] | bufParamsOut | : Pointer to the structure containing dimensional information of ouput buffer |
| [in] | pKerInitArgs | : Pointer to the structure holding init parameters |
Definition at line 53 of file DSPLIB_sqrAdd_ci.cpp.
| DSPLIB_STATUS DSPLIB_sqrAdd_exec_ci | ( | DSPLIB_kernelHandle | handle, |
| void *restrict | pIn, | ||
| void *restrict | pOut | ||
| ) |
This function is the main execution function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_sqrAdd_exec.
The function uses MMA hardware accelerator to perform the convolution computation. Filter data is loaded into B panel of the MMA from memory using one streaming engine, while the input data is loaded into A vectors of the MMA using the other streaming engine. Result of the compute from MMA C panel is stored into memory using a stream sqrAddress generator.
| [in] | handle | : Active handle to the kernel |
| [in] | pIn | : Pointer to buffer holding the input data |
| [out] | pOut | : Pointer to buffer holding the output data |
Definition at line 264 of file DSPLIB_sqrAdd_ci.cpp.
| DSPLIB_STATUS DSPLIB_sqrAddInt_exec_ci | ( | DSPLIB_kernelHandle | handle, |
| void *restrict | pIn, | ||
| void *restrict | pOut | ||
| ) |
This function is the main execution function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_sqrAdd_exec.
The function uses MMA hardware accelerator to perform the convolution computation. Filter data is loaded into B panel of the MMA from memory using one streaming engine, while the input data is loaded into A vectors of the MMA using the other streaming engine. Result of the compute from MMA C panel is stored into memory using a stream sqrAddress generator.
| [in] | pIn | : Pointer to buffer holding the input data |
| [out] | pOut | : Pointer to buffer holding the output data |
| DSPLIB_STATUS DSPLIB_sqrAdd_exec_cn | ( | DSPLIB_kernelHandle | handle, |
| void *restrict | pIn, | ||
| void *restrict | pOut | ||
| ) |
This function is the main execution function for the natural C implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_sqrAdd_exec.
| [in] | handle | : Active handle to the kernel |
| [in] | pIn | : Pointer to buffer holding the input data |
| [in] | pFilterCoeff | Pointer to buffer holding the filter coefficient data |
| [in] | pFilterVar | : Pointer to buffer holding the filter variable data |
| [out] | pOut | : Pointer to buffer holding the output data |
Definition at line 38 of file DSPLIB_sqrAdd_cn.cpp.
| DSPLIB_STATUS DSPLIB_sqrAdd_init_cn | ( | DSPLIB_kernelHandle | handle, |
| DSPLIB_bufParams2D_t * | bufParamsIn, | ||
| DSPLIB_bufParams2D_t * | bufParamsOut | ||
| ) |
This function is the initialization function for the natural C implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_sqrAdd_init.
| [in] | handle | : Active handle to the kernel |
| [in] | bufParamsIn | : Pointer to the structure containing dimensional information of input buffer |
| [out] | bufParamsOut | : Pointer to the structure containing dimensional information of ouput buffer |
| [in] | pKerInitArgs | : Pointer to the structure holding init parameters |