kernel.tensor.lds.descriptor
← kernel dialect
Bundle AMDGPU tensor-memory descriptor groups into one typed SSA value. The dgroups are the exact operands lowered to llvm.amdgcn.tensor.load.to.lds or llvm.amdgcn.tensor.store.from.lds: D0 is vector<4xi32>, D1 is vector<8xi32>, and optional D2/D3 are vector<4xi32>. Gfx1250 uses two-group and four-group descriptor forms; the LLVM intrinsic's fifth D4 operand is lowered as zero because gfx1250 ignores it. The op is pure and contains no memory endpoints; endpoint views are operands of the async tensor ops so fact propagation and alias analysis do not need to decode hardware bitfields.
Operation contract
| Property |
Value |
| Semantic phase |
— |
| Target contracts |
kernel.tensor_memory |
Signature
| Kind |
Name |
Type |
Cardinality |
Description |
| Operand |
dgroups |
vector |
variadic |
AMDGPU tensor-memory descriptor groups D0..D3. |
| Result |
descriptor |
any |
required |
Typed tensor LDS descriptor value. |
Examples
%desc = kernel.tensor.lds.descriptor dgroups(%d0, %d1) : vector<4xi32>, vector<8xi32> -> kernel.tensor.lds.descriptor
%desc = kernel.tensor.lds.descriptor dgroups(%d0, %d1, %d2, %d3) : vector<4xi32>, vector<8xi32>, vector<4xi32>, vector<4xi32> -> kernel.tensor.lds.descriptor