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

ProducerTile

struct ProducerTile[origin: MutOrigin, ring_buffer_type: AnyStruct[RingBuffer[ring_buffer_type.dtype, ring_buffer_type.layout, ring_buffer_type.pipeline_stages, ring_buffer_type.block_rows, ring_buffer_type.block_cols, ring_buffer_type.warp_rows, ring_buffer_type.warp_cols, ring_buffer_type.reads_per_warp_block, ring_buffer_type.tile_buffers, ring_buffer_type.sync_strategy_type]], warps_processed_per_producer: Int]

Context manager for producer access to a single ring buffer tile.

Parameters

  • origin (MutOrigin): Memory origin for pointers to the underlying ring buffer.
  • ring_buffer_type (AnyStruct[RingBuffer[ring_buffer_type.dtype, ring_buffer_type.layout, ring_buffer_type.pipeline_stages, ring_buffer_type.block_rows, ring_buffer_type.block_cols, ring_buffer_type.warp_rows, ring_buffer_type.warp_cols, ring_buffer_type.reads_per_warp_block, ring_buffer_type.tile_buffers, ring_buffer_type.sync_strategy_type]]): The RingBuffer type accessed through this tile.
  • warps_processed_per_producer (Int): Number of warps each producer processes per pipeline stage.

Fields

  • producer_view_ptr (ProducerTile[origin, ring_buffer_type, warps_processed_per_producer].ProducerViewPtrType):
  • stage (Int):
  • producer_iteration (Int):
  • warp_tile_idx (Int):

Implemented traits

AnyType, Copyable, Deinitable, ImplicitlyCopyable, Movable, RegisterPassable, TrivialRegisterPassable

comptime members

ProducerViewPtrType

comptime ProducerViewPtrType = Pointer[ProducerView[origin, ring_buffer_type, warps_processed_per_producer], origin]

ProducerViewType

comptime ProducerViewType = ProducerView[origin, ring_buffer_type, warps_processed_per_producer]

Methods

__init__

def __init__(producer_view_ptr: Pointer[ProducerView[origin, ring_buffer_type, warps_processed_per_producer], origin], stage: Int, producer_iteration: Int, warp_tile_idx: Int) -> Self

__enter__

def __enter__(mut self) -> ring_buffer_type.WarpTileTupleType

Acquire the tile for use.

Returns:

ring_buffer_type.WarpTileTupleType

__exit__

def __exit__(mut self)

Release the tile back to consumers.