44 template <
typename dataType,
typename accumulateType, u
int32_t MMA_SIZE>
47 const void *restrict pX,
48 const void *restrict pW,
53 accumulateType yProd, yTemp;
54 const dataType *pXLocal = (
const dataType *)pX;
55 const dataType *pWLocal = (
const dataType *)pW;
56 dataType *pYLocal = (dataType *)pY;
63 for (l = 0; l < batchSize; l++) {
64 for (j = 0; j < fftSize*2; j++) {
66 for (k = 0; k < fftSize*2; k++) {
68 yTemp = yTemp + yProd;
70 pYLocal[l*fftSize*2+j] = FFTLIB_UTIL_shiftAndRound<accumulateType, dataType>(yTemp,
81 const void *restrict pX,
82 const void *restrict pW,
88 const void *restrict pX,
89 const void *restrict pW,
FFTLIB_STATUS FFTLIB_FFT_dftSmall_ixX_cxX_oxX_init_cn(FFTLIB_kernelHandle handle, FFTLIB_bufParams1D_t *bufParamsX, FFTLIB_bufParams1D_t *bufParamsW, FFTLIB_bufParams1D_t *bufParamsY, FFTLIB_FFT_dftSmall_ixX_cxX_oxX_InitArgs *pKerInitArgs)
This function is the initialization function for the natural C implementation of the kernel....
template FFTLIB_STATUS FFTLIB_FFT_dftSmall_ixX_cxX_oxX_exec_cn< int32_t, FFTLIB_int128_t, FFTLIB_MMA_SIZE_32_BIT >(FFTLIB_kernelHandle handle, const void *restrict pX, const void *restrict pW, void *restrict pY)
FFTLIB_STATUS FFTLIB_FFT_dftSmall_ixX_cxX_oxX_exec_cn(FFTLIB_kernelHandle handle, const void *restrict pX, const void *restrict pW, void *restrict pY)
This function is the main execution function for the natural C implementation of the kernel....
template FFTLIB_STATUS FFTLIB_FFT_dftSmall_ixX_cxX_oxX_exec_cn< int16_t, int64_t, FFTLIB_MMA_SIZE_16_BIT >(FFTLIB_kernelHandle handle, const void *restrict pX, const void *restrict pW, void *restrict pY)
Header file for kernel's internal use. For the kernel's interface, please see FFTLIB_FFT_dftSmall_ixX...
void * FFTLIB_kernelHandle
Handle type for FFTLIB operations.
FFTLIB_STATUS_NAME
The enumeration of all status codes.
static void FFTLIB_UTIL_mult(int64_t *ph, int64_t *pl, int64_t a, int64_t b)
Structure containing the parameters for DFT computation.
uint32_t shiftVector[FFTLIB_FFT_DFTSMALL_IXX_CXX_OXX_NUMSHIFTS]
Array containing the bit-shift values to be used for internal computation.
uint32_t fftSize
Size of each channel's data in terms of number of complex points.
uint32_t batchSize
Size of the batch in terms of number of channels of DFT's
Structure that is reserved for internal use by the kernel.
FFTLIB_FFT_dftSmall_ixX_cxX_oxX_InitArgs initArgs
Structure holding initialization parameters
A structure for a 1 dimensional buffer descriptor.