Skip to main content

Mojo module

ring_buffer

Ring buffer for SM100 producer-consumer synchronization.

Provides SM90-style get_tiles() API for TMA-MMA pipeline synchronization.

Usage: var ring_buffer = RingBuffer[...](pipeline, a_tiles, b_tiles)

# Producer: tiles contains stage, barrier, a_tiles, b_tiles
with ring_buffer.producer() as producer:
    with producer.get_tiles() as tiles:
        load_tiles(tiles)  # Access tiles.a_tiles[stage * k_group + j]

# Consumer: tiles contains stage, mbar, a_tiles, b_tiles
with ring_buffer.consumer() as consumer:
    with consumer.get_tiles() as tiles:
        mma_tiles(tiles)  # Access tiles.a_tiles[stage * k_group + j]

comptime values

MbarPtr

comptime MbarPtr = LegacyUnsafePointer[SharedMemBarrier, address_space=AddressSpace.SHARED]

Structs

Was this page helpful?