|
| template<typename dataType > |
| DSPLIB_STATUS | DSPLIB_dotp_sqr_init_ci (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_dotp_sqr_InitArgs *pKerInitArgs) |
| | This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_dotp_sqr_init. More...
|
| |
| template<> |
| DSPLIB_STATUS | DSPLIB_dotp_sqr_init_ci< int8_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_dotp_sqr_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_dotp_sqr_init_ci< int16_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_dotp_sqr_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_dotp_sqr_init_ci< uint16_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_dotp_sqr_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_dotp_sqr_init_ci< int32_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_dotp_sqr_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_dotp_sqr_init_ci< uint32_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_dotp_sqr_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_dotp_sqr_init_ci< uint8_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_dotp_sqr_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_dotp_sqr_init_ci< float > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_dotp_sqr_InitArgs *pKerInitArgs) |
| |
| template DSPLIB_STATUS | DSPLIB_dotp_sqr_init_ci< double > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_dotp_sqr_InitArgs *pKerInitArgs) |
| |
| static float | DSPLIB_horiAdd (c7x::float_vec vector) |
| |
| static double | DSPLIB_horiAdd (c7x::double_vec vector) |
| |
| template<typename dataType > |
| DSPLIB_STATUS | DSPLIB_dotp_sqr_exec_ci (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, 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_dotp_sqr_exec. More...
|
| |
| template<> |
| DSPLIB_STATUS | DSPLIB_dotp_sqr_exec_ci< int8_t > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pOut) |
| |
| template<> |
| DSPLIB_STATUS | DSPLIB_dotp_sqr_exec_ci< uint8_t > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pOut) |
| |
| template<> |
| DSPLIB_STATUS | DSPLIB_dotp_sqr_exec_ci< int16_t > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pOut) |
| |
| template<> |
| DSPLIB_STATUS | DSPLIB_dotp_sqr_exec_ci< uint16_t > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pOut) |
| |
| template<> |
| DSPLIB_STATUS | DSPLIB_dotp_sqr_exec_ci< int32_t > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pOut) |
| |
| template<> |
| DSPLIB_STATUS | DSPLIB_dotp_sqr_exec_ci< uint32_t > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pOut) |
| |
| template DSPLIB_STATUS | DSPLIB_dotp_sqr_exec_ci< float > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pOut) |
| |
| template DSPLIB_STATUS | DSPLIB_dotp_sqr_exec_ci< double > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, 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_dotp_sqr_init.
This function determines the configuration for the streaming engine and MMA hardware resources based on the function call parameters, and the configuration is saved in bufPBlock array. In the kernel call sequence, DSPLIB_dotp_sqr_exec_ci would be called later independently by the application. When DSPLIB_dotp_sqr_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_dotp_sqr_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 62 of file DSPLIB_dotp_sqr_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_dotp_sqr_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 address 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 229 of file DSPLIB_dotp_sqr_ci.cpp.