DSPLIB User Guide
DSPLIB_mat_submat_copy_priv.h
Go to the documentation of this file.
1 /******************************************************************************
2  * *
3  * module name :DSPLIB *
4  * *
5  * module descripton :Digital Signal Processing Library module for C7x+MMA *
6  * *
7  * Copyright (C) 2017-2018 Texas Instruments Incorporated - https://www.ti.com/ *
8  * ALL RIGHTS RESERVED *
9  * *
10  ******************************************************************************/
11 
12 /********************************************************************************
13  * @file DSPLIB_mat_submat_copy_priv.h
14  *
15  * @brief File to hold private parameter of function DSPLIB_mat_submat_copy
16  *
17  * @version 0.1 - Jun 2023 : Initial Version
18  *
19  ********************************************************************************/
20 
21 #ifndef DSPLIB_MAT_SUBMAT_COPY_IXX_IXX_OXX_PRIV_H_
22 #define DSPLIB_MAT_SUBMAT_COPY_IXX_IXX_OXX_PRIV_H_
23 
24 #include "../common/DSPLIB_utility.h"
25 #include "DSPLIB_mat_submat_copy.h"
26 
38 #define DSPLIB_MAT_SUBMAT_COPY_IXX_IXX_OXX_PBLOCK_SIZE (4 * SE_PARAM_SIZE)
39 
46  void *restrict pX,
47  void *restrict pY);
48 
76 template <typename dataType>
78  const DSPLIB_bufParams2D_t *bufParamsX,
79  const DSPLIB_bufParams2D_t *bufParamsY,
80  const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs);
81 
103 template <typename dataType>
104 extern DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_ci(DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY);
105 
125  DSPLIB_bufParams2D_t *bufParamsX,
126  DSPLIB_bufParams2D_t *bufParamsY,
127  const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs);
128 
143 template <typename dataType>
144 extern DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_cn(DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY);
145 
149 typedef struct {
158  uint32_t widthX;
160  uint32_t heightX;
162  uint32_t strideX;
164  uint32_t strideY;
166  uint32_t dir;
168  uint32_t stRow;
170  uint32_t stCol;
172  uint32_t nRows;
174  uint32_t nCols;
178 
179 #endif /* DSPLIB_mat_submat_copy_IXX_IXX_OXX_PRIV_H_ */
180 
181 /* ======================================================================== */
182 /* End of file: DSPLIB_mat_submat_copy_priv.h */
183 /* ======================================================================== */
DSPLIB_STATUS DSPLIB_mat_submat_copy_init_cn(DSPLIB_kernelHandle handle, DSPLIB_bufParams2D_t *bufParamsX, DSPLIB_bufParams2D_t *bufParamsY, const DSPLIB_mat_submat_copyInitArgs *pKerInitArgs)
This function is the initialization function for the natural C implementation of the kernel....
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....
DSPLIB_STATUS DSPLIB_mat_submat_copy_exec_cn(DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
This function is the main execution function for the natural C implementation of the kernel....
#define DSPLIB_MAT_SUBMAT_COPY_IXX_IXX_OXX_PBLOCK_SIZE
Macro to define the size of bufPblock array of DSPLIB_mat_submat_copy_PrivArgs structure.
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....
DSPLIB_STATUS(* pFxnDSPLIB_mat_submat_copy_exec)(DSPLIB_kernelHandle handle, void *restrict pX, void *restrict pY)
This is a function pointer type that conforms to the declaration of DSPLIB_mat_submat_copy_exec_ci an...
DSPLIB_STATUS_NAME DSPLIB_STATUS
Return value for DSPLIB functions.
Definition: DSPLIB_types.h:170
DSPLIB_STATUS_NAME
The enumeration of all status codes.
Definition: DSPLIB_types.h:151
void * DSPLIB_kernelHandle
Handle type for DSPLIB operations.
Definition: DSPLIB_types.h:172
A structure for a 2 dimensional buffer descriptor.
Structure containing the parameters to initialize the kernel.
Structure that is reserved for internal use by the kernel.
uint32_t nCols
The number of cols to be copied
pFxnDSPLIB_mat_submat_copy_exec execute
Function pointer to point to the right execution variant between DSPLIB_mat_submat_copy_exec_cn and D...
uint32_t stRow
Copying starting from stRow row of matrix
uint32_t strideX
Stride between rows of input data matrix
uint32_t stCol
Copying starting from stCol col of matrix
uint32_t widthX
Size of input buffer for different batches DSPLIB_mat_submat_copy_init that will be retrieved and use...
uint32_t nRows
The number of rows to be copied
uint32_t heightX
Height of input data matrix
uint32_t strideY
Stride between rows of output data matrix