|
Loom C API
Public Loom compiler C API
|
Complete concrete configuration for one compiled kernel launch. More...
#include <launch_config.h>
Data Fields | |
| loomc_structure_type_t | type |
| Structure type. | |
| loomc_host_size_t | structure_size |
| Size of this structure in bytes. | |
| void * | next |
| Unordered extension chain for additional launch properties. | |
| loomc_dimension3_t | workgroup_count |
| Number of workgroups dispatched along each dimension. | |
| loomc_dimension3_t | workgroup_size |
| Number of invocations in each workgroup along each dimension. | |
| loomc_dimension3_t | workgroup_cluster_size |
| Number of workgroups in each cooperative cluster dimension. | |
| uint32_t | subgroup_size |
| Number of invocations in each hardware subgroup. | |
| uint64_t | workgroup_storage_bytes |
| Total workgroup-local storage required per workgroup, in bytes. | |
Complete concrete configuration for one compiled kernel launch.
Callers zero-initialize this structure, set type to LOOMC_STRUCTURE_TYPE_LAUNCH_CONFIG, set structure_size to sizeof(loomc_launch_config_t), and pass it to loomc_launch_config_program_invoke.
| uint32_t loomc_launch_config_t::subgroup_size |
Number of invocations in each hardware subgroup.
Zero indicates that the compiled target has no fixed subgroup size.
| loomc_structure_type_t loomc_launch_config_t::type |
Structure type.
Must be LOOMC_STRUCTURE_TYPE_LAUNCH_CONFIG when nonzero.
| loomc_dimension3_t loomc_launch_config_t::workgroup_cluster_size |
Number of workgroups in each cooperative cluster dimension.
Kernels that do not use clustered launch report {1, 1, 1}.
| loomc_dimension3_t loomc_launch_config_t::workgroup_size |
Number of invocations in each workgroup along each dimension.
Every dimension is nonzero after successful evaluation.
| uint64_t loomc_launch_config_t::workgroup_storage_bytes |
Total workgroup-local storage required per workgroup, in bytes.
This is the final total capacity required by the compiled kernel, including storage derived from workload facts during compilation. Target adapters map this total requirement to their launch ABI; it is not necessarily an API's additional dynamic-shared-memory argument.