kernel.async.tensor.load.to.lds
← kernel dialect
Initiate an AMDGPU gfx1250+ tensor-memory load from a global-like source view into a workgroup/LDS destination view using an explicit kernel.tensor.lds.descriptor. The descriptor supplies the exact hardware dgroups, while the source and destination views keep the logical rank, element type, layout, and memory-space facts visible. The endpoints must have the same rank in [1, 5], the same 1/2/4/8 byte element type, and memory spaces global/constant/descriptor to workgroup. The returned token must be committed to exactly one kernel.async.group.
Operation contract
| Property |
Value |
| Semantic phase |
— |
| Target contracts |
kernel.async, kernel.tensor_memory |
| Memory effects |
read source, write dest |
Signature
| Kind |
Name |
Type |
Cardinality |
Description |
| Operand |
source |
view |
required |
Global-like tensor-memory source view. |
| Operand |
dest |
view |
required |
Workgroup/LDS tensor-memory destination view. |
| Operand |
descriptor |
any |
required |
Tensor LDS descriptor supplying AMDGPU dgroups. |
| Result |
token |
any |
required |
Opaque async-copy token for the tensor load. |
| Attribute |
cache_scope |
enum CacheScope |
required |
Required cache/coherency scope for the transfer. |
| Attribute |
cache_temporal |
enum CacheTemporal |
required |
Required temporal cache hint for the transfer. |
Examples
%copy = kernel.async.tensor.load.to.lds %global_tile to %lds_tile using %desc {cache_scope = cu, cache_temporal = regular} : view<64x64xf32> to view<64x64xf32>, kernel.tensor.lds.descriptor -> kernel.async.token