Mojo struct
FourWaveOps
struct FourWaveOps
Op tags for the 4-wave matmul kernel.
Fieldsβ
- βvalue (
Int): Integer tag identifying the op kind.
Implemented traitsβ
AnyType,
Equatable,
ImplicitlyDestructible,
ScheduleOps
comptime membersβ
BARRIERβ
comptime BARRIER = FourWaveOps(128)
Workgroup-wide barrier (e.g. s_barrier on AMD).
COMPUTEβ
comptime COMPUTE = FourWaveOps(2)
Generic compute op (unused by 4-wave; reserved tag).
LOAD_Aβ
comptime LOAD_A = FourWaveOps(0)
DRAM->LDS prefetch of an A sub-tile.
LOAD_Bβ
comptime LOAD_B = FourWaveOps(1)
DRAM->LDS prefetch of a B sub-tile.
MMAβ
comptime MMA = FourWaveOps(5)
MFMA quadrant compute op.
MMA_LOAD_Aβ
comptime MMA_LOAD_A = FourWaveOps(3)
LDS->register fragment load of an A quadrant.
MMA_LOAD_Bβ
comptime MMA_LOAD_B = FourWaveOps(4)
LDS->register fragment load of a B quadrant.
NONEβ
comptime NONE = FourWaveOps(255)
Sentinel value for an absent or unspecified op.
SCHED_GROUP_BARRIERβ
comptime SCHED_GROUP_BARRIER = FourWaveOps(133)
LLVM scheduling-group barrier hint (s_sched_group_barrier).
SCHEDULE_BARRIERβ
comptime SCHEDULE_BARRIER = FourWaveOps(132)
LLVM scheduling-barrier hint (schedule_barrier).
SET_PRIOβ
comptime SET_PRIO = FourWaveOps(131)
Wave priority hint (e.g. s_setprio).
WAIT_LGKMβ
comptime WAIT_LGKM = FourWaveOps(130)
Wait on outstanding LDS / scalar-memory ops (e.g. s_waitcnt lgkmcnt).
WAIT_VMβ
comptime WAIT_VM = FourWaveOps(129)
Wait on outstanding global-memory loads (e.g. s_waitcnt vmcnt).
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!