Mojo module
utils
comptime valuesβ
elementwise_compute_lambda_typeβ
comptime elementwise_compute_lambda_type = def[dtype: DType, width: Int, *, alignment: Int = 1](IndexList[2], SIMD[dtype, width]) capturing -> SIMD[dtype, width]
elementwise_epilogue_typeβ
comptime elementwise_epilogue_type = def[dtype: DType, width: Int, *, alignment: Int = 1](IndexList[2], SIMD[dtype, width]) capturing -> None
Structsβ
- β
GemmShape: Helper class to unpack gemm dimension and layout. - β
InnerKernelID: - β
KernelConfig: Static configuration of the matmul inner kernel. - β
MicroKernelShape: Record describing the inner kernel shape. - β
SubMatmulConfig: Static configuration of sub-matrices in parallel matmul.
Functionsβ
- β
apply_epilogue: - β
calculate_tile_n_k: Helper heuristic function to decide on tile size to partition the matmul given the cache size and desired data layout. - β
dispatch_get_kernel_type: - β
get_kernel_config: Utility function to extract matmul configuration parameters for exported Functions. TODO: Add target dependent configuration parameters. - β
get_kernel_type: - β
get_matmul_arch_factor: - β
get_matmul_kernel_shape: - β
get_matmul_kernel_shape_ARM: - β
get_matmul_kernel_shape_x86: - β
get_matmul_num_tasks: Compute the number of tasks for parallel matmul. The max number of tasks is typically the number of threads/cores. - β
get_matmul_prefetch_b_distance_k: - β
get_min_task_size: - β
get_pack_data_size: Utility to compute the number of elements to pack in each tile. Returns: The number of elements to pack. - β
get_packB_unroll_factor: - β
get_partitioned_matmul: - β
get_partitioned_matmul_mojo: - β
get_partitioned_matmul_mojo_shape: - β
packA_i8mm: - β
partial_simd_load: Loads a vector with dynamic bound. - β
partial_simd_store: Stores a vector with dynamic bound. - β
partition_work: - β
select_inner_kernel: - β
use_i8mm_fn: - β
use_vnni_fn:
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!