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