DSPLIB User Guide
DSPLIB_mat_submat_copy_ci.cpp File Reference

Go to the source code of this file.

Functions

template<typename dataType >
DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsY, const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs)
 This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_mat_submat_copy_init. More...
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< int8_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsY, const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< uint8_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsY, const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< int16_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsY, const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< uint16_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsY, const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< int32_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsY, const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< uint32_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsY, const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< uint64_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsY, const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< int64_t > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsY, const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< float > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsY, const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< double > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsX, const DSPLIB_bufParams2D_t *bufParamsY, const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs)
 
template<typename dataType >
DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci (DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
 This function is the main execution function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_mat_submat_copy_exec. More...
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< int8_t > (DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< uint8_t > (DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< int16_t > (DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< uint16_t > (DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< int32_t > (DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< uint32_t > (DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< uint64_t > (DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< int64_t > (DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< float > (DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
 
template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< double > (DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
 

Function Documentation

◆ DSPLIB_mat_submat_copy_init_ci()

template<typename dataType >
DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsX,
const DSPLIB_bufParams2D_t bufParamsY,
const DSPLIB_mat_submat_copyInitArgs pKerInitArgs 
)

This function is the initialization function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_mat_submat_copy_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_mat_submat_copy_exec_ci would be called later independently by the application. When DSPLIB_mat_submat_copy_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_mat_submat_copy_exec_ci does not lose cycles to determine the hardware configuration.

Parameters
[in]handle: Active handle to the kernel
[in]bufParamsX: Pointer to the structure containing dimensional information of input buffer
[out]bufParamsY: 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 45 of file DSPLIB_mat_submat_copy_ci.cpp.

◆ DSPLIB_mat_submat_copy_init_ci< int8_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< int8_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsX,
const DSPLIB_bufParams2D_t bufParamsY,
const DSPLIB_mat_submat_copyInitArgs pKerInitArgs 
)

◆ DSPLIB_mat_submat_copy_init_ci< uint8_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< uint8_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsX,
const DSPLIB_bufParams2D_t bufParamsY,
const DSPLIB_mat_submat_copyInitArgs pKerInitArgs 
)

◆ DSPLIB_mat_submat_copy_init_ci< int16_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< int16_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsX,
const DSPLIB_bufParams2D_t bufParamsY,
const DSPLIB_mat_submat_copyInitArgs pKerInitArgs 
)

◆ DSPLIB_mat_submat_copy_init_ci< uint16_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< uint16_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsX,
const DSPLIB_bufParams2D_t bufParamsY,
const DSPLIB_mat_submat_copyInitArgs pKerInitArgs 
)

◆ DSPLIB_mat_submat_copy_init_ci< int32_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< int32_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsX,
const DSPLIB_bufParams2D_t bufParamsY,
const DSPLIB_mat_submat_copyInitArgs pKerInitArgs 
)

◆ DSPLIB_mat_submat_copy_init_ci< uint32_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< uint32_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsX,
const DSPLIB_bufParams2D_t bufParamsY,
const DSPLIB_mat_submat_copyInitArgs pKerInitArgs 
)

◆ DSPLIB_mat_submat_copy_init_ci< uint64_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< uint64_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsX,
const DSPLIB_bufParams2D_t bufParamsY,
const DSPLIB_mat_submat_copyInitArgs pKerInitArgs 
)

◆ DSPLIB_mat_submat_copy_init_ci< int64_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< int64_t > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsX,
const DSPLIB_bufParams2D_t bufParamsY,
const DSPLIB_mat_submat_copyInitArgs pKerInitArgs 
)

◆ DSPLIB_mat_submat_copy_init_ci< float >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< float > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsX,
const DSPLIB_bufParams2D_t bufParamsY,
const DSPLIB_mat_submat_copyInitArgs pKerInitArgs 
)

◆ DSPLIB_mat_submat_copy_init_ci< double >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_init_ci< double > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsX,
const DSPLIB_bufParams2D_t bufParamsY,
const DSPLIB_mat_submat_copyInitArgs pKerInitArgs 
)

◆ DSPLIB_mat_submat_copy_exec_ci()

template<typename dataType >
DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci ( DSPLIB_kernelHandle  handle,
void *restrict  pX,
void *restrict  pY 
)

This function is the main execution function for the C7x implementation of the kernel. The function declaration conforms to the declaration of DSPLIB_mat_submat_copy_exec.

The function uses streaming engine to load data in TRANSPOSE MODE. The result is then stored at separate location using a streaming address generator.

Parameters
[in]handle: Active handle to the kernel
[in]pX: Pointer to buffer holding the X matrix
[out]pY: Pointer to buffer holding the Y matrix
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 180 of file DSPLIB_mat_submat_copy_ci.cpp.

◆ DSPLIB_mat_submat_copy_exec_ci< int8_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< int8_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pX,
void *restrict  pY 
)

◆ DSPLIB_mat_submat_copy_exec_ci< uint8_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< uint8_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pX,
void *restrict  pY 
)

◆ DSPLIB_mat_submat_copy_exec_ci< int16_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< int16_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pX,
void *restrict  pY 
)

◆ DSPLIB_mat_submat_copy_exec_ci< uint16_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< uint16_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pX,
void *restrict  pY 
)

◆ DSPLIB_mat_submat_copy_exec_ci< int32_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< int32_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pX,
void *restrict  pY 
)

◆ DSPLIB_mat_submat_copy_exec_ci< uint32_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< uint32_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pX,
void *restrict  pY 
)

◆ DSPLIB_mat_submat_copy_exec_ci< uint64_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< uint64_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pX,
void *restrict  pY 
)

◆ DSPLIB_mat_submat_copy_exec_ci< int64_t >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< int64_t > ( DSPLIB_kernelHandle  handle,
void *restrict  pX,
void *restrict  pY 
)

◆ DSPLIB_mat_submat_copy_exec_ci< float >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< float > ( DSPLIB_kernelHandle  handle,
void *restrict  pX,
void *restrict  pY 
)

◆ DSPLIB_mat_submat_copy_exec_ci< double >()

template DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci< double > ( DSPLIB_kernelHandle  handle,
void *restrict  pX,
void *restrict  pY 
)