|
| 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<> |
| DSPLIB_STATUS | DSPLIB_sqrAdd_init_ci< int8_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_sqrAdd_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_sqrAdd_init_ci< int16_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_sqrAdd_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_sqrAdd_init_ci< uint16_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_sqrAdd_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_sqrAdd_init_ci< int32_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_sqrAdd_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_sqrAdd_init_ci< uint32_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_sqrAdd_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_sqrAdd_init_ci< uint8_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_sqrAdd_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_sqrAdd_init_ci< float > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_sqrAdd_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_sqrAdd_init_ci< double > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_sqrAdd_InitArgs *pKerInitArgs) |
| |
| static float | DSPLIB_horiAdd (c7x::float_vec vector) |
| |
| static double | DSPLIB_horiAdd (c7x::double_vec vector) |
| |
| 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<> |
| DSPLIB_STATUS | DSPLIB_sqrAdd_exec_ci< int8_t > (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
| |
| template<> |
| DSPLIB_STATUS | DSPLIB_sqrAdd_exec_ci< uint8_t > (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
| |
| template<> |
| DSPLIB_STATUS | DSPLIB_sqrAdd_exec_ci< int16_t > (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
| |
| template<> |
| DSPLIB_STATUS | DSPLIB_sqrAdd_exec_ci< uint16_t > (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
| |
| template<> |
| DSPLIB_STATUS | DSPLIB_sqrAdd_exec_ci< int32_t > (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
| |
| template<> |
| DSPLIB_STATUS | DSPLIB_sqrAdd_exec_ci< uint32_t > (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
| |
| template DSPLIB_STATUS | DSPLIB_sqrAdd_exec_ci< float > (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
| |
| template DSPLIB_STATUS | DSPLIB_sqrAdd_exec_ci< double > (DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pOut) |
| |
template<typename dataType >
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.
- Parameters
-
| [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 |
- Returns
- Status value indicating success or failure. Refer to DSPLIB_STATUS.
Definition at line 53 of file DSPLIB_sqrAdd_ci.cpp.
template<typename dataType >
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.
- Parameters
-
| [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 |
- Returns
- Status value indicating success or failure. Refer to DSPLIB_STATUS.
- Performance Considerations:
- For best performance,
- the input and output data buffers are expected to be in L2 memory
- the buffer pointers are assumed to be 64-byte aligned
Definition at line 266 of file DSPLIB_sqrAdd_ci.cpp.