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
BlockwiseFP8Smem
struct BlockwiseFP8Smem[a_type: DType, b_type: DType, c_type: DType, a_scales_type: DType, transpose_b: Bool, *, config: MatmulConfig[a_type, b_type, c_type, transpose_b]]
SMEM struct for blockwise FP8 matmul with CLC scheduler pipeline.
Thin wrapper over BlockwiseFP8TileCore + SmemPipelineBundle.
Fieldsβ
- βcore (
BlockwiseFP8Smem[a_type, b_type, c_type, a_scales_type, transpose_b, config=config].Core): - βpipelines (
BlockwiseFP8Smem[a_type, b_type, c_type, a_scales_type, transpose_b, config=config].Pipelines):
Implemented traitsβ
comptime membersβ
Coreβ
comptime Core = BlockwiseFP8TileCore[a_type, b_type, c_type, a_scales_type, transpose_b, config=config]
Pipelinesβ
comptime Pipelines = SmemPipelineBundle[(config // config), config.num_accum_pipeline_stages, config.num_clc_pipeline_stages, BlockwiseFP8TilePayload[a_type, b_type, a_scales_type, IndexList(config.block_tile_shape[Int(0)], config.block_tile_shape[Int(2)], __list_literal__=NoneType(None)), IndexList(config.block_tile_shape[Int(1)], config.block_tile_shape[Int(2)], __list_literal__=NoneType(None)), IndexList(Int(1), config.block_tile_shape[Int(0)], __list_literal__=NoneType(None)), config.num_pipeline_stages]]
Methodsβ
a_tilesβ
def a_tiles(ref[AddressSpace._value] self) -> Self.Core.ATileArray
Get A tile array accessor.
Returns:
Self.Core.ATileArray
b_tilesβ
def b_tiles(ref[AddressSpace._value] self) -> Self.Core.BTileArray
Get B tile array accessor.
Returns:
Self.Core.BTileArray
c_tilesβ
def c_tiles(ref[AddressSpace._value] self) -> Self.Core.CTileArray
Get C tile array accessor.
Returns:
Self.Core.CTileArray
a_scales_tilesβ
def a_scales_tiles(ref[AddressSpace._value] self) -> Self.Core.AScalesTileArray
Get A-scales tile array accessor.
Returns:
Self.Core.AScalesTileArray
ab_pipeline_sizeβ
static def ab_pipeline_size() -> Int
Total size of A+B tiles for all pipeline stages (in elements).
Returns:
a_scales_pipeline_sizeβ
static def a_scales_pipeline_size() -> Int
Total size of A-scales tiles for all pipeline stages (in elements).
Returns:
c_output_sizeβ
total_tile_sizeβ
static def total_tile_size() -> Int
Total tile storage size (A+B+A-scales+C) in elements.
Returns:
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!