Auto Tiler Library
|
Data Structures | |
struct | KernelIteratorInfosT |
struct | KerIteratorParT |
struct | KernelIteratorDescrT |
struct | KernelArgOneDimDescrT |
struct | KernelArgDimDescrT |
struct | KernelIterationSpaceT |
struct | Device_T |
struct | ConstInit_T |
struct | CArg_Descriptor_T |
struct | CKernel_Arg_T |
struct | GraphArgList_T |
struct | ArgBindingDescr_T |
struct | CKernelCall_T |
struct | KernelDynamicSymbol_T |
struct | KerArgInfos_T |
struct | KerArgCost_T |
struct | Kernel_Arg_T |
struct | Object_T |
struct | KernelInfos_T |
struct | StackedTensors_T |
struct | Kernel_T |
struct | CNN_GenControl_T |
struct | CNN_LayerOp_T |
struct | KernelLib_T |
struct | KernelLibTemplate_T |
struct | MemChunk_T |
struct | NodeTypeTemplateParameters_T |
struct | ArgDecl_T |
struct | NodeTypeTemplate_T |
struct | ChannelNodeList_T |
struct | ChannelList_T |
struct | StackedChannels_T |
struct | GraphNodeList_T |
struct | GraphEdgeWebList_T |
struct | MemLoc_T |
struct | BufferList_T |
struct | SymbolAlloc_T |
struct | GraphEdgeWeb_T |
struct | GraphNodeCalls_T |
struct | GraphNode_T |
struct | CNNGraph_T |
struct | GraphControl_T |
Macros | |
#define | ITER_SPACE_MASK |
#define | ITER_PROP_MASK |
#define | ITER_PROP_OFF |
#define | SPACE_PROP_ABS |
#define | SPACE_PROP_REVERT |
#define | RAW_SPACE(Space) |
#define | PROP_SPACE(Space) |
#define | SPACE_PROP(Space, Prop) |
#define | SPACE_PROP_IS(Space, Prop) |
#define | SPACE_PROP_SET(Space, Prop) |
#define | SPACE_PROP_CLR(Space, Prop) |
#define | IS_EXTERNAL_MEM(Mem) |
#define | IS_L3_RAM(Mem) |
#define | IS_FLASH_LOC(Loc) |
#define | IS_VALID_MEM(Mem) |
#define | HAS_ARG_INFO(Arg) |
#define | ARG_IN_L2(Arg) |
#define | ARG_IN_L3(Arg) |
#define | TILE_PTR(PipeOff) |
#define | NB_TILEABLE_SPACES |
#define | Q2F(V, N) |
#define | MultRndu(x, y, scale) |
#define | ALIGN(Value, Size) |
Typedefs | |
typedef signed char v4s | __attribute__ ((vector_size(4))) |
typedef struct AGraphNodeList_T | GraphNodeList_T |
typedef struct AGraphNode_T | GraphNode_T |
typedef struct AGraphEdgeWeb_T | GraphEdgeWeb_T |
typedef struct AGraphEdgeWebList_T | GraphEdgeWebList_T |
typedef struct AChannelNodeList_T | ChannelNodeList_T |
typedef struct AChannelList_T | ChannelList_T |
typedef struct ABufferList_T | BufferList_T |
typedef struct A_Object_T | Object_T |
typedef struct A_Kernel_Arg_T | Kernel_Arg_T |
typedef struct A_NodeTypeTemplate_T | NodeTypeTemplate_T |
typedef struct AArgBindingDescr_T | ArgBindingDescr_T |
typedef struct AGraphArgList_T | GraphArgList_T |
typedef struct A_Kernel_T | Kernel_T |
typedef struct A_StackedTensors_T | StackedTensors_T |
typedef Kernel_T | KernelGroup_T |
typedef struct A_MemChunk_T | MemChunk_T |
typedef struct A_ArgDecl_T | ArgDecl_T |
typedef struct AGraphNodeCalls_T | GraphNodeCalls_T |
Enumerations | |
enum | KernelOper_T |
Defined CNN Kernel operations. More... | |
enum | AT_PadType |
enum | KernelDimT |
enum | KernelIterationDimT |
enum | KernelIteratorT |
Iterators definition. More... | |
enum | KernelCallTypeT |
Basic kernel call type. More... | |
enum | CallLocationT |
Call location attribute. More... | |
enum | KernelCallLocationT |
Call location for basic kernels in the user kernel defined iteration space. More... | |
enum | Tile_Orientation_T |
User kernel tiling orientation. More... | |
enum | KernelArgConstraints_T |
User kernel argument constraints. More... | |
enum | KernelArgSelect_T |
Tile attributes used in argument bindings. More... | |
enum | BasicObjectType_T |
Elementary properties of a user kernel argument. More... | |
enum | Object_Type_T |
Pre defined user kernel argument types. More... | |
enum | InlineModeT |
Control AutoTiler inline strategy. More... | |
enum | KernelOptimizationT |
User Kernel optimization. More... | |
enum | ArgBindingT |
Argument binding selection. More... | |
enum | ArgBindingOper |
Argument binding selection, operation with a constant. More... | |
enum | InfosUsage_T |
enum | MemHierarchy_T |
enum | ArgScope_T |
enum | ArgDirection_T |
enum | AT_MemLocation_T |
enum | AT_DumpTensor_T |
enum | GraghNodeArgT |
enum | AT_KernelInfo_T |
enum | NodeType_T |
enum | BoxType_T |
enum | AT_GraphCtrl_T |
Variables | |
KernelCallLocationT | IterCallLocation [][CALL_LAST] |
KernelIteratorInfosT | KerIterInfos [] |
KernelLibTemplate_T | KernelLibTemplate [] |
KernelLib_T | KernelLib [] |
int | HeadKernelLib |
int | HeadKernelLibTemplate |
Kernel_T | KernelStack [] |
int | HeadKernelStack |
KernelGroup_T | KernelGroup [] |
int | HeadKernelGroup |
CNNGraph_T * | CurCNNGraph |
unsigned int | L1MemorySize |
unsigned int | L2MemorySize |
unsigned int | L3MemorySize |
int | MaxL1TopMemory |
int | MaxAllocatedL2 |
char * | OutputDir |
char * | ConstDir |
char * | FlashDir |
char * | LibTemplateName |
Device_T | L3_L2_Device [] |
Device_T | L3_L2_Device_FC [] |
Device_T | L2_L1_Device |
Device_T | L1_Device |
char * | MemoryBaseName [] |
int | TopAllocatedMemory [] |
GraphControl_T | GraphControl |
int | AvailableMemory [] |
char * | ConstDirName |
NodeTypeTemplateParameters_T | NodeTypeTemplateParameters |
#define ALIGN | ( | Value, | |
Size | |||
) |
#define ARG_IN_L2 | ( | Arg | ) |
#define ARG_IN_L3 | ( | Arg | ) |
#define HAS_ARG_INFO | ( | Arg | ) |
#define IS_EXTERNAL_MEM | ( | Mem | ) |
#define IS_FLASH_LOC | ( | Loc | ) |
#define IS_L3_RAM | ( | Mem | ) |
#define IS_VALID_MEM | ( | Mem | ) |
#define ITER_PROP_MASK |
#define ITER_PROP_OFF |
#define ITER_SPACE_MASK |
#define MultRndu | ( | x, | |
y, | |||
scale | |||
) |
#define NB_TILEABLE_SPACES |
#define PROP_SPACE | ( | Space | ) |
#define Q2F | ( | V, | |
N | |||
) |
#define RAW_SPACE | ( | Space | ) |
#define SPACE_PROP | ( | Space, | |
Prop | |||
) |
#define SPACE_PROP_ABS |
#define SPACE_PROP_CLR | ( | Space, | |
Prop | |||
) |
#define SPACE_PROP_IS | ( | Space, | |
Prop | |||
) |
#define SPACE_PROP_REVERT |
#define SPACE_PROP_SET | ( | Space, | |
Prop | |||
) |
#define TILE_PTR | ( | PipeOff | ) |
typedef signed char v4s __attribute__((vector_size(4))) |
typedef struct AArgBindingDescr_T ArgBindingDescr_T |
typedef struct A_ArgDecl_T ArgDecl_T |
typedef struct ABufferList_T BufferList_T |
typedef struct AChannelList_T ChannelList_T |
typedef struct AChannelNodeList_T ChannelNodeList_T |
typedef struct AGraphArgList_T GraphArgList_T |
typedef struct AGraphEdgeWeb_T GraphEdgeWeb_T |
typedef struct AGraphEdgeWebList_T GraphEdgeWebList_T |
typedef struct AGraphNode_T GraphNode_T |
typedef struct AGraphNodeCalls_T GraphNodeCalls_T |
typedef struct AGraphNodeList_T GraphNodeList_T |
typedef struct A_Kernel_Arg_T Kernel_Arg_T |
typedef struct A_Kernel_T Kernel_T |
typedef Kernel_T KernelGroup_T |
typedef struct A_MemChunk_T MemChunk_T |
typedef struct A_NodeTypeTemplate_T NodeTypeTemplate_T |
typedef struct A_Object_T Object_T |
typedef struct A_StackedTensors_T StackedTensors_T |
enum ArgBindingOper |
enum ArgBindingT |
Argument binding selection
enum ArgDirection_T |
enum ArgScope_T |
enum AT_DumpTensor_T |
enum AT_GraphCtrl_T |
enum AT_KernelInfo_T |
enum AT_MemLocation_T |
enum AT_PadType |
enum BasicObjectType_T |
Elementary properties of a user kernel argument
A user kernel argument object type is a logical or of these elementary properties. In general properties come into pair: a property and not a property. Predefined group of properties in enum Object_Type_T provide a set of consistent set of elementary properties.
enum BoxType_T |
enum CallLocationT |
enum GraghNodeArgT |
enum InfosUsage_T |
enum InlineModeT |
User kernel argument constraints. Max 16 of them
enum KernelArgSelect_T |
Tile attributes used in argument bindings
enum KernelCallLocationT |
Call location for basic kernels in the user kernel defined iteration space
When the context is a group of user kernels called kernels are user kernels and not basic kernels and in this case only LOC_IN_GROUP is valid
enum KernelCallTypeT |
Basic kernel call type
A basic kernel can be called as a sequential call from master core in the cluster, in this case only master core executes the code and arguments are passed with the usual C type list of parameters.
It can also be called on all the available cores in the clusters, this is a parallel call. In this case arguments are grouped into a single structure which address is passed to the parallel dispatcher.
enum KernelDimT |
enum KernelIterationDimT |
enum KernelIteratorT |
Iterators definition
enum KernelOper_T |
Defined CNN Kernel operations
enum KernelOptimizationT |
brief User Kernel optimization
enum MemHierarchy_T |
enum NodeType_T |
enum Object_Type_T |
Pre defined user kernel argument types
enum Tile_Orientation_T |
User kernel tiling orientation
Tiling orientation is global to the user kernel applying to every single user kernel argument unless a given user kernel argument has its own orientation defined in it's set of constraints
Enumerator | |
---|---|
TILE_HOR |
Tiles are horizontal, full width and variable height |
TILE_VER |
Tiles are vertical, full height and variable width |
TILE_UNDEF |
Undefined orientation |
int AvailableMemory[] |
char* ConstDir |
char* ConstDirName |
CNNGraph_T* CurCNNGraph |
char* FlashDir |
GraphControl_T GraphControl |
int HeadKernelGroup |
int HeadKernelLib |
int HeadKernelLibTemplate |
int HeadKernelStack |
KernelCallLocationT IterCallLocation[][CALL_LAST] |
KernelIteratorInfosT KerIterInfos[] |
KernelGroup_T KernelGroup[] |
KernelLib_T KernelLib[] |
KernelLibTemplate_T KernelLibTemplate[] |
Kernel_T KernelStack[] |
Device_T L1_Device |
unsigned int L1MemorySize |
Device_T L2_L1_Device |
unsigned int L2MemorySize |
Device_T L3_L2_Device[] |
Device_T L3_L2_Device_FC[] |
unsigned int L3MemorySize |
char* LibTemplateName |
int MaxAllocatedL2 |
int MaxL1TopMemory |
char* MemoryBaseName[] |
NodeTypeTemplateParameters_T NodeTypeTemplateParameters |
char* OutputDir |
int TopAllocatedMemory |