Skip to content

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