IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /max/get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /max/get-started.md).

Mojo struct

LoadStore_i8mm

struct LoadStore_i8mm[dtype: DType, simd_size: Int, single_row: Bool, tile_rows: Int, tile_columns: Int]

Handles C-tile load and store operations for the I8MM microkernel.

Manages a local accumulator tile of shape (tile_rows, tile_columns // simd_size) and provides helpers to initialize it, load an existing C sub-tile from memory, and store results back with optional boundary checks.

Parameters​

  • ​dtype (DType): Accumulator data type.
  • ​simd_size (Int): SIMD lane count (must be 4 for I8MM).
  • ​single_row (Bool): Whether the tile has only one effective row (M=1 path).
  • ​tile_rows (Int): Number of accumulator rows (half of kernel_rows for I8MM pairs).
  • ​tile_columns (Int): Number of accumulator columns (kernel_cols).

Fields​

  • ​output_tile (_Accumulator[dtype, tile_rows, LoadStore_i8mm[dtype, simd_size, single_row, tile_rows, tile_columns].num_simd_cols, simd_size]): Accumulation buffer holding the partial sums for the output tile.
  • ​skip_boundary_check (Bool): Whether to skip partial-tile boundary handling on load and store.

Implemented traits​

AnyType, ImplicitlyDeletable

comptime members​

num_simd_cols​

comptime num_simd_cols = (tile_columns // simd_size)

Number of SIMD-width column groups in the output tile.

Methods​

__init__​

def __init__(out self, skip_boundary_check: Bool)

Initializes the tile buffer with a boundary-check setting.

Args:

  • ​skip_boundary_check (Bool): Whether to skip partial-tile boundary handling on load and store.

Was this page helpful?