文件最后提交记录最后更新时间
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
2 个月前
1 个月前
README.md

Matmul API样例介绍

概述

本样例集介绍了Matmul API不同特性的典型用法,给出了对应的端到端实现。

样例列表

目录名称 功能描述
batch_matmul 批量处理Matmul计算的样例
batch_matmul_bias_reuse 批量处理Matmul计算时,每个Batch复用同一个Bias矩阵的Matmul样例
batch_matmul_iterate_n_batch 多次批量处理Matmul计算的样例,包括非异步场景和异步场景的实现
matmul 调用Matmul API实现matmul样例
matmul_a2b2_share 开启 A2(L0A Buffer) 和 B2(L0B Buffer) 全局管理的Matmul样例
matmul_async_iterate 异步场景下的Matmul样例,实现方式为调用Iterate和GetTensorC输出到VECIN
matmul_async_iterate_all 异步场景下的Matmul样例,实现方式为调用IterateAll输出到GM
matmul_callback Matmul API模板参数MatmulCallbackFunc的自定义使用方式
matmul_channelsplit_output 矩阵乘输出Channel拆分功能的Matmul样例
matmul_co1_output 用户自主管理CO1(L0C Buffer)的Matmul样例
matmul_constant_tiling Tiling常量化的Matmul样例,在tiling参数固定的场景下,减少运行时的Scalar开销
matmul_format_column_major 输入输出矩阵为COLUMN_MAJOR(列优先)格式排布的Matmul样例
matmul_format_gemv 实现矩阵向量乘GEMV(General Matrix-Vector multiplication)的Matmul样例
matmul_format_nd_align 在输入矩阵的N方向非对齐场景下,矩阵乘输出时使能N方向对齐的Matmul样例
matmul_fp8 A、B矩阵为hifloat8、fp8_e4m3fn、fp8_e5m2数据类型输入的Matmul样例
matmul_fused 分核AIC、AIV融合编程实现,主要介绍了Matmul高阶API的MIX模式,Matmul API内部会自动控制AIC、AIV的核间同步
matmul_fused_mannul 分核AIC、AIV融合编程实现,主要介绍了Matmul高阶API的纯Cube模式,需要调用相关接口实现手动控制AIC、AIV的核间同步
matmul_ibshareAB 调开启IBShare功能,复用L1 Buffer上相同的A矩阵或者B矩阵数据的样例,本样例为A矩阵和B矩阵同时复用场景
matmul_ibshareB 调开启IBShare功能,复用L1 Buffer上相同的A矩阵或者B矩阵数据的样例,本样例为仅B矩阵复用场景
matmul_int4 A、B矩阵为int4b_t数据类型输入的Matmul样例
matmul_k_reorder_load 使能K轴错峰加载数据特性的Matmul样例,减少多核对Global Memory地址访问冲突概率
matmul_l0cache 使能L0缓存特性的Matmul样例,减少MTE1重复搬运
matmul_l2cache 使能L2 Cache切分特性的Matmul样例,提高L2 Cache的利用率
matmul_mixdualmaster 使能双主模式(MixDualMaster)的Matmul样例,AIC和AIV独立运行代码,不依赖消息驱动,用于提升性能
matmul_mn_double_buffer M/N轴方向的流水并行的Matmul样例
matmul_multi_core_unaligned 多核非对齐切分,即多核切分尾块的实际计算量小于tiling中对应参数的Matmul样例
matmul_mx 在MXFP4/MXFP8数据格式下的带有量化系数的矩阵乘法,即MxMatmul样例
matmul_mx_scale_cache 在MXFP4/MXFP8数据格式下,量化系数矩阵scale在L1 Buffer上开启多倍缓存的MxMatmul样例
matmul_mx_ub_tscm_nz 在MXFP4/MXFP8数据格式下,使用用户自定义TSCM、VECOUT的输入的MxMatmul样例
matmul_nbuffer33 NBuffer33算法的Matmul样例,实现搬入搬出带宽平衡从而提升效率
matmul_partial_output Matmul高阶API实现开启Partial Output功能的样例
matmul_preload M/N方向预加载的Matmul样例,可以减少MET2间隙
matmul_quant 输出随路反量化的Matmul样例,支持同一系数的反量化模式和向量的反量化模式
matmul_sparse 4:2稀疏矩阵乘(Sparse Matmul)的Matmul样例,可以减少矩阵乘计算时的内存占用和计算量
matmul_splitk 多核切K场景下的Matmul样例,将输入矩阵沿K轴切分后分配到多核上并行处理
matmul_splitm 多核切M场景下的Matmul样例,将输入矩阵沿M轴切分后分配到多核上并行处理
matmul_triangle TrianUpperMatmulPolicy(上三角模板策略)和TrianLowerMatmulPolicy(下三角模板策略)的Matmul样例
matmul_tscm 使用数据来源为GM的用户自定义TSCM的输入的Matmul样例,开发者可以自主管理L1 Buffer以高效利用硬件资源
matmul_tscm_src_vecout 使用数据来源为VECOUT的用户自定义TSCM的输入的Matmul样例,开发者可以自主管理L1 Buffer以高效利用硬件资源
matmul_unitflag 使能UnitFlag功能的Matmul样例,使样例中的CUBE计算流水与FIXPIPE数据搬出流水并行
matmul_vecout 使用用户自定义VECOUT的输入的Matmul样例,开发者可以自主管理Unified Buffer以高效利用硬件资源