CATLASS【免费下载链接】catlass本项目是CANN的算子模板库提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass⚠ 重要变更我们于2026年3月第一次社区会议正式确定CATLASS社区主线将开始新增对下一代昇腾硬件Ascend 950PR/Ascend 950DT的支持。为在不同平台区分底层接口的实现该新增支持将引入新的编译宏用户需要注意在对应编译命令中进行相应适配。新增宏CATLASS_ARCH用于指定目标架构。其取值可在SIMD BuiltIn关键字中查询__NPU_ARCH__列。Atlas A2 训练系列产品 / Atlas A2 推理系列产品2201Atlas A3 训练系列产品 / Atlas A3 推理系列产品2201Ascend 950PR/Ascend 950DT3510相关场景说明bisheng命令行场景bisheng ... -DCATLASS_ARCH2201 ...cmake场景add_compile_definitions(CATLASS_ARCH2201)msopgen/aclnn工程场景旧写法add_ops_compile_options(ALL OPTIONS -DCATLASS_ARCH2201 ...)新写法npu_op_kernel_options(ascendc_kernels ALL OPTIONS -DCATLASS_ARCH2201)msopgen工程中第一个参数默认为ascendc_kernels可根据实际情况进行调整CATLASS源码仓bash scripts/build.sh -DCATLASS_ARCH2201 ...库上代码参考examples/CMakeLists.txtLatest News[2026/04] 社区版 v1.5.0 发布新增Ascend950系列样例如 基础 Matmul、Flash Attention 推理、Per-Group Per-Block Quant Matmul TLA 等、TLA能力增强含origin_shape、TileView等Matmul 泛化工程 新增 103 动态 W8A8 Per-Token 量化。[2026/03] 社区主线正式开始新增对下一代昇腾硬件Ascend 950PR/Ascend 950DT的支持[2026/02] 社区版v1.4.0发布新增 StreamK Matmul、W4A4 Matmul、Sparse Matmul等示例[2025/12] 社区版v1.3.0发布支持FixPipe随路量化Matmul泛化工程新增多个模板并新增INT4反量化、2D卷积等示例[2025/10] 社区版v1.2.0发布新增Matmul算子泛化等示例[2025/09] CATLASS模板库正式开源请参阅CHANGELOG以查看当前及历史版本的详细更新内容。 简介CATLASS(CANNTemplates forLinearAlgebraSubroutines)中文名为昇腾算子模板库是一个聚焦于提供高性能矩阵乘类算子基础模板的代码库。通过抽象分层的方式将矩阵类算子代码模板化从而实现算子计算逻辑的白盒化组装让算子代码可复用可替换可局部修改。针对昇腾硬件特点进行设计可以支持复杂场景流水排布如Flash Attention等算子。在上层代码逻辑共享的同时支持底层硬件差异特化。模板库针对定制场景使能快速开发能力提供不同场景下的性能优化模块供开发者组装定制在定制shape下的性能能达到相应算子标杆性能的0.98~1.2倍。本代码库为CATLASS联创代码仓。结合昇腾生态力量共同设计研发算子模板并提供典型算子的高性能实现代码样例概述详情参考这里。⚡️ 快速上手为快速体验CATLASS的算子开发与使用请参考下述内容。快速入门快速上手模板库使用编译执行已有的算子样例。基础开发指南以基础Matmul算子为例介绍基于CATLASS的算子开发实践开发者实践: 从算子各层代码编写至编译测试再到Tiling调优与算子优化从新手到进阶的实践示例。 进阶参考下述资料可助力您深入开展CATLASS算子的开发与调优实现更优性能的GEMM类算子。CATLASS API: 介绍CATLASS的分层特征与通用矩阵乘法GEMM API。CATLASS设计总结: 汇总CATLASS工程的样例算法设计、swizzle策略、TLA设计等文档。 目录结构说明关键目录如下详细目录参见项目目录。catlass ├── cmake # cmake工程文件 ├── docs # 文档存放目录 ├── examples # kernel算子样例总目录 | ├── 00_basic_matmul # 单算子样例 | | ├── basic_matmul.cpp # Host侧算子调用 | | ├── CMakeLists.txt | | └── README.md # 算子说明示例 | ├── ... | └── python_extension # Python调用CATLASS算子的工程组件 ├── include # 模板头文件集 | ├── catlass # 不同层级的算子实现逻辑 | └── tla # 计算关联的基础数据结构 ├── scripts # 编译脚本 | └── build.sh # 算子样例编译脚本 ├── tests # 测试用例 └── tools # 相关工具 └── tuner # Tiling自动寻优工具 软硬件配套说明CATLASS所需的软硬件环境依赖如下昇腾产品Atlas A2 训练系列产品 / Atlas A2 推理系列产品Atlas A3 训练系列产品 / Atlas A3 推理系列产品Ascend 950PR/Ascend 950DTCPU架构aarch64/x86_64系统CANN支持的Linux进行兼容性查询软件依赖gcc 7.5, 13.0cmake 3.16python 3.8, 3.12不同CATLASS发行版可支持的硬件平台及所需的最低CANN版本如下表CATLASS社区版本最低支持CANN包版本支持昇腾产品当前8.5.09.0.0.beta2Ascend 950PR/Ascend 950DTAtlas A2 训练系列产品 / Atlas A2 推理系列产品Atlas A3 训练系列产品 / Atlas A3 推理系列产品Ascend 950PR/Ascend 950DTv1.5.08.2.RC19.0.0.beta2Ascend 950PR/Ascend 950DTAtlas A2 训练系列产品 / Atlas A2 推理系列产品Atlas A3 训练系列产品 / Atlas A3 推理系列产品Ascend 950PR/Ascend 950DTv1.4.0~v1.2.28.2.RC1Atlas A2 训练系列产品 / Atlas A2 推理系列产品Atlas A3 训练系列产品 / Atlas A3 推理系列产品v1.2.1~v1.0.08.2.RC1.alpha002Atlas A2 训练系列产品 / Atlas A2 推理系列产品Atlas A3 训练系列产品 / Atlas A3 推理系列产品下述环境经测试支持当前CATLASS构建系统CANNgcccmakepythonUbuntu 20.04.58.5.09.33.163.10Ubuntu 22.04.58.5.011.33.223.10openEuler 22.03 SP48.5.010.33.223.10Ubuntu 22.04.5 编译950样例9.0.0.beta211.33.223.10 合作贡献者华南理工大学 陆璐教授团队科大讯飞 研究院工程组相关信息贡献指南安全声明许可证【免费下载链接】catlass本项目是CANN的算子模板库提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考