本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(ci): 增加UT超时时长限制 Co-authored-by: tanghaoran7<tanghaoran7@huawei.com> # message auto-generated for no-merge-commit merge: !11119 merge master into master fix(ci): 增加UT超时时长限制 Created-by: tanghaoran7 Commit-by: tanghaoran7 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11119 | 1 天前 | |
refactor(fa): 删除op_kernel头文件的__has_include守卫, 统一使用attention/common路径 Co-authored-by: jiang-lirui<jianglirui1@huawei.com> # message auto-generated for no-merge-commit merge: !11073 merge docs_flash_attn_readme_v2 into master refactor(fa): 删除op_kernel头文件的__has_include守卫, 统一使用attention/common路径 Created-by: jiang-lirui Commit-by: jiang-lirui Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 在 attention/flash_attn/op_kernel/flash_attn.cpp 中,存在以下条件编译代码: cpp #if __has_include("../../common/op_kernel/arch35/flash_attention_score_common_regbase.h") #include "../../common/op_kernel/arch35/flash_attention_score_common_regbase.h" #else #include "../common/arch35/flash_attention_score_common_regbase.h" #endif 这种方式维护不便,而且这是编译工程问题,不应该传递带算子层 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> Issue [#4407](https://gitcode.com/cann/ops-transformer/issues/4407) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 按README.md中的Quick Start操作,执行用例时加--graph_mode参数可使能在线编译,编译不报错表明正确 python3 test_flash_attn.py --case_files functional_redline_infer --case_id Decode_Unquant_BF16_BF16_L0_1_5_1_1_2048_BNSD_BSND_000004 --graph_mode --device_id 0 已验证编译OK ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11073 | 19 小时前 | |
修改cann包下算子kernel源码的路径,多加一级op_kernel Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !10920 merge add_opkernel_path into master 修改cann包下算子kernel源码的路径,多加一级op_kernel Created-by: hblnb Commit-by: hblnb Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!10920 | 20 小时前 | |
pre-commit修复posembedding、mhc、ffn等目录.h/.hpp历史格式问题 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11021 merge fix_3 into master pre-commit修复posembedding、mhc、ffn等目录.h/.hpp历史格式问题 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/4850 ## 描述 对仓内算子源码提前做 pre-commit 历史格式问题清理,为后续功能改动(如 Regbase API 替换等)扫清钩子障碍,避免后续 PR 因格式问题被大面积格式化污染 diff。 处理方式: find <目录> -type f \( -name '*.h' -o -name '*.hpp' \) | xargs pre-commit run --files,多轮执行直到所有 hook 收敛(无 Failed / 无自动修复)。 修复内容(仅格式,不改任何代码语义): - 尾随空白(trailing whitespace) - 文件末尾换行(end of file) - clang-format 代码重排(换行、缩进、对齐,遵循仓内 .clang-format) ### 排除范围(不做格式化) - *_def.cpp 算子定义文件(排版由开发者自行维护,另见 PR #11041) - */op_api/aclnn*.h、*/op_graph/*_proto.h、*/op_host/op_api/aclnn*.h 接口/原型头文件(排版由开发者自行维护) - mamba/ 目录(该目录 causal_conv1d 算子 UT 上游基线存在失败,见 Issue #4840,本批不涉及) - examples/、experimental/ 目录 ### PR 拆分说明 全仓 .h/.hpp 清理共 2362 个文件,按场景目录拆分为 6 个 PR(分支不同、内容互不重叠,可独立 review 合入): | PR | 分支 | 范围 | |---|---|---| | #4878 | compile | attention 第1批(按算子字母序前段) | | #10422 | graph | attention 第2批(按算子字母序中段) | | #9331 | test | attention 第3批(按算子字母序后段) | | #10991 | fix | mc2 | | #11020 | fix_2 | moe、gmm | | #11021 | fix_3 | posembedding、mhc、ffn、common、tests、torch_extension | ## 测试 - 纯格式化改动:不改变任何代码语义,逐文件 diff 均为空白/换行/clang-format 重排 - pre-commit 全量 hook 收敛验证:多轮执行后 trailing-whitespace / end-of-file-fixer / clang-format 均 Passed - 建议合入前对相关算子做一次编译验证 See merge request: cann/ops-transformer!11021 | 1 天前 | |
A5新增支持LIG Co-authored-by: xuanyuandy<dingyong19@huawei.com> # message auto-generated for no-merge-commit merge: !11146 merge lig_detail into master A5新增支持LIG Created-by: xuanyuandy Commit-by: xuanyuandy Merged-by: cann-robot Description: ## 描述 A5新增支持LIG ## 关联的Issue 关联Issue [#4906](https://gitcode.com/cann/ops-transformer/issues/4906) <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新了LightningIndexerGrad算子README.md和aclnn文档 ## 类型标签 <!-- [x] 表示选中 --> - [] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11146 | 23 小时前 | |
安装重名头文件整改:common.h Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !10537 merge clear_repeat_h_comm into master 安装重名头文件整改:common.h Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 按**安装重名**头文件规范,完成 ** common.h / moe_common.h / moe_v2_common.h 跨算子同名整改**,消除安装包内跨算子同名头冲突。 **原因**: **common.h(13 份)**、**moe_common.h(5 份)**、**moe_v2_common.h(7 份)** 属安装规则 **3.9**(仓内非对外、不同算子/组件目录拷贝同名头),且口径为「同名不同实现亦改名」。权威 common/include/op_kernel/common.h 与 mc2/common/op_kernel/moe_distribute_base.h **保留原名**。 **方法**:低风险只改次要副本——各算子/组件侧 common.h / moe_common.h / moe_v2_common.h / setup 侧 moe_distribute_base.h 加算子或组件前缀(如 agm_v2_、matmul_all_reduce_、moe_init_routing_、mega_moe_、setup_ 等);同步更新 #include、\file、include guard。无业务逻辑变更。禁止软链接。 ### 安装分类规则 | # | 场景 | 是否整改 | 处置 | |---|------|---------|------| | 3.9 | 仓内非对外同名拷贝 | 是 | 次要侧改名 | | 权威 common | common/include/op_kernel/common.h | 否 | 保留原名 | | 权威 mc2 base | mc2/common/op_kernel/moe_distribute_base.h | 否 | 保留原名(v2/combine 等仍 #include 此路径) | ### 范围与结果 | 项 | 说明 | |----|------| | 重命名组数 | **26** | | 涉及域 | attention(scatter_pa / sfag / sfmg)、examples fkle、mc2(agm_v2 / matmul_all_reduce / mega_moe / dispatch setup/teardown/v2、mhc tiling)、moe(gating / init_routing / token_permute 系列) | | 附带修复 | dispatch setup base/common 映射;teardown 跨组件引用;v2 arch35 a5_ccu 裸 include;v3/combine_v3 apt 依赖 v2/v2_combine 的 __has_include 多布局路径 | | 变更文件数 | **166** | | 行变更 | +253 / -238 | ### 26 组重命名(旧 → 新) | # | 旧路径 | 新路径 | |--:|--------|--------| | 1 | attention/scatter_pa_kv_cache/op_kernel/arch35/common.h | attention/scatter_pa_kv_cache/op_kernel/arch35/scatter_pa_kv_cache_arch35_common.h | | 2 | attention/sparse_flash_attention_grad/op_kernel/arch35/common.h | attention/sparse_flash_attention_grad/op_kernel/arch35/sparse_flash_attention_grad_arch35_common.h | | 3 | attention/sparse_flash_mla_grad/op_kernel/arch35/common.h | attention/sparse_flash_mla_grad/op_kernel/arch35/sparse_flash_mla_grad_arch35_common.h | | 4 | examples/fast_kernel_launch_example/csrc/moe_distribute_dispatch_v2/ascend910_93/op_kernel/common.h | examples/fast_kernel_launch_example/csrc/moe_distribute_dispatch_v2/ascend910_93/op_kernel/fkle_mdd_v2_common.h | | 5 | mc2/all_gather_matmul_v2/op_kernel/common.h | mc2/all_gather_matmul_v2/op_kernel/agm_v2_common.h | | 6 | mc2/matmul_all_reduce/op_kernel/common.h | mc2/matmul_all_reduce/op_kernel/matmul_all_reduce_common.h | | 7 | mc2/moe_distribute_dispatch_setup/op_kernel/common.h | mc2/moe_distribute_dispatch_setup/op_kernel/moe_distribute_dispatch_setup_common.h | | 8 | mc2/moe_distribute_dispatch_v2/op_kernel/common.h | mc2/moe_distribute_dispatch_v2/op_kernel/moe_distribute_dispatch_v2_common.h | | 9 | mhc/mhc_pre_sinkhorn_backward/op_host/op_tiling/arch22/common.h | mhc/mhc_pre_sinkhorn_backward/op_host/op_tiling/arch22/mhc_pre_sinkhorn_backward_common.h | | 10 | moe/moe_gating_top_k/op_kernel/arch35/common.h | moe/moe_gating_top_k/op_kernel/arch35/moe_gating_top_k_arch35_common.h | | 11 | moe/moe_gating_top_k/op_kernel/common.h | moe/moe_gating_top_k/op_kernel/moe_gating_top_k_common.h | | 12 | moe/moe_gating_top_k_backward/op_kernel/arch35/common.h | moe/moe_gating_top_k_backward/op_kernel/arch35/moe_gating_top_k_backward_arch35_common.h | | 13 | moe/moe_gating_top_k_backward/op_kernel/common.h | moe/moe_gating_top_k_backward/op_kernel/moe_gating_top_k_backward_common.h | | 14 | moe/moe_init_routing/op_kernel/moe_common.h | moe/moe_init_routing/op_kernel/moe_init_routing_common.h | | 15 | moe/moe_init_routing/op_kernel/arch35/moe_common.h | moe/moe_init_routing/op_kernel/arch35/moe_init_routing_arch35_common.h | | 16 | moe/moe_token_permute/op_kernel/moe_common.h | moe/moe_token_permute/op_kernel/moe_token_permute_common.h | | 17 | moe/moe_token_permute_with_ep/op_kernel/moe_common.h | moe/moe_token_permute_with_ep/op_kernel/moe_token_permute_with_ep_common.h | | 18 | moe/moe_token_permute_with_routing_map/op_kernel/moe_common.h | moe/moe_token_permute_with_routing_map/op_kernel/moe_token_permute_with_routing_map_common.h | | 19 | mc2/mega_moe/op_kernel/arch22/moe_init_routing_v2/moe_v2_common.h | mc2/mega_moe/op_kernel/arch22/moe_init_routing_v2/mega_moe_moe_v2_common.h | | 20 | mc2/mega_moe/op_kernel/arch22/moe_init_routing_quant_v2/moe_v2_common.h | mc2/mega_moe/op_kernel/arch22/moe_init_routing_quant_v2/mega_moe_quant_moe_v2_common.h | | 21 | moe/moe_init_routing_v2/op_kernel/moe_v2_common.h | moe/moe_init_routing_v2/op_kernel/moe_init_routing_v2_common.h | | 22 | moe/moe_init_routing_v2/op_kernel/arch35/moe_v2_common.h | moe/moe_init_routing_v2/op_kernel/arch35/moe_init_routing_v2_arch35_common.h | | 23 | moe/moe_init_routing_quant_v2/inner/moe_v2_common.h | moe/moe_init_routing_quant_v2/inner/moe_init_routing_quant_v2_pkg_inner_common.h | | 24 | moe/moe_init_routing_quant_v2/op_kernel/arch35/moe_v2_common.h | moe/moe_init_routing_quant_v2/op_kernel/arch35/moe_init_routing_quant_v2_arch35_common.h | | 25 | moe/moe_init_routing_quant_v2/op_kernel/inner/moe_v2_common.h | moe/moe_init_routing_quant_v2/op_kernel/inner/moe_init_routing_quant_v2_inner_common.h | | 26 | mc2/moe_distribute_dispatch_setup/op_kernel/moe_distribute_base.h | mc2/moe_distribute_dispatch_setup/op_kernel/moe_distribute_dispatch_setup_base.h | ### 命名约定 | 场景 | 约定 | |------|------| | all_gather_matmul_v2 | agm_v2_* | | matmul_all_reduce | matmul_all_reduce_common.h | | mega_moe 内 moe_v2 | mega_moe_* / mega_moe_quant_* | | moe 算子 | moe_<op>_common.h、arch35 加 _arch35_common | | dispatch setup | setup_base.h / setup_common.h(与 mc2/common 权威 base 区分) | | include guard | 与文件名一致(如 MOE_DISTRIBUTE_DISPATCH_V2_COMMON_H) | ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4356 ## 测试 ## 文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!10537 | 9 天前 | |
QBSA_FP8 更新profiling用例 Co-authored-by: yangyajie<yangyajie3@huawei.com> # message auto-generated for no-merge-commit merge: !11027 merge master into master QBSA_FP8 更新profiling用例 Created-by: yangyajie Commit-by: yangyajie Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11027 | 23 小时前 | |
pre-commit修复posembedding、mhc、ffn等目录.h/.hpp历史格式问题 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11021 merge fix_3 into master pre-commit修复posembedding、mhc、ffn等目录.h/.hpp历史格式问题 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/4850 ## 描述 对仓内算子源码提前做 pre-commit 历史格式问题清理,为后续功能改动(如 Regbase API 替换等)扫清钩子障碍,避免后续 PR 因格式问题被大面积格式化污染 diff。 处理方式: find <目录> -type f \( -name '*.h' -o -name '*.hpp' \) | xargs pre-commit run --files,多轮执行直到所有 hook 收敛(无 Failed / 无自动修复)。 修复内容(仅格式,不改任何代码语义): - 尾随空白(trailing whitespace) - 文件末尾换行(end of file) - clang-format 代码重排(换行、缩进、对齐,遵循仓内 .clang-format) ### 排除范围(不做格式化) - *_def.cpp 算子定义文件(排版由开发者自行维护,另见 PR #11041) - */op_api/aclnn*.h、*/op_graph/*_proto.h、*/op_host/op_api/aclnn*.h 接口/原型头文件(排版由开发者自行维护) - mamba/ 目录(该目录 causal_conv1d 算子 UT 上游基线存在失败,见 Issue #4840,本批不涉及) - examples/、experimental/ 目录 ### PR 拆分说明 全仓 .h/.hpp 清理共 2362 个文件,按场景目录拆分为 6 个 PR(分支不同、内容互不重叠,可独立 review 合入): | PR | 分支 | 范围 | |---|---|---| | #4878 | compile | attention 第1批(按算子字母序前段) | | #10422 | graph | attention 第2批(按算子字母序中段) | | #9331 | test | attention 第3批(按算子字母序后段) | | #10991 | fix | mc2 | | #11020 | fix_2 | moe、gmm | | #11021 | fix_3 | posembedding、mhc、ffn、common、tests、torch_extension | ## 测试 - 纯格式化改动:不改变任何代码语义,逐文件 diff 均为空白/换行/clang-format 重排 - pre-commit 全量 hook 收敛验证:多轮执行后 trailing-whitespace / end-of-file-fixer / clang-format 均 Passed - 建议合入前对相关算子做一次编译验证 See merge request: cann/ops-transformer!11021 | 1 天前 | |
fix(gmm): correct finalize routing examples Co-authored-by: greatsunmoon<taojiaming3@huawei.com> # message auto-generated for no-merge-commit merge: !11138 merge fix/gmm-finalize-routing-doc-examples into master fix(gmm): correct finalize routing examples Created-by: greatsunmoon Commit-by: greatsunmoon Merged-by: cann-robot Description: ## 描述 修复aclnnGroupedMatmulFinalizeRoutingWeightNzV2.md、aclnnGroupedMatmulFinalizeRouting.md示例代码问题 ## 关联的Issue 关联Issue #0491 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新了gmm/grouped_matmul_finalize_routing/docs/aclnnGroupedMatmulFinalizeRoutingWeightNzV2.md 更新了gmm/grouped_matmul_finalize_routing/docs/aclnnGroupedMatmulFinalizeRouting.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11138 | 20 小时前 | |
torch extension整改成分布式 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !9712 merge torch_extension_split into master torch extension整改成分布式 Created-by: hblnb Commit-by: hblnb Merged-by: cann-robot Description: ## 描述 ops-transformer仓支持各个算子独立编译torch_extention,并将torch_extension从集中式改成分布式(算子的文件分布到算子源码目录下新建的torch_extension文件夹) ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4502 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9712 | 11 天前 | |
Fix CleanCode | 15 小时前 | |
MicroAPI替换为Reg(mhc) Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11152 merge graph into master MicroAPI替换为Reg(mhc) Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/4908 ## 描述 CANN 头文件中 MicroAPI 是 Reg 命名空间的别名(impl/basic_api/kernel_macros.h 中定义 namespace MicroAPI = Reg;),二者为同一命名空间的别名,替换为纯语义等价操作。本 PR 将 mhc 目录算子源码中的 MicroAPI 统一替换为 Reg(共 17 个文件)。 ### 提交结构(两笔) | 提交 | 内容 | |---|---| | 第1笔 | 纯文本替换 MicroAPI → Reg(17 文件,1165 增/1165 删,逐行校验一一对应) | | 第2笔 | git pc HEAD~1 补查后 pre-commit 自动修复(clang-format 因 Reg 缩短行宽对 14 个文件重排) | ### 改动说明 - 纯文本等价替换,不改变任何计算逻辑和函数签名;第2笔仅为 clang-format 空白重排,无语义变化 - 替换代码位于 arch35/arch38 路径或 __NPU_ARCH__ == 3510 宏保护内,仅 A5(及 Regbase 新核心)生效;A2/A3(arch22,Membase API)不受影响 - 同需求其余拆分:mc2 见 #11112,attention 见 #11128,moe 见 #11149,gmm 见 #11151;mamba 待 UT 修复后单独提交 ### 验证 - 逐行脚本校验:第1笔 diff 每对行满足 新行 == 旧行.replace('MicroAPI', 'Reg') - pre-commit 全量 hook 收敛(trailing-whitespace / EOF / clang-format 均 Passed) - 语义等价性由 CANN 头文件中的命名空间别名定义保证 See merge request: cann/ops-transformer!11152 | 1 天前 | |
revert: drop MoeTokenUnpermuteWithEpGrad non-doc changes Co-authored-by: zhouxuan78<zhouxuan78@huawei.com> # message auto-generated for no-merge-commit merge: !11190 merge master into master revert: drop MoeTokenUnpermuteWithEpGrad non-doc changes Created-by: zhouxuan78 Commit-by: zhouxuan78 Merged-by: cann-robot Description: ## 描述 异常值拦截代码回退 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4710 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11190 | 20 小时前 | |
MicroAPI替换为Reg(posembedding) Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11173 merge graph into master MicroAPI替换为Reg(posembedding) Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/4908 ## 描述 CANN 头文件中 MicroAPI 是 Reg 命名空间的别名(impl/basic_api/kernel_macros.h 中定义 namespace MicroAPI = Reg;),二者为同一命名空间的别名,替换为纯语义等价操作。本 PR 将 posembedding 目录算子源码中的 MicroAPI 统一替换为 Reg(共 10 个文件)。 ### 提交结构(两笔) | 提交 | 内容 | |---|---| | 第1笔 | 纯文本替换 MicroAPI → Reg(10 文件,1809 增/1809 删,逐行校验一一对应) | | 第2笔 | git pc HEAD~1 补查后 pre-commit 自动修复(clang-format 因 Reg 缩短行宽对 8 个文件重排) | ### 改动说明 - 纯文本等价替换,不改变任何计算逻辑和函数签名;第2笔仅为 clang-format 空白重排,无语义变化 - 替换代码位于 arch35 路径或 __NPU_ARCH__ == 3510 宏保护内,仅 A5 生效;A2/A3(arch22,Membase API)不受影响 - 同需求其余拆分:mc2 见 #11112,attention/moe/gmm/mhc 已合入,ffn 见 #11153;mamba 见 #11154 ### 验证 - 逐行脚本校验:第1笔 diff 每对行满足 新行 == 旧行.replace('MicroAPI', 'Reg') - pre-commit 全量 hook 收敛 - 语义等价性由 CANN 头文件中的命名空间别名定义保证 See merge request: cann/ops-transformer!11173 | 23 小时前 | |
add support ascend350 Co-authored-by: sunhaoxuan2024<sunhaoxuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !10912 merge master into master add support ascend350 Created-by: sunhaoxuan2024 Commit-by: sunhaoxuan2024 Merged-by: cann-robot Description: add support ascend350 See merge request: cann/ops-transformer!10912 | 2 天前 | |
fag add atk_v3 Co-authored-by: 镜心<wangyungfei@h-partners.com> # message auto-generated for no-merge-commit merge: !7739 merge atk_v3 into master fag add atk_v3 Created-by: mirror-center Commit-by: 镜心 Merged-by: cann-robot Description: ## 描述 FAG算子上库ATK ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> FAG算子上库ATK [#2749](https://gitcode.com/cann/ops-transformer/issues/2749) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7739 | 23 小时前 | |
【feature】sparse_flash_mla_softmax_l1_norm_metadata参数校验迁移至Host并优化图模式调用样例 Co-authored-by: ThunLoilu<202313410048@nuist.edu.cn> # message auto-generated for no-merge-commit merge: !10281 merge smla_metadata_check_migration into master 【feature】sparse_flash_mla_softmax_l1_norm_metadata参数校验迁移至Host并优化图模式调用样例 Created-by: ThunLoilu Commit-by: ThunLoilu Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. **校验迁移**:当前全部参数校验集中在 AICPU 侧 ParamsCheck(),非法参数需要下沉到 AICPU 执行阶段才报错。参照 sparse_lightning_indexer_kl_loss_grad_metadata(SLIKIG),将可前置的 16 项校验迁移至 Host 侧,并补充 3 项与主算子 tiling 约束对齐的数据校验。 2. **图模式样例修复**:sparse_flash_mla_softmax_l1_norm 的 TorchAir 图模式调用样例执行 coredump,需修正图内算子调用方式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!10281 | 20 小时前 | |
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 | 11 天前 | |
产品文档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 | 28 天前 | |
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 | 1 个月前 | |
pre-commit: clang-format排除*_def.cpp(算子定义文件排版由开发者自行维护) Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11041 merge clean into master pre-commit: clang-format排除*_def.cpp(算子定义文件排版由开发者自行维护) Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/4848 ## 描述 仓内 op_host/*_def.cpp 是算子定义文件(如 mega_moe_def.cpp),包含大量 DataType({...})/Format({...}) 超长列表,这类列表的排版风格由算子开发者根据可读性自行维护(有按列对齐的、有每行一个的),clang-format 统一重排会覆盖开发者刻意设计的对齐布局(如 #ifdef 条件分支下的配置矩阵)。 本 PR 在 clang-format 钩子的 exclude 中增加 _def\.cpp$ 规则(全仓共 222 个 *_def.cpp),使其不再被自动格式化,其他文件(.h/.hpp/其他 .cpp)不受影响。 ## 验证 - pre-commit run clang-format --files mc2/mega_moe/op_host/mega_moe_def.cpp → Skipped(不再处理) - 其他 .cpp 文件正常被检查 See merge request: cann/ops-transformer!11041 | 2 天前 | |
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 | 29 天前 | |
修改cann包下算子kernel源码的路径,多加一级op_kernel Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !10920 merge add_opkernel_path into master 修改cann包下算子kernel源码的路径,多加一级op_kernel Created-by: hblnb Commit-by: hblnb Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!10920 | 20 小时前 | |
产品文档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 | 28 天前 | |
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 | 1 个月前 | |
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 | 3 天前 | |
cannsim改名为npusim Co-authored-by: liangbinglong<liangbinglong@huawei.com> # message auto-generated for no-merge-commit merge: !9686 merge master into master cannsim改名为npusim Created-by: liangbinglong Commit-by: liangbinglong Merged-by: cann-robot Description: ## 描述 经TSC评审,cannsim工具正式更名为npusim,相关命令行、资料同步刷新,cannsim作为别名兼容一段时间,需要尽快切换 ## 关联的Issue NA ## 测试 使用最新链接版本测试,相关命令行已经全部更名为npusim ## 文档更新 更新doc下面的调优部分文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9686 | 27 天前 | |
修复文档链接跳转失效问题 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 | 1 个月前 | |
支持按模板参数编译算子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 | 5 个月前 | |
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 | 1 个月前 | |
add support ascend350 Co-authored-by: sunhaoxuan2024<sunhaoxuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !10912 merge master into master add support ascend350 Created-by: sunhaoxuan2024 Commit-by: sunhaoxuan2024 Merged-by: cann-robot Description: add support ascend350 See merge request: cann/ops-transformer!10912 | 2 天前 | |
修改transformer-2的责任田文件 Co-authored-by: j60100428<jingsong5@h-partners.com> # message auto-generated for no-merge-commit merge: !11125 merge master into master 修改transformer-2的责任田文件 Created-by: SH_jingsong Commit-by: j60100428 Merged-by: cann-robot Description: ## 描述 修改transformer-2的责任田文件 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4897 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11125 | 1 天前 | |
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 | 28 天前 | |
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 | 1 个月前 | |
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 | 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 | 5 个月前 |
ops-transformer
🔥Latest News
- [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/Ascend 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:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。