Function specific attribute names.
More...
|
| constexpr const char * | kKernelLaunchParams = "tirx.kernel_launch_params" |
| | Ordered launch-parameter tags for a device kernel.
|
| |
| constexpr const char * | kNoAlias = "tirx.noalias" |
| | Whether to set noalias rule on the function arguments.
|
| |
| constexpr const char * | kIsEntryFunc = "tirx.is_entry_func" |
| | Mark the function as the entry function of the final generated runtime module.
|
| |
| constexpr const char * | kIsGlobalFunc = "tirx.is_global_func" |
| | Mark the function as the global function called from the host.
|
| |
| constexpr const char * | kIsHostFunc = "tirx.is_host_func" |
| | Mark the function as run on the host, mutually exclusive with kTarget.
|
| |
| constexpr const char * | kPersistentKernel = "tirx.persistent_kernel" |
| | Mark the kernel as persistent.
|
| |
| constexpr const char * | kPragmaUnroll = "pragma_unroll" |
| |
| constexpr const char * | kDisableUnroll = "disable_unroll" |
| |
| constexpr const char * | kAutoUnrollMaxStep = "auto_unroll_max_step" |
| | For annotation: maximum work for automatic unrolling.
|
| |
| constexpr const char * | kUnrollExplicit = "unroll_explicit" |
| | For annotation: expand unrolled bodies instead of preserving unrolled loops.
|
| |
| constexpr const char * | kVolatile = "tirx.volatile" |
| | Annotation key on AllocTensor marking the allocation as volatile.
|
| |
| constexpr const char * | kTensorDataAlignment = "tensor_data_alignment" |
| | Mark tensor initial addr alignment in bytes.
|
| |
Function specific attribute names.
Statement attribute and loop annotation keys.
- See also
- tvm::attr
◆ kAutoUnrollMaxStep
| constexpr const char* tvm::tirx::attr::kAutoUnrollMaxStep = "auto_unroll_max_step" |
|
constexpr |
For annotation: maximum work for automatic unrolling.
Integer policy inherited by nested loops unless they override it. Consumed by UnrollLoop.
◆ kDisableUnroll
| constexpr const char* tvm::tirx::attr::kDisableUnroll = "disable_unroll" |
|
constexpr |
◆ kIsEntryFunc
| constexpr const char* tvm::tirx::attr::kIsEntryFunc = "tirx.is_entry_func" |
|
constexpr |
Mark the function as the entry function of the final generated runtime module.
Type: IntImm
- Note
- There can only be one entry function per module.
◆ kIsGlobalFunc
| constexpr const char* tvm::tirx::attr::kIsGlobalFunc = "tirx.is_global_func" |
|
constexpr |
Mark the function as the global function called from the host.
Type: IntImm
◆ kIsHostFunc
| constexpr const char* tvm::tirx::attr::kIsHostFunc = "tirx.is_host_func" |
|
constexpr |
Mark the function as run on the host, mutually exclusive with kTarget.
Type: IntImm
◆ kKernelLaunchParams
| constexpr const char* tvm::tirx::attr::kKernelLaunchParams = "tirx.kernel_launch_params" |
|
constexpr |
Ordered launch-parameter tags for a device kernel.
Type: ffi::Array<ffi::String>
We call a device kernel launch function f using the following convention:
Call(f,
[arg1, arg2, ..., arg_n,
work_size_1, work_size_2, ... work_size_m, dyn_shmem_size])
Flag-only launch tags do not add packed operands. The dynamic shared-memory operand is present only when its value-bearing tag is listed.
The list of kernel launch params indicates which additional parameters will be provided to the ffi::Function by the calling scope.
"threadIdx.x", "threadIdx.y", "threadIdx.z"
The extent of the thread count in x/y/z, to be used when launching the compute kernel on the device. For example, the gridDimX/Y/Z parameters passed to cuLaunchKernel when launching a CUDA kernel, or the groupCountX/Y/Z parameters passed to vkCmdDispatch when dispatching a compute pipeline to Vulkan.
"blockIdx.x", "blockIdx.y", "blockIdx.z"
The extent of the block iterators, to be used when launching the compute kernel on the device. For example, the blockDimX/Y/Z parameters passed to cuLaunchKernel when launching a CUDA kernel. For runtimes that do not require the block to be provided externally, this parameter is ignored. For example, the spv::ExecutionModeLocalSize for SPIR-V shaders on Vulkan, where this parameter is defined in the shader.
tvm::runtime::launch_param::kUseDynamicSharedMemoryTag
The dynamic shared-memory byte count passed for this launch.
Defined as "tirx.use_dyn_shared_memory".
- tvm::runtime::launch_param::kUseProgramaticDependentLaunch
- tvm::runtime::launch_param::kUseCooperativeLaunch
tvm::runtime::launch_param::kUseRequiredBlockDimension
Flag-only launch attributes. These tags add no packed operand.
- See also
- tvm::CallingConv::kDeviceKernelLaunch
◆ kNoAlias
| constexpr const char* tvm::tirx::attr::kNoAlias = "tirx.noalias" |
|
constexpr |
Whether to set noalias rule on the function arguments.
Type: IntImm
◆ kPersistentKernel
| constexpr const char* tvm::tirx::attr::kPersistentKernel = "tirx.persistent_kernel" |
|
constexpr |
Mark the kernel as persistent.
◆ kPragmaUnroll
| constexpr const char* tvm::tirx::attr::kPragmaUnroll = "pragma_unroll" |
|
constexpr |
◆ kTensorDataAlignment
| constexpr const char* tvm::tirx::attr::kTensorDataAlignment = "tensor_data_alignment" |
|
constexpr |
Mark tensor initial addr alignment in bytes.
◆ kUnrollExplicit
| constexpr const char* tvm::tirx::attr::kUnrollExplicit = "unroll_explicit" |
|
constexpr |
For annotation: expand unrolled bodies instead of preserving unrolled loops.
Integer policy inherited by nested loops unless they override it. Consumed by UnrollLoop.
◆ kVolatile
| constexpr const char* tvm::tirx::attr::kVolatile = "tirx.volatile" |
|
constexpr |
Annotation key on AllocTensor marking the allocation as volatile.