Auto Tiler Library
|
Functions | |
KernelIteratorDescrT * | IterFixedSpace (KernelIteratorT IterSpace, unsigned int Dim) |
Creates a list of ArgCount C arguments, each C argument is created by TCArg() More... | |
KernelIteratorDescrT * | IterParSpace (KernelIteratorT IterSpace, unsigned int Dim, unsigned int PrefDiv) |
Define one iteration dimension of the current kernel iteration space, dimension must not be a tiled one. Actual dimension value is provided and subject to division. More... | |
KernelIteratorDescrT * | IterTiledSpace (KernelIteratorT IterSpace) |
Define one iteration dimension of the current kernel iteration space, this dimension must be a tiled one. The autotiler will figure out the actual dimension. More... | |
KernelIterationSpaceT * | KernelIterSpace (unsigned int Dim,...) |
Define the number of iteration spaces and and how they are nested. More... | |
CKernel_Arg_T ** | AllocateCArgs (unsigned int ArgCount) |
Creates a list of ArgCount Kernel C arguments. More... | |
CKernel_Arg_T ** | CArgs (unsigned int ArgCount,...) |
Creates a list of ArgCount Kernel C arguments, then list of TCArg(), one for each Argument. More... | |
CKernel_Arg_T * | TCArg (char *ArgType, char *ArgName) |
Creates a typed C argument. More... | |
ConstInit_T * | ConstInfo (char *FileName, int Format, int Binary, int Size, int Fract) |
Creates a descriptor for an initialized constant vector. More... | |
CKernel_Arg_T * | TCArgInfo (char *ArgType, char *ArgName, ArgScope_T Scope, ArgDirection_T Dir, AT_MemLocation_T HomeLoc, AT_MemLocation_T ExecLoc, ConstInit_T *ConstInit) |
Creates a typed C argument with location info. More... | |
CKernel_Arg_T * | TCArgInfoA (char *ArgType, char *ArgName, ArgScope_T Scope, ArgDirection_T Dir, AT_MemLocation_T HomeLoc, AT_MemLocation_T ExecLoc, ConstInit_T *ConstInit) |
Creates a typed C argument with location info, symbol considered to be allocated externally by the user. More... | |
CArg_Descriptor_T * | ArgInfo (ArgScope_T Scope, ArgDirection_T Dir, AT_MemLocation_T HomeLoc, AT_MemLocation_T ExecLoc, ConstInit_T *ConstInit) |
Creates a C argument location info only. More... | |
Functions in this group should be used to add C arguments to a user kernel
CKernel_Arg_T** AllocateCArgs | ( | unsigned int | ArgCount | ) |
Creates a list of ArgCount Kernel C arguments
ArgCount | Number of C Arguments |
CArg_Descriptor_T* ArgInfo | ( | ArgScope_T | Scope, |
ArgDirection_T | Dir, | ||
AT_MemLocation_T | HomeLoc, | ||
AT_MemLocation_T | ExecLoc, | ||
ConstInit_T * | ConstInit | ||
) |
Creates a C argument location info only
Scope | Argument scope, ARG_SCOPE_ARG: passed as an argument, ARG_SCOPE_GLOBAL: global symbol |
Dir | Argument's direction (in, out or in out) |
HomeLoc | Permanent location in the mem hierarch variants of L3 or L2 |
ExecLoc | Location of the argument when it is used, can be != HomeLoc |
ConstInit | Descriptor for initialized constant |
CKernel_Arg_T** CArgs | ( | unsigned int | ArgCount, |
... | |||
) |
Creates a list of ArgCount Kernel C arguments, then list of TCArg(), one for each Argument
ArgCount | Number of C Arguments |
ConstInit_T* ConstInfo | ( | char * | FileName, |
int | Format, | ||
int | Binary, | ||
int | Size, | ||
int | Fract | ||
) |
Creates a descriptor for an initialized constant vector
FileName | Name of the file containing the list of values for this constant vector |
Format | Format of the list of value, 0: floating point, 1: fixed point |
Binary | If 1 file content is binary, if 0 file content is text |
Size | Size of the fixed point container |
Fract | Fractional part size, Qx.Fract, note that x+Fract < Size |
KernelIteratorDescrT* IterFixedSpace | ( | KernelIteratorT | IterSpace, |
unsigned int | Dim | ||
) |
Creates a list of ArgCount C arguments, each C argument is created by TCArg()
ArgCount | Number of C arguments |
... | List of TCArg() calls Define one iteration dimension of the current kernel iteration space, this dimension must not be a tiled one. Actual dimension value is provided. |
Define one iteration dimension of the current kernel iteration space, this dimension must not be a tiled one. Actual dimension value is provided.
IterSpace | Which iteration dimension of the kernel iteration space, must be a non tiled iteration space |
Dim | Actual value for the given dimension, must be > 0 |
KernelIteratorDescrT* IterParSpace | ( | KernelIteratorT | IterSpace, |
unsigned int | Dim, | ||
unsigned int | PrefDiv | ||
) |
Define one iteration dimension of the current kernel iteration space, dimension must not be a tiled one. Actual dimension value is provided and subject to division using PrefDiv as a prefered divider or a multiple of the divider.
IterSpace | Which iteration dimension of the kernel iteration space, must be a non tiled iteration space |
Dim | Actual value for the given dimension, must be > 0 |
PrefDiv | Prefered space Dim divider |
KernelIteratorDescrT* IterTiledSpace | ( | KernelIteratorT | IterSpace | ) |
Define one iteration dimension of the current kernel iteration space, this dimension must not be a tiled one. The autotiler will figure out the actual dimension.
IterSpace | Which iteration dimension of the kernel iteration space, must be a tiled iteration space |
KernelIterationSpaceT* KernelIterSpace | ( | unsigned int | Dim, |
... | |||
) |
Define the number of iteration spaces and and how they are nested
Dim | Number of nested iteration levels |
... | Ordered list of nested iteration spaces, iterators are defined by enum KernelIteratorT |
Dim | Number of dimension for the iteration space |
CKernel_Arg_T* TCArg | ( | char * | ArgType, |
char * | ArgName | ||
) |
Creates a typed C argument
ArgType | C argument type as a string |
ArgName | C argument name as a string |
CKernel_Arg_T* TCArgInfo | ( | char * | ArgType, |
char * | ArgName, | ||
ArgScope_T | Scope, | ||
ArgDirection_T | Dir, | ||
AT_MemLocation_T | HomeLoc, | ||
AT_MemLocation_T | ExecLoc, | ||
ConstInit_T * | ConstInit | ||
) |
Creates a typed C argument with location info
ArgType | C argument type as a string |
ArgName | C argument name as a string |
Scope | Argument scope, ARG_SCOPE_ARG: passed as an argument, ARG_SCOPE_GLOBAL: global symbol |
Dir | Argument's direction (in, out or in out) |
HomeLoc | Permanent location in the mem hierarch variants of L3 or L2 |
ExecLoc | Location of the argument when it is used, can be != HomeLoc |
ConstInit | Descriptor for initialized constant |
CKernel_Arg_T* TCArgInfoA | ( | char * | ArgType, |
char * | ArgName, | ||
ArgScope_T | Scope, | ||
ArgDirection_T | Dir, | ||
AT_MemLocation_T | HomeLoc, | ||
AT_MemLocation_T | ExecLoc, | ||
ConstInit_T * | ConstInit | ||
) |
Creates a typed C argument with location info, symbol considered to be allocated externally by the user
ArgType | C argument type as a string |
ArgName | C argument name as a string |
Scope | Argument scope, ARG_SCOPE_ARG: passed as an argument, ARG_SCOPE_GLOBAL: global symbol |
Dir | Argument's direction (in, out or in out) |
HomeLoc | Permanent location in the mem hierarch variants of L3 or L2 |
ExecLoc | Location of the argument when it is used, can be != HomeLoc |
ConstInit | Descriptor for initialized constant |