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?
Thank you! We'll create more content like this.
Thank you for helping us improve!