DSPLIB User Guide
DSPLIB_matMul_N_unroll_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_BASE)
 
#define SE_SA0_PARAM_OFFSET   (SE_SE1_PARAM_OFFSET + SE_PARAM_SIZE)
 
#define SE_SA1_PARAM_OFFSET   (SE_SA0_PARAM_OFFSET + SE_PARAM_SIZE)
 
#define DSPLIB_MATMUL_UNROLL_FACTOR   (16)
 
#define DSPLIB_MATMUL_SE_UNROLL_FACTOR   (8)
 

Functions

template<typename dataType >
DSPLIB_STATUS DSPLIB_matMul_N_unroll_init_ci (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsIn0, const DSPLIB_bufParams2D_t *bufParamsIn1, const DSPLIB_bufParams2D_t *bufParamsOut, const DSPLIB_matMul_InitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_matMul_N_unroll_init_ci< float > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsIn0, const DSPLIB_bufParams2D_t *bufParamsIn1, const DSPLIB_bufParams2D_t *bufParamsOut, const DSPLIB_matMul_InitArgs *pKerInitArgs)
 
template DSPLIB_STATUS DSPLIB_matMul_N_unroll_init_ci< double > (DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsIn0, const DSPLIB_bufParams2D_t *bufParamsIn1, const DSPLIB_bufParams2D_t *bufParamsOut, const DSPLIB_matMul_InitArgs *pKerInitArgs)
 
template<typename T , typename vec >
static void writeOutSA1 (__vpred tmp, vec *addr, T pOut, vec out)
 
template<typename dataType >
DSPLIB_STATUS DSPLIB_matMul_N_unroll_exec_ci (DSPLIB_kernelHandle handle, void *restrict pIn0, void *restrict pIn1, void *restrict pOut)
 
template DSPLIB_STATUS DSPLIB_matMul_N_unroll_exec_ci< float > (DSPLIB_kernelHandle handle, void *restrict pIn0, void *restrict pIn1, void *restrict pOut)
 
template DSPLIB_STATUS DSPLIB_matMul_N_unroll_exec_ci< double > (DSPLIB_kernelHandle handle, void *restrict pIn0, void *restrict pIn1, void *restrict pOut)
 

Macro Definition Documentation

◆ SE_PARAM_BASE

#define SE_PARAM_BASE   (0x0000)

Definition at line 50 of file DSPLIB_matMul_N_unroll_ci.cpp.

◆ SE_SE0_PARAM_OFFSET

#define SE_SE0_PARAM_OFFSET   (SE_PARAM_BASE)

Definition at line 51 of file DSPLIB_matMul_N_unroll_ci.cpp.

◆ SE_SE1_PARAM_OFFSET

#define SE_SE1_PARAM_OFFSET   (SE_SE0_PARAM_OFFSET + SE_PARAM_BASE)

Definition at line 52 of file DSPLIB_matMul_N_unroll_ci.cpp.

◆ SE_SA0_PARAM_OFFSET

#define SE_SA0_PARAM_OFFSET   (SE_SE1_PARAM_OFFSET + SE_PARAM_SIZE)

Definition at line 53 of file DSPLIB_matMul_N_unroll_ci.cpp.

◆ SE_SA1_PARAM_OFFSET

#define SE_SA1_PARAM_OFFSET   (SE_SA0_PARAM_OFFSET + SE_PARAM_SIZE)

Definition at line 54 of file DSPLIB_matMul_N_unroll_ci.cpp.

◆ DSPLIB_MATMUL_UNROLL_FACTOR

#define DSPLIB_MATMUL_UNROLL_FACTOR   (16)

Definition at line 56 of file DSPLIB_matMul_N_unroll_ci.cpp.

◆ DSPLIB_MATMUL_SE_UNROLL_FACTOR

#define DSPLIB_MATMUL_SE_UNROLL_FACTOR   (8)

Definition at line 57 of file DSPLIB_matMul_N_unroll_ci.cpp.

Function Documentation

◆ DSPLIB_matMul_N_unroll_init_ci()

template<typename dataType >
DSPLIB_STATUS DSPLIB_matMul_N_unroll_init_ci ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsIn0,
const DSPLIB_bufParams2D_t bufParamsIn1,
const DSPLIB_bufParams2D_t bufParamsOut,
const DSPLIB_matMul_InitArgs pKerInitArgs 
)

Definition at line 60 of file DSPLIB_matMul_N_unroll_ci.cpp.

◆ DSPLIB_matMul_N_unroll_init_ci< float >()

template DSPLIB_STATUS DSPLIB_matMul_N_unroll_init_ci< float > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsIn0,
const DSPLIB_bufParams2D_t bufParamsIn1,
const DSPLIB_bufParams2D_t bufParamsOut,
const DSPLIB_matMul_InitArgs pKerInitArgs 
)

◆ DSPLIB_matMul_N_unroll_init_ci< double >()

template DSPLIB_STATUS DSPLIB_matMul_N_unroll_init_ci< double > ( DSPLIB_kernelHandle  handle,
const DSPLIB_bufParams2D_t bufParamsIn0,
const DSPLIB_bufParams2D_t bufParamsIn1,
const DSPLIB_bufParams2D_t bufParamsOut,
const DSPLIB_matMul_InitArgs pKerInitArgs 
)

◆ writeOutSA1()

template<typename T , typename vec >
static void writeOutSA1 ( __vpred  tmp,
vec *  addr,
pOut,
vec  out 
)
inlinestatic

Definition at line 165 of file DSPLIB_matMul_N_unroll_ci.cpp.

◆ DSPLIB_matMul_N_unroll_exec_ci()

template<typename dataType >
DSPLIB_STATUS DSPLIB_matMul_N_unroll_exec_ci ( DSPLIB_kernelHandle  handle,
void *restrict  pIn0,
void *restrict  pIn1,
void *restrict  pOut 
)

Definition at line 175 of file DSPLIB_matMul_N_unroll_ci.cpp.

◆ DSPLIB_matMul_N_unroll_exec_ci< float >()

template DSPLIB_STATUS DSPLIB_matMul_N_unroll_exec_ci< float > ( DSPLIB_kernelHandle  handle,
void *restrict  pIn0,
void *restrict  pIn1,
void *restrict  pOut 
)

◆ DSPLIB_matMul_N_unroll_exec_ci< double >()

template DSPLIB_STATUS DSPLIB_matMul_N_unroll_exec_ci< double > ( DSPLIB_kernelHandle  handle,
void *restrict  pIn0,
void *restrict  pIn1,
void *restrict  pOut 
)