Skip to main content

Mojo struct

TileLoader

struct TileLoader[tma_origin: ImmutOrigin, dtype: DType, tile_layout: TensorLayout, desc_layout: TensorLayout, /, *, cta_group: Int]

TMA tile loader parameterized on new Layout types.

Uses TmaOpType to derive the TMATensorTile type from new Layout. Accepts TileTensor destinations.

Fields

  • tma_op (TileLoader[tma_origin, dtype, tile_layout, desc_layout, cta_group=cta_group].TmaOpPtr):
  • multicast_mask (UInt16):

Implemented traits

AnyType, Copyable, ImplicitlyCopyable, ImplicitlyDestructible, Movable, RegisterPassable, TrivialRegisterPassable

comptime members

TmaOp

comptime TmaOp = TMATensorTile[dtype, tile_layout.rank, _to_index_list[tile_layout](), _to_index_list[tile_layout.rank, desc_layout]()]

TmaOpPtr

comptime TmaOpPtr = Pointer[TileLoader[tma_origin, dtype, tile_layout, desc_layout, cta_group=cta_group].TmaOp, tma_origin]

Methods

__init__

__init__[tma_op_type: AnyType](tma_op: Pointer[tma_op_type, tma_origin], multicast_mask: UInt16) -> Self

Accepts any TMA pointer. Rebinds to the loader's derived type.

load

load[LayoutType: TensorLayout](self, dest: TileTensor[dtype, LayoutType, MutAnyOrigin, address_space=AddressSpace.SHARED], ref[AddressSpace._value] barrier: SharedMemBarrier, k_coord: Int, row_coord: Int)

Load a tile using TMA async multicast load.

Was this page helpful?