CANN/catlass Gemm/Block类模板概述

📅 2026/7/13 10:56:53 👁️ 阅读次数 📝 编程学习
CANN/catlass Gemm/Block类模板概述

Gemm/Block 类模板概述

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

API 清单

blockMmad清单

组件描述
block_mmad基础模板,包含BlockMmad
block_mmad_pingpongBlockMmad偏特化实现,pingpong矩阵乘

swizzle清单

组件描述
block_swizzleswizzle基本方法介绍
GemmIdentityBlockSwizzleGemm算子基础swizzle策略

API 拆解

blockMmad

封装了Block层的mmad计算(矩阵乘计算),对应于昇腾NPU的一个AI Core上的计算。 通过模板参数,BlockMmad_接收矩阵计算中的Shape(特征尺寸)、Layout(数据排布,如行优先、列优先排布)与DType(数据类型)方面的信息。

命名空间为Catlass::Gemm::Block,包含如下核心成员:

类型名称功能
构造函数BlockMmad()通常包含初始化buffer、Event ID,插入流水间同步setFlag
析构函数~BlockMmad()通常包含插入流水间同步waitFlag
函数void operator()执行一个block任务块的矩阵乘计算

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

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