For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /get-started.md).
Mojo struct
PackMatrixRows
struct PackMatrixRows[original_mut: Bool, //, dtype: DType, simd_size: Int, row_inner_size: Int, packed_origin: MutOrigin, original_origin: Origin[mut=original_mut], packed_layout: TensorLayout, original_layout: TensorLayout]
Pack rows from a matrix into the mlas packed layout and extract inner vectors of rows into the packed inner dimension, e.g. extract tile [X, Y] and pack into [Xo][Y][Xi].
Parameters
- original_mut (
Bool): True if the original matrix buffer is mutable (inferred). - dtype (
DType): Element type of the matrix being packed. - simd_size (
Int): SIMD vector width fordtype. - row_inner_size (
Int): Size of the inner dimension along rows in the packed layout; must be a multiple ofsimd_size. - packed_origin (
MutOrigin): Origin of the packed outputTileTensor. - original_origin (
Origin[mut=original_mut]): Origin of the original inputTileTensor. - packed_layout (
TensorLayout): Layout of the packed outputTileTensor. - original_layout (
TensorLayout): Layout of the original inputTileTensor.
Fields
- packed_matrix (
TileTensor[dtype, packed_layout, packed_origin]): - original_matrix (
TileTensor[dtype, original_layout, original_origin]): - global_offset (
IndexList[Int(2)]): - pack_tile_dim (
IndexList[Int(2)]): - valid_data_dim (
IndexList[Int(2)]): - valid_simd_dim (
IndexList[Int(2)]):
Implemented traits
AnyType,
Copyable,
Deinitable,
ImplicitlyCopyable,
Movable
Methods
run
static def run(packed_matrix: TileTensor[dtype, packed_layout, packed_origin], original_matrix: TileTensor[dtype, original_layout, original_origin], global_offset: IndexList[Int(2)], pack_tile_dim: IndexList[Int(2)], valid_data_dim: IndexList[Int(2)])
Interface function to run the packing routine. Args: packed_matrix: Pre-allocated buffer space for packed data. original_matrix: Data buffer containing the original matrix to pack. global_offset: Offset to use when indexing the original matrix. pack_tile_dim: 2D dimension tuple describing the size of the packed tile. valid_data_dim: 2D dimension tuple describing the amount of valid data on the global buffer starting from the offset.