本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
修改仓上中英文空格 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !6933 merge master into master 修改仓上中英文空格 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改仓上中英文空格。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [X] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6933 | 2 个月前 | |
通过gitmodules引入third_party/catlass Co-authored-by: longjihui<longjihui@huawei.com> # message auto-generated for no-merge-commit merge: !1765 merge master into master 通过gitmodules引入third_party/catlass Created-by: longjihui Commit-by: longjihui Merged-by: cann-robot Description: ## 描述 新增.gitmodules文件,引入第三方库catlass,分支为v1.3.1-notla ## 关联的Issue 不涉及 ## 测试 仅引入三方仓,使用方式暂不确定,无需测试 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:新引入三方仓catlass See merge request: cann/ops-transformer!1765 | 4 个月前 | |
smla/mqsmla算子整改业务场景名称 Co-authored-by: number-2-bo-bo<jinying22@huawei.com> # message auto-generated for no-merge-commit merge: !7819 merge master into master smla/mqsmla算子整改业务场景名称 Created-by: jinyingbo Commit-by: number-2-bo-bo Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7819 | 2 个月前 | |
opbase.cmake更新commit id Co-authored-by: Bugslover<sunhao104@huawei.com> # message auto-generated for no-merge-commit merge: !7679 merge fix_ut_0627 into master opbase.cmake更新commit id Created-by: Bugslover Commit-by: Bugslover Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新构建时依赖的opbase代码节点。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联Issue [#3074](https://gitcode.com/cann/ops-transformer/issues/3074) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7679 | 2 个月前 | |
fp8 fullquant Co-authored-by: wangke293<wangke293@huawei.com> # message auto-generated for no-merge-commit merge: !6637 merge master into master fp8 fullquant Created-by: wangke293 Commit-by: wangke293 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增fp8 fullquant, qk pertoken-head, v perhead ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/3217 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> pytest下golden脚本 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> attention/fused_infer_attention_score/docs/aclnnFusedInferAttentionScoreV5.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6637 | 2 个月前 | |
[flash_attn]整改torch extension目录 Co-authored-by: ChengjiaWu<wuchengjia1@h-partners.com> # message auto-generated for no-merge-commit merge: !7580 merge master_copy into master [flash_attn]整改torch extension目录 Created-by: ChengjiaWu Commit-by: ChengjiaWu Merged-by: cann-robot Description: ## 描述 添加flash attn metadata文档到flash attn中 同时整改torch extension目录,接口名字去除npu_前缀,合并flash_attn_metdata接口到flash_attn文件中 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> Issue [#3329](https://gitcode.com/cann/ops-transformer/issues/3329) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7580 | 2 个月前 | |
fix(example): rename NPU_ARCH to NPU_SOC_VERSION and dynamically adapt Python version tag | 2 个月前 | |
QSMLA cube:loadk split D 256,eventId sync to bufferId sync,manage l1RightBuffer only in cubecore.vec:tque->tbuf,eventId to bufferId Co-authored-by: zhengwenhui0817<zhengwenhui7@huawei.com> # message auto-generated for no-merge-commit merge: !7775 merge qsas_vec_bufferid into master QSMLA cube:loadk split D 256,eventId sync to bufferId sync,manage l1RightBuffer only in cubecore.vec:tque->tbuf,eventId to bufferId Created-by: zhengwenhui0817 Commit-by: zhengwenhui0817 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> QSMLA cube:loadk split D 256,eventId sync to bufferId sync,manage l1RightBuffer only in cubecore.vec:tque->tbuf,eventId to bufferId ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7775 | 2 个月前 | |
FFN算子移除冗余的Cast操作 Co-authored-by: huang-wei-chen<chenhuangwei1@huawei.com> # message auto-generated for no-merge-commit merge: !7127 merge ffn_cast into master FFN算子移除冗余的Cast操作 Created-by: huang-wei-chen Commit-by: huang-wei-chen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> FFN算子移除冗余的Cast操作 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2637](https://gitcode.com/cann/ops-transformer/issues/2637) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7127 | 2 个月前 | |
support gmm swiglu quant mxA8W4 单多单场景 Co-authored-by: zhangquanxin<zhangquanxin7@h-partners.com> # message auto-generated for no-merge-commit merge: !6925 merge gmm_swiglu_quant_mxa8w4_sms into master support gmm swiglu quant mxA8W4 单多单场景 Created-by: zhangquanxin Commit-by: zhangquanxin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> GroupedMatmulSwigluQuantWeightNzV2 算子此前在 MXA8W4(x=FLOAT8_E4M3FN,weight=FLOAT4_E2M1)场景下仅支持单 tensor weight(tensorList 长度=1,view shape 为 3D [E, N, K])。本次改动扩展支持多 tensor weight 场景(tensorList 长度=E,每个 tensor 的 view shape 为 2D [N, K]),使多组专家权重可独立传入,无需在第 0 维堆叠。 1、新增 IsMultiTensorWeight():通过 weight[0] 的 view shape 维度数(2D vs 3D)区分单/多 tensor 场景。 2、新增 CheckMxA8W4MultiWeightTranspose():多 tensor 场景下逐个校验 weight[i] 和 weightScale[i] 的转置一致性。 3、扩展 CheckInputOutDimsForMX():多 tensor 场景下移除SINGLE_TENSOR_SIZE 约束,改为校验 weight/weightScale 数量一致及各 tensor 维度数(weight=2D, weightScale=3D)。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> issue: https://gitcode.com/cann/ops-transformer/issues/3388 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟、算子泛化测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> gmm/grouped_matmul_swiglu_quant_v2/docs/aclnnGroupedMatmulSwigluQuantWeightNzV2.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6925 | 2 个月前 | |
fix: causal_conv1d_fn change input bias as optional Co-authored-by: wangrui<wangrui124@huawei.com> # message auto-generated for no-merge-commit merge: !7778 merge br_causal_conv1d into master fix: causal_conv1d_fn change input bias as optional Created-by: wangrui_ Commit-by: wangrui Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. causal_conv1d_fn torch接口bias输入改为可选 2. has_init_status未指定情况下,输入结果不做清零处理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/3312 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7778 | 2 个月前 | |
feat: 为 MegaMoe weight1/weight2 增加 FRACTAL_NZ 格式支持,兼容 legacy 包 Co-authored-by: luobaiqing<luobaiqing1@huawei.com> # message auto-generated for no-merge-commit merge: !7793 merge a8w4-def-v2 into master feat: 为 MegaMoe weight1/weight2 增加 FRACTAL_NZ 格式支持,兼容 legacy 包 Created-by: luobaiqing Commit-by: luobaiqing Merged-by: cann-robot Description: ## 描述 为 MegaMoe weight1 和 weight2 输入增加 FRACTAL_NZ 系列格式支持。由于不同环境头文件可用性和版本号存在差异,通过版本检测 + fallback 确保各场景行为一致。 ### 前提条件:各场景行为 FORMAT_FRACTAL_NZ_C0_32 仅在 ASC_DEVKIT >= 9.1.0 时可用。通过 #if __has_include("version/asc_devkit_version.h") 检测头文件: | 场景 | version/asc_devkit_version.h | ASC_DEVKIT | ENABLE_FORMAT_NZ_C0_32 | DataType/Format 项数 | |------|------|------|------|------| | 主线版本(9.1.0+) | 存在 | >= 9.1(从头文件获取) | 已定义 | 12 项 | | 低版本(< 9.1.0) | 存在 | < 9.1(从头文件获取) | 未定义 | 10 项 | | legacy 包 | **不存在** | **跳过版本判断,直接启用** | 已定义 | 12 项 | legacy 包无版本头文件时,跳过版本判断直接启用 NZ_C0_32,无需定义版本号常量宏。 ### 相比主线的变更 与主线(原始 9 项)相比,本次 PR 新增了 DT_FLOAT8_E4M3FN 和 DT_FLOAT4_E2M1 的 FRACTAL_NZ 变体: | 新增内容 | 涉及 Block | 格式 | 用途 | 条件 | |---------|-----------|------|------|------| | DT_FLOAT8_E4M3FN 增加 FORMAT_FRACTAL_NZ | weight1 / weight2 | NZ + NZ | GMM1 A8W8 / GMM2 A8W8 | 无条件 | | DT_FLOAT4_E2M1 变体:weight1=NZ, weight2=NZ_C0_32 | weight1→NZ / weight2→NZ_C0_32 | 配对新变体 | GMM1 A4W4 / GMM2 A8W4 | >= 9.1.0 | | DT_FLOAT4_E2M1 变体:weight1=NZ_C0_32, weight2=NZ_C0_32 | weight1 / weight2 | 双双 NZ_C0_32 | GMM1 A8W4 / GMM2 A8W4 | >= 9.1.0 | ### 重新排版后对应关系 以下为 weight1 / weight2 完整的 DataType ↔ Format 对应关系(带宏版本 12 项)。**🆕 新增** 标记此行不在主线原始定义中。 | # | DataType | weight1 Format | weight2 Format | 用途 | 类型 | 条件 | |---|----------|---------------|---------------|------|------|------| | 1 | DT_BF16 | FORMAT_ND | FORMAT_ND | - | - | - | | 2 | DT_FLOAT16 | FORMAT_ND | FORMAT_ND | - | - | - | | 3 | DT_INT8 | FORMAT_FRACTAL_NZ | FORMAT_FRACTAL_NZ | - | - | - | | 4 | DT_INT4 | FORMAT_FRACTAL_NZ | FORMAT_FRACTAL_NZ | - | - | - | | 5 | DT_FLOAT8_E5M2 | FORMAT_ND | FORMAT_ND | - | - | - | | 6 | DT_FLOAT8_E4M3FN | FORMAT_ND | FORMAT_ND | - | - | - | | 7 | DT_FLOAT8_E4M3FN | FORMAT_FRACTAL_NZ | FORMAT_FRACTAL_NZ | GMM1 A8W8 / GMM2 A8W8 | 🆕 新增 | - | | 8 | DT_HIFLOAT8 | FORMAT_ND | FORMAT_ND | - | - | - | | 9 | DT_FLOAT4_E2M1 | FORMAT_ND | FORMAT_ND | - | - | - | | 10 | DT_FLOAT4_E1M2 | FORMAT_ND | FORMAT_ND | - | - | - | | 11 | DT_FLOAT4_E2M1 | FORMAT_FRACTAL_NZ | FORMAT_FRACTAL_NZ_C0_32 | GMM1 A4W4 / GMM2 A8W4 | 🆕 新增 | >= 9.1.0 | | 12 | DT_FLOAT4_E2M1 | FORMAT_FRACTAL_NZ_C0_32 | FORMAT_FRACTAL_NZ_C0_32 | GMM1 A8W4 / GMM2 A8W4 | 🆕 新增 | >= 9.1.0 | ## 关联的Issue 无 ## 测试 已在本地验证编译通过。 ## 文档更新 无 ## 类型标签 - [x] ✨ 新特性 See merge request: cann/ops-transformer!7793 | 2 个月前 | |
mhc_pre_sinkhorn_backward: 替换CeilDiv为Ops::Base::CeilDiv Co-authored-by: kdy18482276080<kongdeyuan3@huawei.com> # message auto-generated for no-merge-commit merge: !7805 merge mhc_pre_grad_ceildiv_master into master mhc_pre_sinkhorn_backward: 替换CeilDiv为Ops::Base::CeilDiv Created-by: kdy18482276080 Commit-by: kdy18482276080 Merged-by: cann-robot Description: ## 描述 将 mhc_pre_grad_kernel.h 中 AscendC CeilDiv 替换为 Ops::Base::CeilDiv(op_kernel/math_util.h),混合 int64_t/int32_t 参数时统一升精度至 int64_t,避免向上取整计算溢出或类型推导不一致。 修改文件: - mhc/mhc_pre_sinkhorn_backward/op_kernel/mhc_pre_grad_kernel.h ## 关联的Issue 关联Issue #3392 https://gitcode.com/cann/ops-transformer/issues/3392 ## 测试 - [x] 本地编译 mhc_pre_sinkhorn_backward 算子包 ## 文档更新 无 ## 类型标签 - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] 📝 文档更新 - [ ] ♻️ 代码重构 目标分支:master See merge request: cann/ops-transformer!7805 | 2 个月前 | |
moe_init_routing_v3 fp8量化性能优化 Co-authored-by: tujun6<tujun6@huawei.com> # message auto-generated for no-merge-commit merge: !7685 merge fix_fp8_perf into master moe_init_routing_v3 fp8量化性能优化 Created-by: tujun6 Commit-by: tujun6 Merged-by: cann-robot Description: ## 描述 moe_init_routing_v3 fp8量化性能优化。 主要优化了simd vfcall的调用方式,及双搬入改造,充分利用指令双发的优势,和mxfp8保持一致 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/3399 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 功能ok,性能优化后和mxfp8基本持平 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7685 | 2 个月前 | |
fix(KvRmsNormRopeCache): 量化 rope GM 偏移 uint32->int64 修复溢出回绕 Co-authored-by: qianzehong<qianzehong@huawei.com> # message auto-generated for no-merge-commit merge: !7656 merge fix/kvrmsnormropecache-rope-offset-int64 into master fix(KvRmsNormRopeCache): 量化 rope GM 偏移 uint32->int64 修复溢出回绕 Created-by: qianzehong Commit-by: qianzehong Merged-by: cann-robot Description: ## 关联 Issue #3351 ## 根因 regbase 量化 rope 路径( op_kernel/arch35/kv_rms_norm_rope_cache_regbase_recompute.h)的 GM 元素偏移用了 uint32_t,rowIdx*dk 超过 2^32 时回绕成错误地址 → VEC 访问 UB 越界(aivec 341 / 507035)。非量化路径 RopeWithoutQuant 与 dv 侧偏移本就是 int64_t,不受影响。 ## 修改 - kv_rms_norm_rope_cache_regbase_recompute.h:RopeSymQuant / RopeAsymQuant / RopeSymQuantWithKCache / RopeAsymQuantWithKCache 中 cosSinOffset1/2、kScaleOffset1/2、kOffset1/2、kOutOffset1/2 由 uint32_t 改为 int64_t(对齐非量化路径与 dv 侧)。不动 full_load(仅小 D 可命中,不会溢出)。 ## 验证 - 现有 op_host / op_api UT 全过(44 + 9 PASSED),op_kernel UT 编译通过,无回归。 - Ascend950 上板复现/确认:修复前 B=3, dk=2^31 崩溃(507035 / aivec 341);改 int64 后同用例不再崩溃、cache 各行结果正确(0.5/1.0/2.0)。 - 注:触发需 2^32 元素,CPU 仿真 UT 无法分配,复现/验证在真实 NPU(~60GiB HBM)上完成。 🤖 Generated with [Claude Code](https://claude.com/claude-code) See merge request: cann/ops-transformer!7656 | 2 个月前 | |
fix(packaging): 安装whl包后设置cann_ops_transformer目录权限 Co-authored-by: huang-chuhong<huangchuhong1@h-partners.com> # message auto-generated for no-merge-commit merge: !7384 merge fix/opp-install-chmod-perm into master fix(packaging): 安装whl包后设置cann_ops_transformer目录权限 Created-by: huang-chuhong Commit-by: huang-chuhong Merged-by: cann-robot Description: ## 描述 安装 cann_ops_transformer whl 包后,未对安装目录及 .dist-info 目录设置权限,可能导致其他用户无法正确访问已安装的包文件。 ## 改动 - 在 install_whl_package() 中,pip/cp 安装完成后新增对 cann_ops_transformer 和 cann_ops_transformer-*.dist-info 目录执行 chmod -R ${CUSTOM_PERM} - IS_FOR_ALL=y 时权限为 755,IS_FOR_ALL=n 时权限为 750,与同文件 es_transformer 包的处理逻辑(L335-336)保持一致 ## 关联的Issue #3267 ## 测试 - 验证安装后 cann_ops_transformer/ 和 cann_ops_transformer-*.dist-info/ 目录权限符合预期(755/750) - 安装失败路径(pip 不可用且 whl_file 不存在)下 chmod 静默失败,不影响安装结果 ## 类型标签 - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7384 | 2 个月前 | |
修复依赖问题,提升moe_distribute_dispatch_v2算子ut覆盖率 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !7631 merge moe_d_ut into master 修复依赖问题,提升moe_distribute_dispatch_v2算子ut覆盖率 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 - fix( [#7414](https://gitcode.com/cann/ops-transformer/merge_requests/7414) ): 为 opapi 添加 opbase_util_objs 构建依赖 - 通过 $<TARGET_OBJECTS:opbase_util_objs> 链入 log 等 object,但未声明 target 依赖,补 add_dependencies 修复 - 提升moe_distribute_dispatch_v2算子ut覆盖率 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2341 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7631 | 2 个月前 | |
add_expert_num_support Co-authored-by: 朱雪玲<zhuxueling4@huawei.com> # message auto-generated for no-merge-commit merge: !7707 merge master into master add_expert_num_support Created-by: zhuxueling Commit-by: 朱雪玲 Merged-by: cann-robot Description: ## 描述 mega_moe 支持范围泛化: 1. 支持通信域范围扩大至1k & topK支持1-16; 2. moeExpertNum支持到2k,单卡专家数支持到1024; 3. 主要修改点:torch_excetion校验 + tiling侧校验 + kernel侧CV硬同步替换成软同步防止专家数>16情况下的反转; ## 测试 meag_moe rdv+ daily+测试红线; ## 文档更新 文档更新另起一个修改; ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7707 | 2 个月前 | |
更新license Co-authored-by: PerrySkywalker<wangmingkang1@huawei.com> # message auto-generated for no-merge-commit merge: !568 merge lic into master 更新license Created-by: PerrySkywalker Commit-by: PerrySkywalker Merged-by: cann-robot Description: ## 描述 更新license <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!568 | 8 个月前 | |
transformer仓引入tensor仓 Co-authored-by: zhangzhizhuo<zhangzhizhuo1@huawei.com> # message auto-generated for no-merge-commit merge: !6256 merge transformertensor into master transformer仓引入tensor仓 Created-by: zhangzhizhuo Commit-by: zhangzhizhuo Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ops-nn仓引入ops-tensor作为子模块,ops-tensor包含tensor_api的实现及blaze模板 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联issue [#2842](https://gitcode.com/cann/ops-transformer/issues/2842) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地编包正常出包,验证离线编译功能正常,线上出包正常。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> na ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6256 | 3 个月前 | |
通过gitmodules引入third_party/catlass Co-authored-by: longjihui<longjihui@huawei.com> # message auto-generated for no-merge-commit merge: !1765 merge master into master 通过gitmodules引入third_party/catlass Created-by: longjihui Commit-by: longjihui Merged-by: cann-robot Description: ## 描述 新增.gitmodules文件,引入第三方库catlass,分支为v1.3.1-notla ## 关联的Issue 不涉及 ## 测试 仅引入三方仓,使用方式暂不确定,无需测试 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:新引入三方仓catlass See merge request: cann/ops-transformer!1765 | 4 个月前 | |
fix: 修复clang-format配置 Co-authored-by: j60100428<jingsong5@h-partners.com> # message auto-generated for no-merge-commit merge: !6029 merge master into master fix: 修复clang-format配置 Created-by: SH_jingsong Commit-by: j60100428 Merged-by: cann-robot Description: ## 描述 fix: 修复clang-format配置 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2728 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6029 | 3 个月前 | |
修改仓上中英文空格 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !6933 merge master into master 修改仓上中英文空格 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改仓上中英文空格。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [X] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6933 | 2 个月前 | |
feat: add causal_conv1d for ascend950 Co-authored-by: wangrui<wangrui124@huawei.com> # message auto-generated for no-merge-commit merge: !6870 merge br_causal_conv1d_no_run_mode into master feat: add causal_conv1d for ascend950 Created-by: wangrui_ Commit-by: wangrui Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> add causal_conv1d for ascend950 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/3312 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6870 | 2 个月前 | |
修改仓上中英文空格 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !6933 merge master into master 修改仓上中英文空格 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改仓上中英文空格。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [X] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6933 | 2 个月前 | |
init | 11 个月前 | |
规范化OAT.xml中许可证声明形式 Co-authored-by: chenyx2012<975102023@qq.com> # message auto-generated for no-merge-commit merge: !3571 merge master into master 规范化OAT.xml中许可证声明形式 Created-by: chenyx_2012 Commit-by: chenyx2012 Merged-by: cann-robot Description: ## 描述 规范化OAT.xml中许可证声明形式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!3571 | 5 个月前 | |
修改仓上中英文空格 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !6933 merge master into master 修改仓上中英文空格 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改仓上中英文空格。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [X] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6933 | 2 个月前 | |
doc Tools工具扫描问题修改 Co-authored-by: gitee-yanglulu<yanglulul@h-partners.com> # message auto-generated for no-merge-commit merge: !3432 merge master into master doc Tools工具扫描问题修改 Created-by: gitee-yanglulu Commit-by: gitee-yanglulu Merged-by: cann-robot Description: doc Tools工具扫描问题修改 See merge request: cann/ops-transformer!3432 | 5 个月前 | |
支持按模板参数编译算子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 个月前 | |
更新protobuf版本 Co-authored-by: PerrySkywalker<wangmingkang1@huawei.com> # message auto-generated for no-merge-commit merge: !522 merge prof into master 更新protobuf版本 Created-by: PerrySkywalker Commit-by: PerrySkywalker Merged-by: cann-robot Description: ## 描述 更新protobuf版本 ## 关联的Issue 关联Issue [#316](https://gitcode.com/cann/ops-transformer/issues/316) <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!522 | 8 个月前 | |
ops-transformer仓支持指定模块编译 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !1889 merge test_compile_ut into master ops-transformer仓支持指定模块编译 Created-by: hblnb Commit-by: hblnb Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!1889 | 2 个月前 | |
remove op_api dir for flash_attn Co-authored-by: sunxun_14<871583899@qq.com> # message auto-generated for no-merge-commit merge: !7560 merge master into master remove op_api dir for flash_attn Created-by: sunxun_14 Commit-by: sunxun_14 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7560 | 2 个月前 | |
fix(deps): add packaging>=26.0 to requirements.txt and install_deps.sh Co-authored-by: huang-chuhong<huangchuhong1@h-partners.com> # message auto-generated for no-merge-commit merge: !6194 merge fix/add-packaging-dependency into master fix(deps): add packaging>=26.0 to requirements.txt and install_deps.sh Created-by: huang-chuhong Commit-by: huang-chuhong Merged-by: cann-robot Description: ## 描述 仓库代码依赖了 packaging 包(cmake/scripts/util/const_var.py:15 使用 from packaging import version),但 requirements.txt 和 install_deps.sh 中未声明该依赖,导致全新环境下缺少该包时构建会报 ImportError。 ## 改动 - requirements.txt:添加 packaging>=26.0 - install_deps.sh:在 COMMON_PKGS 数组中添加 "packaging>=26.0" ## 关联的Issue #2812 ## 测试 - 执行 bash install_deps.sh 脚本无报错 - python3 -c "from packaging import version" 验证模块可用 - 不传新参数时原有依赖安装行为不受影响 ## 类型标签 - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6194 | 2 个月前 | |
fix(deps): add packaging>=26.0 to requirements.txt and install_deps.sh Co-authored-by: huang-chuhong<huangchuhong1@h-partners.com> # message auto-generated for no-merge-commit merge: !6194 merge fix/add-packaging-dependency into master fix(deps): add packaging>=26.0 to requirements.txt and install_deps.sh Created-by: huang-chuhong Commit-by: huang-chuhong Merged-by: cann-robot Description: ## 描述 仓库代码依赖了 packaging 包(cmake/scripts/util/const_var.py:15 使用 from packaging import version),但 requirements.txt 和 install_deps.sh 中未声明该依赖,导致全新环境下缺少该包时构建会报 ImportError。 ## 改动 - requirements.txt:添加 packaging>=26.0 - install_deps.sh:在 COMMON_PKGS 数组中添加 "packaging>=26.0" ## 关联的Issue #2812 ## 测试 - 执行 bash install_deps.sh 脚本无报错 - python3 -c "from packaging import version" 验证模块可用 - 不传新参数时原有依赖安装行为不受影响 ## 类型标签 - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6194 | 2 个月前 | |
chore: upgrade ops-transformer version to 9.1.0 and update opbase tag Co-authored-by: huang-chuhong<huangchuhong1@h-partners.com> # message auto-generated for no-merge-commit merge: !5895 merge chore/version-upgrade-9.1.0 into master chore: upgrade ops-transformer version to 9.1.0 and update opbase tag Created-by: huang-chuhong Commit-by: huang-chuhong Merged-by: cann-robot Description: ## 描述 ops-transformer 版本升级至 9.1.0,同步更新 opbase 依赖 tag,移除不再需要的 asc-tools 构建依赖。 ## 改动 - version.cmake: 版本号从 9.0.0 升级至 9.1.0 - version.cmake: 移除 asc-tools >=8.5 构建依赖 - cmake/third_party/opbase.cmake: opbase tag ID 从 6604d3c 更新为 ee5334d ## 关联的Issue #2662 https://gitcode.com/cann/ops-transformer/issues/2599 ## 测试 - bash build.sh --pkg --jit 编译打包通过 ## 类型标签 - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [x] ❓ 其他,请描述:版本升级 See merge request: cann/ops-transformer!5895 | 3 个月前 | |
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/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] 开源算子支持CANN 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:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。