Auto Tiler Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
BasicKernelTemplate

Functions

void LibKernelTemplate (char *TemplateName, CKernel_Arg_T **CArgs)
 Adds a new basic kernel type template. More...
 
CKernel_Arg_T ** KerTypeTemplate (char *TemplateName)
 Returns Template type for TemplateName. More...
 
void LibKernel (char *KernelName, KernelCallTypeT CallType, CKernel_Arg_T **CArgs, char *ParArgTypeName, CNN_LayerOp_T *CNN_Match)
 Adds a new basic kernel template. More...
 
KernelLib_TKerLibMatch (KernelOper_T KerOper1, KernelOper_T KerOper2, int ParallelFeatures, int I1_Type, int I2_Type, int I3_Type, int I4_Type, int O_Type, int Fx, int Fy, int Dx, int Dy, int Sx, int Sy)
 Find best mapping for the group KerOper1,KerOper2 in the existing Kernel library. More...
 

Description

Functions in this group should be used to add basic kernels templates

Function Documentation

KernelLib_T* KerLibMatch ( KernelOper_T  KerOper1,
KernelOper_T  KerOper2,
int  ParallelFeatures,
int  I1_Type,
int  I2_Type,
int  I3_Type,
int  I4_Type,
int  O_Type,
int  Fx,
int  Fy,
int  Dx,
int  Dy,
int  Sx,
int  Sy 
)

Find best mapping for the group KerOper1,KerOper2 in the existing Kernel library

Parameters
KerOper1Symbolic operation
KerOper2Optional symbolic operation grouped with KerOper1
ParallelFeaturesIf 0 one feature is evaluated by several cores, if not each core evaluates a different feature
I1_TypeInput1 data size in bytes or 0 if to be ignored
I2_TypeInput2 data size in bytes or 0 if to be ignored
I3_TypeInput3 data size in bytes or 0 if to be ignored
I4_TypeInput4 data size in bytes or 0 if to be ignored
O_TypeOutput data size in bytes or 0 if to be ignored
FxFilter X dimension
FyFilter Y dimension
DxFilter dilation in X dimension
DyFilter dilation in Y dimension
SxFilter stride in X dimension
SyFilter stride in Y dimension
CKernel_Arg_T** KerTypeTemplate ( char *  TemplateName)

Returns Template type for TemplateName

Parameters
TemplateNameThe template name
void LibKernel ( char *  KernelName,
KernelCallTypeT  CallType,
CKernel_Arg_T **  CArgs,
char *  ParArgTypeName,
CNN_LayerOp_T CNN_Match 
)

Adds a new basic kernel template

Parameters
KernelNameThe basic kernel name
CallTypeSequential or Parallel
CArgsList of C typed arguments provided by CArgs()
ParArgTypeNamestruct typedef name to group arguments in a single struct for parallel calls
CNN_MatchMatching CNN kernels
void LibKernelTemplate ( char *  TemplateName,
CKernel_Arg_T **  CArgs 
)

Adds a new basic kernel template

Parameters
TemplateNameThe template name
CArgsList of C typed arguments provided by CArgs()