Gemm/Kernel 类模板概述
【免费下载链接】catlass本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass
API 清单
| 组件名 | 描述 |
|---|---|
| basic_matmul | Common模板基础矩阵乘 |
| basic_matmul_tla_visitor | EVG 的 GM workspace kernel 入口 |
| basic_matmul_tla_ub_visitor | EVG 的 UB workspace kernel 入口 |
API 拆解
命名空间为Catlass::Gemm::Kernel,类模板包含如下核心成员:
| 类型 | 名称 | 功能 |
|---|---|---|
| struct | Params | kernel通过<<<>>>>调用核函数时的入参 |
| struct | Arguments | device封装后kernel后使用的入参 |
| 静态函数 | bool CanImplement | Arguments校验接口 |
| 静态函数 | size_t GetWorkspaceSize | 基于Arguments计算需要的workSpaceSize |
| 静态函数 | Params ToUnderlyingArguments | 将Arguments转换为核函数入参Params |
| 函数 | void operator()<AscendC::AIC> | 输入Params,完成AIC上mmad计算 |
| 函数 | void operator()<AscendC::AIV> | 输入Params,完成AIV上计算,如前处理、尾处理等 |
【免费下载链接】catlass本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考