Skip to main content

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?