DSPLIB User Guide
DSPLIB_matMul_generic_size_ci.cpp File Reference

Go to the source code of this file.

Macros

#define SE_PARAM_BASE   (0x0000)
 
#define SE0_PARAM_OFFSET   (SE_PARAM_BASE)
 
#define SE1_PARAM_OFFSET   (SE0_PARAM_OFFSET + SE_PARAM_SIZE)
 
#define SA0_PARAM_OFFSET   (SE1_PARAM_OFFSET + SE_PARAM_SIZE)
 
#define SA1_PARAM_OFFSET   (SA0_PARAM_OFFSET + SE_PARAM_SIZE)
 
#define SA2_PARAM_OFFSET   (SA1_PARAM_OFFSET + SE_PARAM_SIZE)
 
#define DSPLIB_MATMUL_DOUBLE_UNROLL_FACTOR   (8)
 
#define DSPLIB_MATMUL_SE_DOUBLE_UNROLL_FACTOR   (4)
 
#define DSPLIB_MATMUL_FLOAT_UNROLL_FACTOR   (16)
 
#define DSPLIB_MATMUL_SE_FLOAT_UNROLL_FACTOR   (8)
 

Functions

template<typename dataType >
void setUnrollFactors (int32_t *unrollFactor, int32_t *seUnrollFactor)
 
template<>
void setUnrollFactors< float > (int32_t *unrollFactor, int32_t *seUnrollFactor)
 
template<>
void setUnrollFactors< double > (int32_t *unrollFactor, int32_t *seUnrollFactor)
 
template<typename dataType >
DSPLIB_STATUS DSPLIB_matMul_generic_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_generic_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_generic_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 , uint32_t id>
static vec loadAMatSA (__vpred tmp, void *pIn)
 
template<typename T , typename vec >
static void writeOutSA1 (__vpred tmp, vec *addr, T pOut, vec out)
 
template<typename dataType >
DSPLIB_STATUS DSPLIB_matMul_generic_core_ci (DSPLIB_kernelHandle handle, void *restrict pIn0, void *restrict pIn1, void *restrict pOut)
 
template<>
DSPLIB_STATUS DSPLIB_matMul_generic_core_ci< double > (DSPLIB_kernelHandle handle, void *restrict pIn0, void *restrict pIn1, void *restrict pOut)
 
template<>
DSPLIB_STATUS DSPLIB_matMul_generic_core_ci< float > (DSPLIB_kernelHandle handle, void *restrict pIn0, void *restrict pIn1, void *restrict pOut)
 
template<typename dataType >
DSPLIB_STATUS DSPLIB_matMul_generic_exec_ci (DSPLIB_kernelHandle handle, void *restrict pIn0, void *restrict pIn1, void *restrict pOut)
 
template DSPLIB_STATUS DSPLIB_matMul_generic_exec_ci< float > (DSPLIB_kernelHandle handle, void *restrict pIn0, void *restrict pIn1, void *restrict pOut)
 
template DSPLIB_STATUS DSPLIB_matMul_generic_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 52 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ SE0_PARAM_OFFSET

#define SE0_PARAM_OFFSET   (SE_PARAM_BASE)

Definition at line 53 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ SE1_PARAM_OFFSET

#define SE1_PARAM_OFFSET   (SE0_PARAM_OFFSET + SE_PARAM_SIZE)

Definition at line 54 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ SA0_PARAM_OFFSET

#define SA0_PARAM_OFFSET   (SE1_PARAM_OFFSET + SE_PARAM_SIZE)

Definition at line 55 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ SA1_PARAM_OFFSET

#define SA1_PARAM_OFFSET   (SA0_PARAM_OFFSET + SE_PARAM_SIZE)

Definition at line 56 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ SA2_PARAM_OFFSET

#define SA2_PARAM_OFFSET   (SA1_PARAM_OFFSET + SE_PARAM_SIZE)

Definition at line 57 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ DSPLIB_MATMUL_DOUBLE_UNROLL_FACTOR

#define DSPLIB_MATMUL_DOUBLE_UNROLL_FACTOR   (8)

Definition at line 59 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ DSPLIB_MATMUL_SE_DOUBLE_UNROLL_FACTOR

#define DSPLIB_MATMUL_SE_DOUBLE_UNROLL_FACTOR   (4)

Definition at line 60 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ DSPLIB_MATMUL_FLOAT_UNROLL_FACTOR

#define DSPLIB_MATMUL_FLOAT_UNROLL_FACTOR   (16)

Definition at line 62 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ DSPLIB_MATMUL_SE_FLOAT_UNROLL_FACTOR

#define DSPLIB_MATMUL_SE_FLOAT_UNROLL_FACTOR   (8)

Definition at line 63 of file DSPLIB_matMul_generic_size_ci.cpp.

Function Documentation

◆ setUnrollFactors()

template<typename dataType >
void setUnrollFactors ( int32_t *  unrollFactor,
int32_t *  seUnrollFactor 
)
inline

◆ setUnrollFactors< float >()

template<>
void setUnrollFactors< float > ( int32_t *  unrollFactor,
int32_t *  seUnrollFactor 
)
inline

Definition at line 67 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ setUnrollFactors< double >()

template<>
void setUnrollFactors< double > ( int32_t *  unrollFactor,
int32_t *  seUnrollFactor 
)
inline

Definition at line 72 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ DSPLIB_matMul_generic_init_ci()

template<typename dataType >
DSPLIB_STATUS DSPLIB_matMul_generic_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 79 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ DSPLIB_matMul_generic_init_ci< float >()

template DSPLIB_STATUS DSPLIB_matMul_generic_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_generic_init_ci< double >()

template DSPLIB_STATUS DSPLIB_matMul_generic_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 
)

◆ loadAMatSA()

template<typename T , typename vec , uint32_t id>
static vec loadAMatSA ( __vpred  tmp,
void *  pIn 
)
inlinestatic

Definition at line 254 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ writeOutSA1()

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

Definition at line 267 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ DSPLIB_matMul_generic_core_ci()

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

◆ DSPLIB_matMul_generic_core_ci< double >()

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

Definition at line 284 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ DSPLIB_matMul_generic_core_ci< float >()

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

Definition at line 494 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ DSPLIB_matMul_generic_exec_ci()

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

Definition at line 826 of file DSPLIB_matMul_generic_size_ci.cpp.

◆ DSPLIB_matMul_generic_exec_ci< float >()

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

◆ DSPLIB_matMul_generic_exec_ci< double >()

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