本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
kirin incremental build Co-authored-by: dwx616901<duguangyuan2@h-partners.com> # message auto-generated for no-merge-commit merge: !13065 merge cherry-pick-mr-12846-1790566824397-auto into master kirin incremental build Created-by: dwx616901 Commit-by: dwx616901 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!13065 | 16 天前 | |
fix(sparse_flash_mla): 编译期隔离 DSpark 路径 Co-authored-by: weixin_44156099<heyuhang20@h-partners.com> # message auto-generated for no-merge-commit merge: !12628 merge fix/smla-dspark-constexpr-master into master fix(sparse_flash_mla): 编译期隔离 DSpark 路径 Created-by: weixin_44156099 Commit-by: weixin_44156099 Merged-by: cann-robot Description: ## 描述 - 增加 DSpark tiling key,将 DSpark 专用流水、缓存和稀疏索引逻辑改为编译期分支,避免非 DSpark 的 SWA/HCA kernel 保留相关路径。 - 将 DSpark 向量路径中的全流水线同步替换为实际依赖的事件同步,缩小同步范围。 ## 关联的Issue Fixes #5561 ## 测试 - SparseFlashMla 算子包构建通过。 - DSpark 精度用例通过,SWA/HCA 冒烟精度用例通过。 - SWA/HCA 主 kernel task 时间完成交叉对比,SWA 波动范围为 -2.27%~+2.06%,HCA 波动范围为 -1.62%~-0.25%,未发现性能劣化。 ## 文档更新 无。改动仅涉及算子内部编译期分支与流水同步。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!12628 | 15 天前 | |
refactor: switch gmm finalize routing mx to tensorapi Co-authored-by: jayshu<shuhaojie@huawei.com> # message auto-generated for no-merge-commit merge: !12933 merge codex/gmmfr-weightnd-fp32-legacy-v2 into master refactor: switch gmm finalize routing mx to tensorapi Created-by: jayshu Commit-by: jayshu Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1.通过tensorapi 新增支持mxfp4 mxfp8输入weightnz及bf16输出、fp32输出各类dtype组合:2.gmmfr fp32&bf16输出性能优化 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/5620 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟 + 算子泛化测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了block和gemm中的文档 docs/API/epilogue/block/block_epilogue_qgmm_mx_finalize_routing.md docs/API/gemm/kernel/block_prologue_qgmm_mx_finalize_routing.md docs/API/gemm/kernel/kernel_qgmm_mx_finalize_routing.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!12933 | 16 天前 | |
docs(op_graph): normalize product names in header comments Co-authored-by: zzzzzzyf_<zhouyunfei10@huawei.com> # message auto-generated for no-merge-commit merge: !12837 merge master into master docs(op_graph): normalize product names in header comments Created-by: zzzzzzyf_ Commit-by: zzzzzzyf_ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#5647](https://gitcode.com/cann/ops-transformer/issues/5647) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 因修改注释,不涉及代码 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 随代码自动更新 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!12837 | 20 天前 | |
docs(attention_worker_combine): 补充文档确定性说明 Co-authored-by: guoqiuhao<guoqiuhao1@huawei.com> # message auto-generated for no-merge-commit merge: !13141 merge att-dev into master docs(attention_worker_combine): 补充文档确定性说明 Created-by: guoqiuhao Commit-by: guoqiuhao Merged-by: cann-robot Description: ## 描述 docs(attention_worker_combine): 补充文档确定性说明 ## 关联的Issue [#5720](https://gitcode.com/cann/ops-transformer/issues/5720) ## 测试 不涉及 ## 文档更新 attention/attention_worker_combine/docs/aclnnAttentionWorkerCombine.md docs/zh/op_api_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!13141 | 15 天前 | |
fix product master2 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !13074 merge master into master fix product master2 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!13074 | 15 天前 | |
feat: 新增experimental sparse_flash_attention/sparse_flash_attention_grad算子开源适配 Co-authored-by: weili_zju<weili09@meituan.com> # message auto-generated for no-merge-commit merge: !13110 merge feature/sfa into master feat: 新增experimental sparse_flash_attention/sparse_flash_attention_grad算子开源适配 Created-by: weili_zju Commit-by: weili_zju Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/5704 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!13110 | 15 天前 | |
fix product master2 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !13074 merge master into master fix product master2 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!13074 | 15 天前 | |
fix product master2 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !13074 merge master into master fix product master2 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!13074 | 15 天前 | |
fix product master2 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !13074 merge master into master fix product master2 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!13074 | 15 天前 | |
fix(mega-moe): use typed L2 cache mode for GM-to-UB copy Co-authored-by: macech<chenluchun1@huawei.com> # message auto-generated for no-merge-commit merge: !13069 merge fix/mega-moe-l2-cache-mode into master fix(mega-moe): use typed L2 cache mode for GM-to-UB copy Created-by: macech Commit-by: macech Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!13069 | 15 天前 | |
fix missing hf32 closed Co-authored-by: liuyun_nj<liuyun90@h-partners.com> # message auto-generated for no-merge-commit merge: !12948 merge master into master fix missing hf32 closed Created-by: liuyun_nj Commit-by: liuyun_nj Merged-by: cann-robot Description: ## 描述 补充HF32复位 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!12948 | 15 天前 | |
fix: moe_token_unpermute_with_routing_map pad path 0-size UB buffer OOB Co-authored-by: bartonfang<fangziyang1@huawei.com> # message auto-generated for no-merge-commit merge: !10911 merge fix-moe-unpermute-pad-memcheck into master fix: moe_token_unpermute_with_routing_map pad path 0-size UB buffer OOB Created-by: bartonfang Commit-by: bartonfang Merged-by: cann-robot Description: ## 描述 pad 路径 tiling 中 num_tokens_*_core_each_loop 用 GetAlign() 计算: - 每个核 token 数小于 maxNPerLoopForUb 时结果为 0,kernel 用该值 InitBuffer 出 **0 字节 UB 队列**,Compute 仍往里写数据,mssanitizer 报 illegal read of size 4 @0x0(TILING_KEY 1000); - token 数大于 maxNPerLoopForUb 时结果被向下对齐为 N/maxN*maxN,单循环元素数可能超过 UB 容量;且多循环时 Compute 未按 index 推进读写偏移,大 shape 下读写错位、后续循环漏写。 修复: - tiling:each_loop 取 min(N, maxNPerLoopForUb),保证单循环不超 UB 且不为 0; - kernel:InitBuffer 按 max(each_loop, last_loop) 分配;Compute 按 index * each_loop 推进 sorted_indices 读取与 GM 写入偏移;loop_time_current_core == 0 时直接返回,避免空循环。 ## 关联的Issue 关联issue:https://gitcode.com/cann/ops-transformer/issues/4278 ## 测试 - 算子 ST 全量 **203/203** 通过(pad / non-pad / non-pad-minus-one 三种模式); - pad 路径定向矩阵 15 例:功能 **15/15** 通过、mssanitizer memcheck **15/15**(本算子内核无越界告警,工具报的越界项均来自 harness 的框架算子); - 三模式扩展矩阵 23 例(含 issue 小 shape、每 expert 1 token、front/tail 分核、多循环大 shape、fp32/fp16/bf16 与混精)**23/23** 通过; - 编译:ascend910b / ascend910_93 通过。 ## 文档更新 无。 ## 类型标签 - [x] 🐛 Bug修复 See merge request: cann/ops-transformer!10911 | 15 天前 | |
fix product master2 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !13074 merge master into master fix product master2 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!13074 | 15 天前 | |
fix(oat):done-marker去重限无参调用;-f超长分批扫描防静默放行 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !12579 merge fix into master fix(oat):done-marker去重限无参调用;-f超长分批扫描防静默放行 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: 关联Issue https://gitcode.com/cann/ops-transformer/issues/5016 ## 摘要 修复 scripts/oat_check.sh 的 done-marker 去重缺陷(显式文件清单调用被陈旧 marker 静默跳过,导致版权声明漏查),并完善 pre-commit 指导书(新增快速使用节 + 措辞修正)。单笔提交,2 文件 +118/-22。 ## 一、oat_check.sh 修复(+3/-3) ### 问题机制 脚本原逻辑(顺序缺陷): 2a. 分叉分支 → 检查 .done_<HEAD> marker → 存在则 exit 0(静默跳过) 3. if [ $# -gt 0 ] → 参数模式(扫传入清单) elif PR-range → 扫分支全量变更 else → 扫 staged **marker 跳过判断排在参数判断之前**——在分叉分支上,若分支 tip 曾有过一次通过的 PR-range 扫描(marker 落盘),之后**同一 tip** 上 stage 新文件 commit 时(pre-commit 传入 staged 清单),**带参数也被 SKIP**,OAT 完全不跑。 ### 修复(三处守卫) | 位置 | 改动 | |---|---| | 2a marker 跳过 | [ $# -eq 0 ] &&——**显式文件清单调用永不跳过**(核心修复) | | 2b flock 复查 | 同款守卫(并行实例去重不影响显式调用) | | 末尾 marker 落盘 | 仅无参 PR-range 模式才落——args 模式(staged 子集)不得冒充全量覆盖 | ### 行为验证(四项全过) | 场景 | 旧逻辑 | 新逻辑 | |---|---|---| | A. marker 存在 + 显式传坏版权头文件 | ❌ 静默 SKIP(漏检) | ✅ 扫描并拦截 exit=1 | | B. 无参 + marker 存在 | SKIP(CI 去重) | ✅ 仍 SKIP(去重保留) | | C. args 模式通过 | 落 marker(冒充全量) | ✅ 不落 marker | | D. 无参 PR-range 通过 | 落 marker | ✅ 仍落 marker | 另经全量实测:find mc2 -type f | xargs pre-commit run --files(21 秒)在新逻辑下稳定拦截,扫出 25 个存量旧版权头(旧逻辑在分叉分支会被 marker 静默吞掉)。 ### 语义说明 - marker 语义收窄为"该 HEAD 的**全量 PR-range** 已扫描"——args 模式(staged 子集)不再产生/消费 marker,两类调用互不干扰 - CI 行为不变(CI 为全新 checkout,无 marker;且 CI 传参走 args 模式本就不受影响) - 失败路径本就不落 marker(被拦→修复→重新 commit 必然重扫),该行为保持 ### 附:-f 参数超长分批扫描(同文件) - **问题**:find mc2 -type f | xargs pre-commit run --files 全量扫描时,OAT 命令 -f 参数(逗号拼接文件列表)超 Linux 单参数上限 MAX_ARG_STRLEN ≈ 128KB,execve() 返回 E2BIG(exit 126),脚本走"意外退出码"分支**静默放行**(exit 0)——实测 1821 文件 / 131KB 即触发 - **修复**: 1. -f 参数超 120KB 时自动**分批扫描**(每批 < 120KB),逐批累计问题数,任一批有问题即拦截 2. 意外退出码不再静默放行——改为 **exit 1 阻塞提交**(防 OAT 进程崩溃时合规检查被绕过) - **验证**:1821 文件分 2 批扫描 → 拦截 23 个存量旧版权头(旧版此处静默通过);单文件场景不受影响 ## 二、pre-commit 指导书完善(docs/zh/develop/pre-commit_guide.md,+23/-6) ### 新增快速使用节 文档最开头新增"快速使用":三条安装命令(pre-commit 安装 / pre-commit install / git pc 别名)+ 一句"完成上述配置后,git commit 时将自动执行检查",原有完整章节结构不变——新环境 30 秒上手。 ### 措辞修正 | 位置 | 原文 | 修正 | |---|---|---| | §四 | git add . && git commit | git add <文件清单> && git commit(与流程规范"禁用 add . 防临时文件误提交"对齐) | | §五 clang-format | "rebase 最新代码后再做 pre-commit;重新 git add 后再次 commit" | "钩子会自动修复文件,重新 git add 后再次 commit 即可"(删去与基线无关的误导半句) | | 大标题 | Pre-commit | pre-commit(工具官方名小写) | See merge request: cann/ops-transformer!12579 | 23 天前 | |
补充kda_input_proj算子的ut和st Co-authored-by: yolic<chenyuning1@huawei.com> # message auto-generated for no-merge-commit merge: !12470 merge ut_kda into master 补充kda_input_proj算子的ut和st Created-by: yolic Commit-by: yolic Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 补充kda_input_proj算子的ut和st ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue [#5519](https://gitcode.com/cann/ops-transformer/issues/5519) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 补充了测试看护,流水线已通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!12470 | 21 天前 | |
fix product master2 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !13074 merge master into master fix product master2 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!13074 | 15 天前 | |
pre-commit: set AllowShortFunctionsOnASingleLine to Empty Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !10461 merge fix_2 into master pre-commit: set AllowShortFunctionsOnASingleLine to Empty Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!10461 | 1 个月前 | |
产品文档png文件名改为英文名 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !9654 merge master into master 产品文档png文件名改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 产品文档中的png图片名由中文改为英文 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3899](https://gitcode.com/cann/ops-transformer/issues/3899) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> png和相关的link md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9654 | 2 个月前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
fix(pre-commit): oat-check增加require_serial与SKIP日志,修复OAT合规检查漏拦 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11215 merge fix into master fix(pre-commit): oat-check增加require_serial与SKIP日志,修复OAT合规检查漏拦 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## issue:https://gitcode.com/cann/ops-transformer/issues/5016 ## 描述 ### 改动原因 oat-check hook 存在两个导致合规检查失效的问题: 1. 未设置 require_serial(默认 false),多核机器上 pre-commit 会把文件列表拆成多块并行调用 scripts/oat_check.sh。脚本内部 flock 串行化 + done-marker 缓存机制下,第一个抢到锁的分块(可能只含干净文件)扫完即写 marker,其余分块全部静默跳过——含版权头不合规文件的提交可整体漏过 OAT 检查(实测 6 文件混入 1 个问题文件场景,6 次中 5 次漏拦)。 2. 命中 done-marker 时静默 exit 0,hook 显示 "Passed" 但实际未做任何扫描,易造成误判(ops-nn 仓会输出 [SKIP] 日志)。 ### 改动方法 - .pre-commit-config.yaml:oat-check hook 增加 require_serial: true,禁止并行分块,所有 staged 文件单进程全量传入脚本检查 - scripts/oat_check.sh:命中 done-marker 时输出 [OAT] [SKIP] Already scanned HEAD=<sha> 日志后再退出(与 ops-nn 仓脚本对齐,两仓脚本现已一致) ### 兼容性 pre-commit 配置与检查脚本改动,不影响编译产物与算子功能。 ## 关联的Issue ## 测试 - 修复前:6 文件(5 干净 + 1 版权头不合规)提交场景,6 次重跑 5 次整体 Passed 漏拦 - 修复后:同场景连续 3 轮全部准确 Failed 拦截,问题文件稳定检出 - done-marker 命中场景验证:输出 [SKIP] Already scanned HEAD=xxx 日志,跳过可见 ## 文档更新 无 ## 类型标签 - [x] 🐛 缺陷修复 See merge request: cann/ops-transformer!11215 | 30 天前 | |
fix: Modify the AIDD docs issue Co-authored-by: zwj223<zhangwenjing55@h-partners.com> # message auto-generated for no-merge-commit merge: !9326 merge master into master fix: Modify the AIDD docs issue Created-by: zwj223 Commit-by: zwj223 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改AIDD扫描的核心资料问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3995](https://gitcode.com/cann/ops-transformer/issues/3995) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> torch_api_list.md op_list.md ascend950_op_list.md aclnn返回码.md 互推导关系.md ... ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9326 | 2 个月前 | |
feat: 算子仓适配Ascend5162A芯片编译 Co-authored-by: wuxuening<wuxuening2@huawei.com> # message auto-generated for no-merge-commit merge: !12191 merge feat/ascend5162a-build-support into master feat: 算子仓适配Ascend5162A芯片编译 Created-by: wuxuening Commit-by: wuxuening Merged-by: cann-robot Description: ## 描述 算子仓适配 Ascend5162A 芯片编译:在编译框架(CMakeLists、build 脚本、SOC 映射)与 UT 桩代码中注册 ascend5162a 计算单元(arch 目录复用 arch35),支持通过 --soc=ascend5162a 编译输出 5162A 算子包。 改动清单(8 个文件): | 文件 | 改动 | |---|---| | CMakeLists.txt | ASCEND_ALL_COMPUTE_UNIT、SOC_VERSION_LIST、ARCH_DIRECTORY_LIST 增加 ascend5162a(arch35) | | build.sh | SUPPORT_COMPUTE_UNIT_SHORT 增加 ascend5162a | | cmake/scripts/util/const_var.py | SOC_MAP_EXT 增加 ascend5162a → Ascend5162A | | cmake/scripts/util/opdesc_parser.py | SOC_TO_SHORT_SOC_MAP 增加 ascend5162a | | scripts/util/const_var.py | SOC_MAP_EXT 增加 ascend5162a → Ascend5162A | | tests/ut/framework_normal/common/op_api_csv_case_loader.h | SOC_VERSION 映射增加 Ascend5162A | | tests/ut/framework_normal/op_api/stub/opdev/platform.cpp | ASCEND5162A ToString 映射 | | tests/ut/framework_normal/op_api/stub/opdev/platform.h | SocVersion 枚举增加 ASCEND5162A | ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5356 ## 测试 本地环境(CANN 9.2.0,aarch64)执行 build.sh --soc=ascend5162a,编译通过并成功生成算子包 cann-5162a-ops-transformer_9.2.0_linux-aarch64.run;pre-commit 全量检查通过。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!12191 | 26 天前 | |
产品文档png文件名改为英文名 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !9654 merge master into master 产品文档png文件名改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 产品文档中的png图片名由中文改为英文 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3899](https://gitcode.com/cann/ops-transformer/issues/3899) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> png和相关的link md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9654 | 2 个月前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
feat: add BlockAttnResPrepare tiling and kernel Co-authored-by: zhaoyingchao<zhaoyingchao1@hisilicon.com> # message auto-generated for no-merge-commit merge: !10972 merge codex/block-attn-res-prepare-core into master feat: add BlockAttnResPrepare tiling and kernel Created-by: zhaoyingchao2 Commit-by: zhaoyingchao Merged-by: cann-robot Description: ## 关联 Issue 关联 [#4749](https://gitcode.com/cann/ops-transformer/issues/4749) ## 描述 新增 BlockAttnResPrepare 的算子原型、InferShape、host tiling 与 Ascend 950 kernel: - tiling key 1000:纯 AIV 小规格回退路径。 - tiling key 2000:1 AIC : 2 AIV mixed 路径,调用 ops-tensor 公共 kernel 模板。 - 固定 OPTENSOR_TAG_ID 到已合入的公共模板提交。 - 补充 InferShape、host tiling、opkernel UT、TTK CSV 和 golden。 ## 测试 - clang-format 18.1.8:通过。 - Ruff 0.14.14:通过。 - git diff --check:通过。 - PR 分支包含 host/kernel UT,可独立执行线上 compile 门禁。 ## 拆分关系 本 PR 是 aclnn 与 torch 两个后续 PR 的前置核心实现。 See merge request: cann/ops-transformer!10972 | 1 个月前 | |
fix product master2 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !13074 merge master into master fix product master2 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!13074 | 15 天前 | |
修复文档链接跳转失效问题 Co-authored-by: weihao18<weihao16@h-partners.com> # message auto-generated for no-merge-commit merge: !8061 merge fix_security_md into master 修复文档链接跳转失效问题 Created-by: weihao18 Commit-by: weihao18 Merged-by: cann-robot Description: ## 描述 修复SECURITY.md文档 [A-文件(夹)各场景权限管控推荐最大值] 链接跳转失效问题 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/3373 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!8061 | 3 个月前 | |
支持按模板参数编译算子kernel、支持编译入参调试异常与调优参数 Co-authored-by: lidongsheng<lidongsheng43@huawei.com> Co-authored-by: 吴剑飞<wujianfei15@huawei.com> # message auto-generated for no-merge-commit merge: !2170 merge 910_lds into master 支持按模板参数编译算子kernel、支持编译入参调试异常与调优参数 Created-by: qq_46353993 Commit-by: 吴剑飞;lidongsheng Merged-by: cann-robot Description: ## 描述 本次修改支持用户通过build.sh的编译入口传入模板参数--kernel_template_input后按tilingkey编译、传入--bisheng_flags进行调试异常 ## 关联的Issue [支持按模板参数指定编译kernel](https://gitcode.com/cann/ops-transformer/issues/1036) [支持编译入参新增调试异常和调优参数](https://gitcode.com/cann/ops-transformer/issues/1044) ## 测试 二级冒烟、指定模板参数编译并执行测试用例 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!2170 | 7 个月前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
--opkernel新增支持-f ./pr_filelist.txt参数 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !12042 merge build_opkernel into master --opkernel新增支持-f ./pr_filelist.txt参数 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 --opkernel新增支持-f ./pr_filelist.txt参数 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5245 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!12042 | 23 天前 | |
update: 更新文件 classify_rule.yaml Co-authored-by: comic97<gaokeming@hisilicon.com> # message auto-generated for no-merge-commit merge: !13046 merge master into master update: 更新文件 classify_rule.yaml Created-by: comic97 Commit-by: comic97 Merged-by: cann-robot Description: ## 描述 删除重复文件:fia_tiling_info.h、fia_tiling_info.cpp ## 关联的Issue [删除重复文件路径](https://gitcode.com/cann/ops-transformer/issues/5700) ## 测试 不涉及 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [x] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!13046 | 16 天前 | |
update cmake minimum required to 3.18.4 Co-authored-by: poorwill<wangbing110@huawei.com> # message auto-generated for no-merge-commit merge: !9634 merge master into master update cmake minimum required to 3.18.4 Created-by: wangbing110 Commit-by: poorwill Merged-by: cann-robot Description: update cmake minimum required to 3.18.4 See merge request: cann/ops-transformer!9634 | 2 个月前 | |
Pre-Commit 规范整改 — 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5305 merge refactor into master Pre-Commit 规范整改 — 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在 git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于公共文件进行了pre-commit检查 See merge request: cann/ops-transformer!5305 | 2 个月前 | |
升级 ops-transformer 版本至 9.2.0 Co-authored-by: wang-minbo<wangminbo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !11465 merge master into master 升级 ops-transformer 版本至 9.2.0 Created-by: wang-minbo Commit-by: wang-minbo Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000-->https://gitcode.com/cann/ops-transformer/issues/5083 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11465 | 1 个月前 | |
check_compile_version Co-authored-by: 吴剑飞<wujianfei15@huawei.com> # message auto-generated for no-merge-commit merge: !2085 merge check_version into master check_compile_version Created-by: hid81635372 Commit-by: 吴剑飞 Merged-by: cann-robot Description: ## 描述 工程上支持在编译时对子包版本进行校验 ## 关联的Issue https://gitcode.com/cann/ops-transformer/pull/2085 ## 测试 功能上可以在子包版本低于构建依赖时进行告警,RDV已通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: 工程能力增加编译时版本校验功能 See merge request: cann/ops-transformer!2085 | 7 个月前 |
🔥Latest News
- [2026/08] 仓内集成pre-commit代码检查框架,配置后
git commit时自动检查并修复格式问题,将规范问题拦截在提交阶段、提升代码合入效率,详见pre-commit配置指导书。 - [2026/07] A5上新支持算子quant_flash_attn,Dense Attention全量化场景专用,以及experimental目录新增同名算子支持A5的MxFP4全量化;chunk_gated_delta_rule算子支持A5;A5新增DSV4 dense训练阶段TopK筛选反向算子dense_lightning_indexer_grad_kl_loss、dense_lightning_indexer_softmax_lse;mc2新支持算子engram_fetch_grad。
- [2026/06] A5上新增支持sparse_flash_mla、mixed_quant_sparse_flash_mla以及对应的metadata算子,用于DSV4场景稀疏Attention计算。新增lightning_indexer_v2、quant_lightning_indexer_v2以及对应的metadata算子,用于DSV4场景TopK筛选。A5新增DSV4 sparse训练阶段Attention反向算子sparse_flash_mla_grad、sparse_lightning_indexer_kl_loss_grad;mc2新支持算子engram_fetch、engram_fetch_wait。
- [2026/05] fused_infer_attention_score算子A5上支持MxFP8全量化;A5上新支持算子flash_attn,Dense Attention非量化场景专用。
- [2026/04] mc2新支持算子mega_moe。
- [2026/03] recurrent_gated_delta_rule算子支持A5。
- [2026/02] 新支持算子mhc_post、mhc_pre、mhc_res。
- [2026/01] 新支持算子grouped_matmul<<<>>>调用示例,方便用户自定义使用。
- [2026/01] 新支持算子fused_floyd_attention、fused_floyd_attention_grad、matmul_allto_all。
- [2025/12] 新增QuickStart,指导新手零基础入门算子项目部署(支持Docker环境)、算子开发和贡献流程。
- [2025/12] 优化指南类文档,聚焦算子开发指南,明确最小交付件和关键示例代码,针对Ascend/samples仓算子提供迁移本项目的指导。
- [2025/12] 支持transformer类onnx算子插件,包括NPUFlashAttention、NPUMultiHeadAttention、NPUMoeComputeExpertTokens等。
- [2025/12] 新支持算子kv_rms_norm_rope_cache、attention_update、attention_worker_scheduler、gather_pa_kv_cache、kv_quant_sparse_flash_attention、lightning_indexer_grad、mla_preprocess、mla_preprocess_v2、grouped_matmul_swiglu_quant_v2、attention_to_ffn、ffn_to_attention。
- [2025/12] 开源算子支持NPU Simulator仿真工具开发调试。
- [2025/12] 开源算子支持Ascend 950PR&950DT系列产品/KirinX90系列产品。
- [2025/11] 新支持算子kv_quant_sparse_flash_attention、lightning_indexer、quant_lightning_indexer、sparse_flash_attention。
- [2025/11] 新支持示例算子rope_matrix和all_gather_add。
- [2025/11] 新增算子开发工程模板NpuOpsTransformerExt,无缝集成PyTorch张量操作,支持自动微分和GPU/NPU统一接口。
- [2025/10] 新增experimental目录,完善贡献指南,支持开发者调试并贡献自定义算子。
- [2025/09] ops-transformer项目首次上线,开源算子支持Atlas A2/A3系列产品。
🚀概述
ops-transformer是CANN(Compute Architecture for Neural Networks)算子库中提供transformer类大模型计算的进阶算子库,包括attention类、moe类、mc2类等,覆盖各类attention、MoE计算、通算融合等场景,算子库在架构图中的位置如下。

📌版本配套
本项目源码会跟随CANN软件版本发布,关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明。 请注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与Gitcode标签源码,使用master分支可能存在版本不匹配的风险。
🛠️环境准备
环境部署是体验本项目能力的前提,请先完成NPU驱动、CANN包安装等,确保环境正常。
⬇️源码下载
环境准备好后,下载与CANN版本配套的分支源码,通用命令如下,${tag_version}替换为分支标签名。以9.0.0分支源码下载为例:
# 通用命令:git clone -b ${tag_version} https://gitcode.com/cann/ops-transformer.git
git clone -b 9.0.0 https://gitcode.com/cann/ops-transformer.git
说明:若环境中已存在配套分支源码,可跳过本步骤,例如CANNLab默认已提供最新版本CANN对应的源码。
📖学习教程
💬相关信息
PS:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。