DSPLIB User Guide
DSPLIB_w_vec_ci.cpp File Reference

Go to the source code of this file.

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)
 

Functions

template<typename dataType >
DSPLIB_STATUS DSPLIB_w_vec_init_ci (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_w_vec_InitArgs *pKerInitArgs)
 This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_w_vec_init. More...
 
template DSPLIB_STATUS DSPLIB_w_vec_init_ci< int16_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_w_vec_InitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_w_vec_init_ci< uint16_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_w_vec_InitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_w_vec_init_ci< int32_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_w_vec_InitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_w_vec_init_ci< uint32_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_w_vec_InitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_w_vec_init_ci< int8_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_w_vec_InitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_w_vec_init_ci< uint8_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_w_vec_InitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_w_vec_init_ci< float > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_w_vec_InitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_w_vec_init_ci< double > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams1D_t *bufParamsIn, const DSPLIB_bufParams1D_t *bufParamsOut, const DSPLIB_w_vec_InitArgs *pKerInitArgs)
 
template<typename dataType >
DSPLIB_STATUS DSPLIB_w_vec_exec_ci (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pM, 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_w_vec_exec. More...
 
template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< float > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pM, void *restrict pOut)
 
template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< double > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pM, void *restrict pOut)
 
template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< int8_t > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pM, void *restrict pOut)
 
template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< uint8_t > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pM, void *restrict pOut)
 
template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< int16_t > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pM, void *restrict pOut)
 
template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< uint16_t > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pM, void *restrict pOut)
 
template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< int32_t > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pM, void *restrict pOut)
 
template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< uint32_t > (DSPLIB_kernelHandle handle, void *restrict pIn1, void *restrict pIn2, void *restrict pM, void *restrict pOut)
 

Macro Definition Documentation

◆ SE_PARAM_BASE

#define SE_PARAM_BASE   (0x0000)

Definition at line 53 of file DSPLIB_w_vec_ci.cpp.

◆ SE_SE0_PARAM_OFFSET

#define SE_SE0_PARAM_OFFSET   (SE_PARAM_BASE)

Definition at line 54 of file DSPLIB_w_vec_ci.cpp.

◆ SE_SE1_PARAM_OFFSET

#define SE_SE1_PARAM_OFFSET   (SE_SE0_PARAM_OFFSET + SE_PARAM_SIZE)

Definition at line 55 of file DSPLIB_w_vec_ci.cpp.

◆ SE_SA0_PARAM_OFFSET

#define SE_SA0_PARAM_OFFSET   (SE_SE1_PARAM_OFFSET + SE_PARAM_SIZE)

Definition at line 56 of file DSPLIB_w_vec_ci.cpp.

Function Documentation

◆ DSPLIB_w_vec_init_ci()

template<typename dataType >
DSPLIB_STATUS DSPLIB_w_vec_init_ci ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams1D_t bufParamsIn,
const DSPLIB_bufParams1D_t bufParamsOut,
const DSPLIB_w_vec_InitArgs pKerInitArgs 
)

This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_w_vec_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_w_vec_v_exec_ci or DSPLIB_w_vec_s_exec_ci would be called later independently by the application. When DSPLIB_w_vec_v_exec_ci/ DSPLIB_w_vec_s_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 the exec functions do 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 59 of file DSPLIB_w_vec_ci.cpp.

◆ DSPLIB_w_vec_init_ci< int16_t >()

template DSPLIB_STATUS DSPLIB_w_vec_init_ci< int16_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams1D_t bufParamsIn,
const DSPLIB_bufParams1D_t bufParamsOut,
const DSPLIB_w_vec_InitArgs pKerInitArgs 
)

◆ DSPLIB_w_vec_init_ci< uint16_t >()

template DSPLIB_STATUS DSPLIB_w_vec_init_ci< uint16_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams1D_t bufParamsIn,
const DSPLIB_bufParams1D_t bufParamsOut,
const DSPLIB_w_vec_InitArgs pKerInitArgs 
)

◆ DSPLIB_w_vec_init_ci< int32_t >()

template DSPLIB_STATUS DSPLIB_w_vec_init_ci< int32_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams1D_t bufParamsIn,
const DSPLIB_bufParams1D_t bufParamsOut,
const DSPLIB_w_vec_InitArgs pKerInitArgs 
)

◆ DSPLIB_w_vec_init_ci< uint32_t >()

template DSPLIB_STATUS DSPLIB_w_vec_init_ci< uint32_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams1D_t bufParamsIn,
const DSPLIB_bufParams1D_t bufParamsOut,
const DSPLIB_w_vec_InitArgs pKerInitArgs 
)

◆ DSPLIB_w_vec_init_ci< int8_t >()

template DSPLIB_STATUS DSPLIB_w_vec_init_ci< int8_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams1D_t bufParamsIn,
const DSPLIB_bufParams1D_t bufParamsOut,
const DSPLIB_w_vec_InitArgs pKerInitArgs 
)

◆ DSPLIB_w_vec_init_ci< uint8_t >()

template DSPLIB_STATUS DSPLIB_w_vec_init_ci< uint8_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams1D_t bufParamsIn,
const DSPLIB_bufParams1D_t bufParamsOut,
const DSPLIB_w_vec_InitArgs pKerInitArgs 
)

◆ DSPLIB_w_vec_init_ci< float >()

template DSPLIB_STATUS DSPLIB_w_vec_init_ci< float > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams1D_t bufParamsIn,
const DSPLIB_bufParams1D_t bufParamsOut,
const DSPLIB_w_vec_InitArgs pKerInitArgs 
)

◆ DSPLIB_w_vec_init_ci< double >()

template DSPLIB_STATUS DSPLIB_w_vec_init_ci< double > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams1D_t bufParamsIn,
const DSPLIB_bufParams1D_t bufParamsOut,
const DSPLIB_w_vec_InitArgs pKerInitArgs 
)

◆ DSPLIB_w_vec_exec_ci()

template<typename dataType >
DSPLIB_STATUS DSPLIB_w_vec_exec_ci ( DSPLIB_kernelHandle  handle,
void *restrict  pIn1,
void *restrict  pIn2,
void *restrict  pM,
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_w_vec_exec.

TBD

Parameters
[in]handle: Active handle to the kernel
[in]pIn1: Pointer to buffer holding the input data 1
[in]pIn2: Pointer to buffer holding input data 2
[in]pM: Pointer to buffer holding weight factor
[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 211 of file DSPLIB_w_vec_ci.cpp.

◆ DSPLIB_w_vec_exec_ci< float >()

template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< float > ( DSPLIB_kernelHandle  handle,
void *restrict  pIn1,
void *restrict  pIn2,
void *restrict  pM,
void *restrict  pOut 
)

◆ DSPLIB_w_vec_exec_ci< double >()

template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< double > ( DSPLIB_kernelHandle  handle,
void *restrict  pIn1,
void *restrict  pIn2,
void *restrict  pM,
void *restrict  pOut 
)

◆ DSPLIB_w_vec_exec_ci< int8_t >()

template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< int8_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pIn1,
void *restrict  pIn2,
void *restrict  pM,
void *restrict  pOut 
)

◆ DSPLIB_w_vec_exec_ci< uint8_t >()

template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< uint8_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pIn1,
void *restrict  pIn2,
void *restrict  pM,
void *restrict  pOut 
)

◆ DSPLIB_w_vec_exec_ci< int16_t >()

template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< int16_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pIn1,
void *restrict  pIn2,
void *restrict  pM,
void *restrict  pOut 
)

◆ DSPLIB_w_vec_exec_ci< uint16_t >()

template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< uint16_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pIn1,
void *restrict  pIn2,
void *restrict  pM,
void *restrict  pOut 
)

◆ DSPLIB_w_vec_exec_ci< int32_t >()

template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< int32_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pIn1,
void *restrict  pIn2,
void *restrict  pM,
void *restrict  pOut 
)

◆ DSPLIB_w_vec_exec_ci< uint32_t >()

template DSPLIB_STATUS DSPLIB_w_vec_exec_ci< uint32_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pIn1,
void *restrict  pIn2,
void *restrict  pM,
void *restrict  pOut 
)