Skip to main content

Mojo module

ring_buffer

Ring Buffer implementation for producer-consumer synchronization in GPU kernels.

This ring buffer coordinates data transfer between producer warps (loading from global memory) and consumer warps (performing computation) through shared memory tiles.

Key features:

  • Configurable synchronization strategies via the SyncStrategy trait
  • Pipeline stages for overlapping data transfer and computation
  • Context managers for automatic acquire/release of tiles
  • Phase-based synchronization to prevent data races

Structs

  • ConsumerTile: Context manager for consumer access to a single ring buffer tile.
  • ConsumerView: Consumer view of the unified ring buffer.
  • ProducerTile: Context manager for producer access to a single ring buffer tile.
  • ProducerView: Producer view of the unified ring buffer.
  • RingBuffer: Ring buffer for coordinating producer-consumer warps in matrix multiplication.

Was this page helpful?