tvm
|
Generic attribute names that can be attached to any function. More...
Variables | |
constexpr const char * | kCallingConv = "calling_conv" |
Indicates the special calling convention. More... | |
constexpr const char * | kTarget = "target" |
Compilation target of the function. More... | |
constexpr const char * | kGlobalSymbol = "global_symbol" |
Global linker symbol of the function in generated code. More... | |
constexpr const char * | kModuleName = "mod_name" |
Name of the module. More... | |
constexpr const char * | kExecutor = "executor" |
Executor targeted by the module. More... | |
constexpr const char * | kRuntime = "runtime" |
Runtime target of the module. More... | |
constexpr const char * | kWorkspaceMemoryPools = "workspace_memory_pools" |
workspace memory pools of the module More... | |
constexpr const char * | kConstantMemoryPools = "constant_memory_pools" |
constant memory pools of the module More... | |
constexpr const char * | kConstants = "constants" |
constexpr const char * | kExternalMods = "external_mods" |
All the runtime::Modules accumulated during compilation by external codegen. These modules must be either directly linked or captured in the final compilation artifact. More... | |
constexpr const char * | kSystemLibPrefix = "system_lib_prefix" |
A prefix for generating C symbols system lib creation. More... | |
constexpr const char * | kConstNameToConstant = "const_name_to_constant" |
All the named runtime::NDArrays accumulated during compilation by external codegen. Generally the associated runtime::Module will indicate it requires bindings for these names, and during module initialization these bindings will be recovered from a ConstLoaderModule. See also kConstantsArray above, which is the analog for PrimFuncs. More... | |
constexpr const char * | kIsExternalCodegen = "is_external_codegen" |
A TargetKind attribute of type Bool . If true, then the target kind name also corresponds to an external codegen 'compiler' name. That name may be used: More... | |
constexpr const char * | kRelayToTIR = "RelayToTIR" |
A TargetKind attribute of type FTVMRelayToTIR . If set, then the target kind name also corresponds to an external codegen 'compiler' name, and the bound value is a Pass to apply before the TVM lowering. More... | |
Generic attribute names that can be attached to any function.
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
All the named runtime::NDArrays accumulated during compilation by external codegen. Generally the associated runtime::Module will indicate it requires bindings for these names, and during module initialization these bindings will be recovered from a ConstLoaderModule. See also kConstantsArray above, which is the analog for PrimFuncs.
Type: Map<String, runtime::NDArray>
|
constexpr |
|
constexpr |
All the runtime::Modules accumulated during compilation by external codegen. These modules must be either directly linked or captured in the final compilation artifact.
Type: Array<runtime::Module>
|
constexpr |
Global linker symbol of the function in generated code.
This option forces the code generator to name the function with the given.
For example, we could set a global_symbol of a function early to make sure that we can always refer to it by the symbol name in the generated DLL.
We should not set the attribute for local functions, so that the compiler can freely rename them.
A unique global symbol will be automatically assigned to each function in the module before the target code generation phase.
Type: String
|
constexpr |
A TargetKind
attribute of type Bool
. If true, then the target kind name also corresponds to an external codegen 'compiler' name. That name may be used:
get_partition_table
.attr::kCompiler
attribute to indicate the function is to be compiled by the external codegen path.The CollagePartition
pass uses this attribute to guide it's search over candidate partitions using external codegen.
See also Target::IsExternalCodegenFor
|
constexpr |
|
constexpr |
A TargetKind
attribute of type FTVMRelayToTIR
. If set, then the target kind name also corresponds to an external codegen 'compiler' name, and the bound value is a Pass
to apply before the TVM lowering.
See also Target::IsExternalCodegenFor
|
constexpr |
|
constexpr |
A prefix for generating C symbols system lib creation.
This prefix guides passes that creates global_symbol for internal functions that may have c linkage (e.g. TIR functions and some BYOC functions). It also affects the symbol of the fat bin blob during module export.
This attribute is used to avoid symbol conflict when we generate and combine multiple system libs that get linked into one.
Rationale: mechanisms like BYOC rely on the common global symbol and each external compiler also has its own mechanism of mangling. As a result, we cannot rely on other mechanisms on setting a global_symbol and then renaming, because the external compiler already agreed on the name.
system_lib_prefix provides a way to hint at the passes to allow names to avoid name conflict at the beginning.
Note that users can still directly specify global symbols that may conflict. It is up to the downstream toolchain to manage those external-facing functions.
This does not affect non-C linkage functions it is less of an issue because they will be embedded into fatbin that in different symbols, The system lib loader can pick the right prefix for a given prefix.
Having this attribute implies system lib generation linkage.
|
constexpr |
|
constexpr |