IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /get-started.md).

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, Deinitable, Equatable, Movable, ScheduleOps

comptime members

BARRIER

comptime BARRIER = PingPongOps(Int(128))

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

COMPUTE

comptime COMPUTE = PingPongOps(Int(2))

LOAD_A

comptime LOAD_A = PingPongOps(Int(0))

LOAD_B

comptime LOAD_B = PingPongOps(Int(1))

MMA

comptime MMA = PingPongOps(Int(5))

MMA_LOAD_A

comptime MMA_LOAD_A = PingPongOps(Int(3))

MMA_LOAD_B

comptime MMA_LOAD_B = PingPongOps(Int(4))

NONE

comptime NONE = PingPongOps(Int(255))

Sentinel value for an absent or unspecified op.

SCHED_GROUP_BARRIER

comptime SCHED_GROUP_BARRIER = PingPongOps(Int(133))

LLVM scheduling-group barrier hint (s_sched_group_barrier).

SCHEDULE_BARRIER

comptime SCHEDULE_BARRIER = PingPongOps(Int(132))

LLVM scheduling-barrier hint (schedule_barrier).

SET_PRIO

comptime SET_PRIO = PingPongOps(Int(131))

Wave priority hint (e.g. s_setprio).

WAIT_LGKM

comptime WAIT_LGKM = PingPongOps(Int(130))

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

WAIT_VM

comptime WAIT_VM = PingPongOps(Int(129))

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