CANN/catlass Block Mmad基础模板
2026/5/9 11:56:11 网站建设 项目流程

Block Mmad基础模板

【免费下载链接】catlass本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass

代码位置

[TOC]

BlockMmad

功能说明

block层级mmad计算,非TLA实现,实际计算由偏特化模板承载,通过DispatchPolicy等模板参数命中偏特化分支。

模板说明

template < class DispatchPolicy, // 所用Dispatchpolicy class L1TileShape, // L1基本块 class L0TileShape, // L0基本块 class AType, // 封装了A矩阵的数据类型和排布信息 class BType, // 封装了B矩阵的数据类型和排布信息 class CType, // 封装了C矩阵的数据类型和排布信息 class BiasType = void, // 封装了Bias的数据类型和排布信息 class TileCopy = Gemm::Tile::TileCopy<typename DispatchPolicy::ArchTag, AType, BType, CType, BiasType>, // Tile层级搬运 class TileMmad = Gemm::Tile::TileMmad<typename DispatchPolicy::ArchTag, AType, BType, BiasType> // Tile层级mmad计算 > struct BlockMmad { static_assert(DEPENDENT_FALSE<DispatchPolicy>, "BlockMmad is not implemented for this DispatchPolicy"); };

注意到模板参数中,BiasType默认使用void,TileCopy默认使用Gemm::Tile::TileCopy,TileMmad默认使用Gemm::Tile::TileMmad

BlockMmadTla

(待完善)

BlockGemm

(待完善)

【免费下载链接】catlass本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询