Skip to main content
Log in

Mojo struct

TiledMatmul

struct TiledMatmul[a_mut: Bool, b_mut: Bool, //, config: KernelConfig, transpose_b: Bool, b_packed: Bool, elementwise_epilogue_enabled: Bool, kernel_id: InnerKernelID, a_type: DType, a_shape: DimList, a_origin: Origin[a_mut], b_type: DType, b_shape: DimList, b_origin: Origin[b_mut], c_type: DType, c_shape: DimList, c_origin: MutableOrigin, algorithm: InnerMatmulKernel]

Tiled matmul implementation integrating packing, inner loop and tile partitions.

TODO: add tag based implementation dispatch. TODO: add fusion hooks.

Fields

  • alg (algorithm):
  • c (NDBuffer[c_type, 2, c_origin, c_shape]):
  • a (NDBuffer[a_type, 2, a_origin, a_shape]):
  • b (NDBuffer[b_type, 2, b_origin, b_shape]):
  • tile_n_k (Index[2]):
  • global_tile_offset (GemmShape):
  • global_tile_shape (GemmShape):
  • b_tile_generator (BTileGenerator[config, a_type, b_type, c_type, b_shape, transpose_b, b_packed, b_origin]):
  • elementwise_epilogue_fn (fn(GemmShape, GemmShape) escaping -> None):

Implemented traits

AnyType, Copyable, ExplicitlyCopyable, Movable, UnknownDestructibility