ds_permute_b32 GPU Native ISA AMD Vector
Lane Operations
Forward-permute: each lane sends its value to a lane index computed by another lane, via the LDS crossbar (no LDS storage consumed).
Encoding
The ENC_VDS layout from AMD's machine-readable ISA specification (AMD CDNA 5). Opcode 178 in OP rebuilds 0x00000000DAC80000, an identifier AMD lists for this encoding. Bits marked unassigned have no field in the specification. Not the same in every generation: AMD CDNA 4 (encoding ENC_DS, opcode 62, field layout), AMD CDNA 3 (encoding ENC_DS, opcode 62, field layout), AMD CDNA 2 (encoding ENC_DS, opcode 62, field layout), AMD CDNA 1 (encoding ENC_DS, opcode 62, field layout), AMD RDNA 3.5 (encoding ENC_DS, field layout), AMD RDNA 3 (encoding ENC_DS, field layout), AMD RDNA 2 (encoding ENC_DS, field layout), AMD RDNA 1 (encoding ENC_DS, field layout). The same in AMD RDNA 4.
Operands
-
VDST
Destination VGPR -
ADDR
Per-lane destination-lane selector -
DATA
Per-lane value to send
GFX Target Compatibility
| Target | Support |
|---|---|
| gfx942 | ✅ Supported |
| gfx1100 | ✅ Supported |
Related PTX Concepts
Related
More in Lane Operations
Reference
Description
Semantics
Example
ds_permute_b32 v1, v0, v2 // v1[lane] = v2[dest_lane(v0[lane])]Original illustrative example, written for this site (not reproduced from a specific AMD document).
Sources
- AMD Machine-Readable GPU ISA Specification ↗ - Advanced Micro Devices, Inc.