kernel.async.tensor.store.from.lds
← kernel dialect
Initiate an AMDGPU gfx1250+ tensor-memory store from a workgroup/LDS source view into a global-like 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 workgroup to global/descriptor. 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 |
Workgroup/LDS tensor-memory source view. |
| Operand |
dest |
view |
required |
Global-like 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 store. |
| 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.store.from.lds %lds_tile to %global_tile using %desc {cache_scope = device, cache_temporal = non_temporal_writeback} : view<64x64xf32> to view<64x64xf32>, kernel.tensor.lds.descriptor -> kernel.async.token