Skip to main content

Mojo struct

PingPongOps

struct PingPongOps

Op tags for the ping-pong double-buffered matmul kernel.

Kernel-specific data ops in the 0-127 range; framework infrastructure ops inherited from ScheduleOps at 128+.

Fields​

  • ​value (Int):

Implemented traits​

AnyType, Equatable, ImplicitlyDestructible, ScheduleOps

comptime members​

BARRIER​

comptime BARRIER = PingPongOps(128)

Workgroup-wide barrier (e.g. s_barrier on AMD).

COMPUTE​

comptime COMPUTE = PingPongOps(2)

LOAD_A​

comptime LOAD_A = PingPongOps(0)

LOAD_B​

comptime LOAD_B = PingPongOps(1)

MMA​

comptime MMA = PingPongOps(5)

MMA_LOAD_A​

comptime MMA_LOAD_A = PingPongOps(3)

MMA_LOAD_B​

comptime MMA_LOAD_B = PingPongOps(4)

NONE​

comptime NONE = PingPongOps(255)

Sentinel value for an absent or unspecified op.

SCHED_GROUP_BARRIER​

comptime SCHED_GROUP_BARRIER = PingPongOps(133)

LLVM scheduling-group barrier hint (s_sched_group_barrier).

SCHEDULE_BARRIER​

comptime SCHEDULE_BARRIER = PingPongOps(132)

LLVM scheduling-barrier hint (schedule_barrier).

SET_PRIO​

comptime SET_PRIO = PingPongOps(131)

Wave priority hint (e.g. s_setprio).

WAIT_LGKM​

comptime WAIT_LGKM = PingPongOps(130)

Wait on outstanding LDS / scalar-memory ops (e.g. s_waitcnt lgkmcnt).

WAIT_VM​

comptime WAIT_VM = PingPongOps(129)

Wait on outstanding global-memory loads (e.g. s_waitcnt vmcnt).