Mojo struct
ProducerTiles
@register_passable(trivial)
struct ProducerTiles[origin: MutOrigin, a_type: DType, b_type: DType, a_tile_layout: Layout, b_tile_layout: Layout, num_pipeline_stages: Int, num_group_stages: Int, k_group_size: Int]
Context manager for producer access with stage, barrier, and tile arrays.
Provides everything needed to load k_group tiles in a single context: - stage: Current pipeline stage index - barrier: Barrier for synchronization (call expect_bytes once for all k_group) - a_tiles: Full A tile array (index with stage * k_group_size + j) - b_tiles: Full B tile array (index with stage * k_group_size + j)
Fields
- ring_buffer_ptr (
Pointer[ProducerTiles[origin, a_type, b_type, a_tile_layout, b_tile_layout, num_pipeline_stages, num_group_stages, k_group_size].RingBufferType, origin]): - stage (
UInt32): - barrier (
MbarPtr): - a_tiles (
ProducerTiles[origin, a_type, b_type, a_tile_layout, b_tile_layout, num_pipeline_stages, num_group_stages, k_group_size].ATileArray): - b_tiles (
ProducerTiles[origin, a_type, b_type, a_tile_layout, b_tile_layout, num_pipeline_stages, num_group_stages, k_group_size].BTileArray):
Implemented traits
AnyType,
Copyable,
ImplicitlyCopyable,
Movable,
UnknownDestructibility
comptime members
__copyinit__is_trivial
comptime __copyinit__is_trivial = True
__del__is_trivial
comptime __del__is_trivial = True
__moveinit__is_trivial
comptime __moveinit__is_trivial = True
ATileArray
comptime ATileArray = ProducerTiles[origin, a_type, b_type, a_tile_layout, b_tile_layout, num_pipeline_stages, num_group_stages, k_group_size].RingBufferType.ATileArray
BTileArray
comptime BTileArray = ProducerTiles[origin, a_type, b_type, a_tile_layout, b_tile_layout, num_pipeline_stages, num_group_stages, k_group_size].RingBufferType.BTileArray
RingBufferType
comptime RingBufferType = RingBuffer[a_type, b_type, a_tile_layout, b_tile_layout, num_pipeline_stages, num_group_stages, k_group_size]
Methods
__enter__
__enter__(mut self) -> Self
__exit__
__exit__(mut self)
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!