Mojo struct
ConsumerTile
@register_passable(trivial)
struct ConsumerTile[dtype: DType, layout: Layout, pipeline_stages: Int, block_rows: Int, block_cols: Int, warp_rows: Int, warp_cols: Int, reads_per_warp_block: Int, tile_buffers: Int, sync_strategy_type: SyncStrategy, //, origin: MutOrigin, ring_buffer_type: AnyStruct[RingBuffer[dtype, layout, pipeline_stages, block_rows, block_cols, warp_rows, warp_cols, reads_per_warp_block, tile_buffers, sync_strategy_type]], warps_computed_per_consumer: Int]
Context manager for consumer access to a single ring buffer tile.
Fields
- consumer_view_ptr (
ConsumerTile[origin, ring_buffer_type, warps_computed_per_consumer].ConsumerViewPtrType): - stage (
Int): - consumer_iteration (
Int): - warp_tile_idx (
Int):
Implemented traits
AnyType,
Copyable,
ImplicitlyCopyable,
Movable,
UnknownDestructibility
Aliases
__copyinit__is_trivial
comptime __copyinit__is_trivial = True
__del__is_trivial
comptime __del__is_trivial = True
__moveinit__is_trivial
comptime __moveinit__is_trivial = True
ConsumerViewPtrType
comptime ConsumerViewPtrType = Pointer[ConsumerTile[origin, ring_buffer_type, warps_computed_per_consumer].ConsumerViewType, origin]
ConsumerViewType
comptime ConsumerViewType = ConsumerView[origin, ring_buffer_type, warps_computed_per_consumer]
Methods
__init__
__init__(consumer_view_ptr: Pointer[ConsumerTile[origin, ring_buffer_type, warps_computed_per_consumer].ConsumerViewType, origin], stage: Int, consumer_iteration: Int, warp_tile_idx: Int) -> Self
__enter__
__enter__(mut self) -> ring_buffer_type.WarpTileTupleType
Acquire the tile for use.
Returns:
ring_buffer_type.WarpTileTupleType
__exit__
__exit__(mut self)
Release the tile back to producers.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!