ds_gws_sema_br GPU Native ISA AMD Vector
DS GWS SEMA BR LDS / Data Share
ds_gws_sema_br
GDS Only: The GWS resource indicated processes this opcode by updating the counter by the bulk release delivered count and labeling the resource as a…
Encoding
Verified bit-level encoding data is not yet available for this instruction.
The instruction-format classification below (DS)
is well-documented and stable; exact per-target opcode/field bit positions have not
yet been imported from a verified source.
Operands
Operand details have not yet been curated for this instruction.
GFX Target Compatibility
| Target | Support |
|---|---|
| gfx1100 | ✅ Supported |
Related
More in LDS / Data Share
Reference
AMDGPU / GFX ISA
Description
GDS Only: The GWS resource indicated processes this opcode by updating the counter by the bulk release delivered count and labeling the resource as a semaphore.
Semantics
//Determine the GWS resource to work on
rid[5:0] = gds_base[5:0] + offset0[5:0];
index = find first valid (vector mask)
count = DATA[thread: index];
//Add count to the resource state counter
state.counter[rid] += count;
state.type = SEMAPHORE;
return rd_done; //release calling wave
This action releases count number of waves, promptly if queued, or as they arrive from the noted resource.
CAUTION: The VGPR operand MUST be even-aligned for this instruction. Only 32 bits are used but hardware
treats this instruction as a 64 bit read.
Example
ds_gws_sema_br v1 gdsA real instruction accepted by the LLVM assembler, taken verbatim from LLVM's own AMDGPU MC test suite (gfx11). Not from an AMD document, and not authored here.
Sources
- User Guide for AMDGPU Backend ↗ - LLVM Project
-
"AMD Instinct MI300" Instruction Set Architecture: Reference Guide ↗
- Advanced Micro Devices, Inc.
Reference Guide, page 453. - LLVM MC assembler tests for AMDGPU (gfx11) ↗ - LLVM Project