| Files | Last commit | Last update |
|---|---|---|
fix(pre-commit): 全仓代码规范整改——公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !13532 merge common into master fix(pre-commit): 全仓代码规范整改——公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: 关联Issue https://gitcode.com/cann/ops-transformer/issues/5939 ## 描述 全仓代码规范整改系列——公共目录(common/、examples/、tests/、scripts/ 等)。基于仓库 pre-commit 门禁对存量代码做一次性规范收敛: - clang-format 按 .clang-format 统一格式(列宽 120、指针左对齐等),ruff 格式化 Python - 行尾空白、文件末尾换行修复,少量文档笔误修正 - 规模:280 个文件,+4708/-5785 行,纯格式化改动语义等价,无逻辑变更 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5939(全仓整改总跟踪) ## 测试 - pre-commit 全部钩子本地通过 - CI 流水线(compile/UT)验证 See merge request: cann/ops-transformer!13532 | 29 days ago | |
fix(mhc_pre_sinkhorn): 修复c对齐校验缺失/needBackward=false空指针561103/B=0梯度输出未写 Co-authored-by: renruhai<renruhai1@huawei.com> # message auto-generated for no-merge-commit merge: !14770 merge fix/issue-6619-6654-6694-mhc-pre-sinkhorn into master fix(mhc_pre_sinkhorn): 修复c对齐校验缺失/needBackward=false空指针561103/B=0梯度输出未写 Created-by: renruhai Commit-by: renruhai Merged-by: cann-robot Description: ## 描述 针对 #6619、#6654、#6694 三个缺陷的修复(mhc_pre_sinkhorn 算子族)。 **#6654**:文档规格约束(Atlas A2/A3系列产品)要求尾轴 c 为 128 的倍数,但 CheckShape 未校验,c=130 被静默接受。补充 c % 128 == 0 校验(返回 161002 并带实际 c 值),门控于非 TND 平台(!IsPlatformSupportTnd(),即 A2/A3),950/960DT 的 TND 路径不受影响。 **#6694**:needBackward=false 时 hPre/hcBeforeNorm/invRms/sumOut/normOut 传 nullptr 会流经参数校验进入组图阶段,框架 SelectBin 因空指针无法匹配算子原型定义而选核失败,最终以内部错误码 561103 返回(上报点 mhc_pre_sinkhorn.cpp:47 ADD_TO_LAUNCHER_LIST_AICORE)。内核侧不读 needBackward、无条件写全部 8 个输出,这 5 个输出必须为合法张量。修复:CheckNotNull 对这 5 个输出无条件做非空校验,传 nullptr 返回 ACLNN_ERR_PARAM_NULLPTR(161001),替代 561103。(曾评估过占位张量方案让 nullptr 走通,因会给推理路径增加 Fill 开销且内核本就要写全部输出、显存并无真实节省,未采用。) **#6619 缺陷2(B=0 输出未写)**:backward 空 tensor 早退分支不写任何输出,而 gradPhi/gradAlpha/gradBias 是参数梯度(shape 与 B 无关,B=0 时仍非空),调用方读到未初始化内存。早退路径对非空的 gradX/gradPhi/gradAlpha/gradBias 通过 l0op::Fill + ViewCopy 写零后再返回。 #6619 缺陷1(大 shape 梯度漂移)与缺陷3(并发输出污染)需要报告者提供的 FD 脚本 / 并发 harness / mssanitizer 原始日志复现定位,本 PR 暂不涉及。 ## 关联的Issue - https://gitcode.com/cann/ops-transformer/issues/6654 - https://gitcode.com/cann/ops-transformer/issues/6694 - https://gitcode.com/cann/ops-transformer/issues/6619 **附加修复:op_api UT 编译阻塞(非本 PR 业务代码问题,随 PR 一并合入以解除全仓阻塞)** CI 的 op_api UT 失败根因:UT 框架 stub(tests/ut/framework_normal/op_api/stub/opdev/platform.h)内嵌的 NpuArch/Ops::Base::DAV_* 常量快照缺少 DAV_5162,且该 stub 通过定义 OP_COMMON_OP_HOST_UTIL_OP_CONST_DEF_H guard 宏短路了 third_party 真头文件——导致 aclnn_platform.h(IsRegbase 引用 DAV_5162,!14033 引入)在 op_api UT 构建中编译失败('DAV_5162' is not a member of 'Ops::Base'),阻塞全仓所有 PR。stub 枚举与 constexpr 区各补一行 DAV_5162 对齐真头文件。实机验证:补丁后无任何临时改动情况下 scoped op_api UT 编译通过、mhc 全部 4 用例 PASSED。 ## 测试 Atlas 910B3(A2/DAV_2201),cann/master 未修复版与本分支分别构建(9.3.0 weekly 20261014 toolkit),LD_PRELOAD A/B,issue 原样场景探针(两轮稳定): | 场景 | 未修复 master | 本 PR | 预期 | |---|---|---|---| | #6654 前向 c=130 | 0(放行) | **161002** | 161002 | | #6654 前向 c=128 回归 | 0 | 0 | 0 | | #6694 needBackward=false + 5 出参 nullptr | 561103 | **161001** | 161001 | | #6694 needBackward=false + 5 出参分配(回归) | 0 | 0 | 0 | | #6619 backward B=0(gradPhi 预填 0xAB 金丝雀 49152B) | 全残留 | **全 0** | 全 0 | | #6619 backward 有效路径回归(bs=2,pattern 填充输入) | sync=0 | sync=0,gradPhi checksum 与修复前**逐位一致** | 行为不变 | ## 文档更新 NA(#6694 的"输出无效"措辞与可空规则、#6619 附带的 P3 头文件约束缺口,建议由资料模块随本 PR 合入后单独跟进) ## 类型标签 - [x] 🐛 Bug修复 See merge request: cann/ops-transformer!14770 | 9 days ago | |
ci(compile): 编译范围推导支持暂缓编译条目(impact空=自身与闭包均不编),common/3rd 暂不触发下游 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !13631 merge moonep_4 into master ci(compile): 编译范围推导支持暂缓编译条目(impact空=自身与闭包均不编),common/3rd 暂不触发下游 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: 关联Issue https://gitcode.com/cann/ops-transformer/issues/5732(编译范围推导机制,前置 PR https://gitcode.com/cann/ops-transformer/pull/13100) ## 描述 --PR_COMPILE 编译范围推导(cmake/scripts/parse_compile_scope.py)机制扩展,并在 tests/compile_scope_whitelist.yaml 登记 3 条暂缓编译条目。 ### 1. 暂缓编译条目(impact 为空) 白名单条目 impact: [] 语义为"暂缓编译": - 直接改动该算子:不进入编译清单; - 其他算子变更:depends 反向闭包同样不附带该算子(新增 suppressed 集合,从闭包结果中剔除)。 本次登记 3 条(owner 要求暂缓编译,恢复时删除对应条目即可): - attention/fused_infer_attention_score(soc: ascend910b/910_93/mc62/950/960dt) - mc2/mega_moe(soc: ascend950/910_93/910b) - mc2/matmul_all_reduce(soc: ascend950/910b/310p) ### 2. common/3rd 暂不触发下游 域内 common/3rd 共享键变更暂不触发下游编译(当前仅验证算子间互相触发,后续恢复)。 ### 3. 边界 - 暂缓条目仅影响 kernel 编译范围,UT 不受影响; - experimental 变体与主线同 key,同样被暂缓条目覆盖。 ## 测试 - pre-commit 全绿(含 compile-scope-whitelist-check,21 entries); - 推导用例:3 个暂缓算子直接变更 @950/@910b → 空清单(build.sh exit 200 跳过);mc2/common 变更 → 空清单;attention/prompt_flash_attention 变更 @910b → 闭包含 incre_flash_attention、不含 fused_infer_attention_score(暂缓生效);flash_attn 白名单条目不受影响(@950 → flash_attn)。 See merge request: cann/ops-transformer!13631 | 20 days ago | |
feat(mc2): 补齐责任田/UT SOC配置并新增文件覆盖率豁免名单 Co-authored-by: mutex_lock<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !14317 merge ut_cov into master feat(mc2): 补齐责任田/UT SOC配置并新增文件覆盖率豁免名单 Created-by: mutex_lock Commit-by: mutex_lock Merged-by: cann-robot Description: ## 描述 补齐 mc2 算子看板责任田与 UT SOC 看护,并新增文件覆盖率豁免名单,支撑看板文件覆盖率统计与 CI 按变更触发正确芯片 UT。 ### 1. 责任田(classify_rule.yaml)本次补齐 相对补齐前,以下算子**新写入**责任田(✓ 表示本次写入该组): | 算子 | mc2_training | mc2_moe | mc2_moe_advanced | mc2_inference | |------|:------------:|:-------:|:----------------:|:-------------:| | allto_all_matmul_v2 | ✓ | | | | | all_gather_matmul_v3 | ✓ | | | ✓ | | matmul_all_reduce_add_rms_norm | ✓ | | | ✓ | | inplace_matmul_all_reduce_add_rms_norm | ✓ | | | ✓ | | attention_to_ffn_v2 | | | | ✓ | | ffn_to_attention_v2 | | | | ✓ | 补齐后:磁盘全部 **47** 个 mc2 算子均已在责任田中(含 tools / moe_ep_* / engram_* 等既有条目)。 ### 2. UT SOC(test_soc_config.yaml)本次补齐 / 重铺 **划分规则**(参考 quant_grouped_mat_mul_allto_allv): 1. 优先 op_host/op_tiling:arch35→ascend950,arch22→ascend910b,两边都有→两边都挂 2. 无 tiling arch:回退 op_kernel/arch22|arch35 3. 仍无:回退 op_host/config/<soc>/(ascend910_93 折叠进 ascend910b) 4. 写 mc2/<op>/op_host,若存在再写 tests/ut/op_host **本次新进入 SOC 的算子及对应芯片:** | 算子 | ascend310p | ascend910b | ascend950 | 判定依据(摘要) | |------|:----------:|:----------:|:---------:|------------------| | all_gather_matmul_v3 | | | ✓ | tiling arch35 | | allto_all_matmul_v2 | | | ✓ | tiling arch35 | | quant_grouped_mat_mul_allto_allv | | | ✓ | tiling arch35 | | distribute_barrier_extend | | | ✓ | kernel arch35 | | engram_fetch | | | ✓ | tiling arch35 | | engram_fetch_grad | | | ✓ | tiling arch35 | | engram_fetch_wait | | | ✓ | tiling arch35(暂无 UT) | | moe_distribute_combine_v3 | | ✓ | ✓ | tiling arch22+arch35 | | moe_distribute_dispatch_v3 | | ✓ | ✓ | tiling arch22+arch35 | | attention_to_ffn_v2 | | | ✓ | kernel arch35 | | ffn_to_attention_v2 | | | ✓ | kernel arch35 | **责任田本次补齐、但 SOC 此前已有映射的算子:** | 算子 | 责任田 | 当前 SOC | |------|--------|----------| | matmul_all_reduce_add_rms_norm | training + inference | ascend910b | | inplace_matmul_all_reduce_add_rms_norm | training + inference | ascend910b | **按规则重铺后,SOC 归属调整的既有算子:** | 算子 | 调整前 | 调整后 | |------|--------|--------| | all_gather_matmul | 910b | 910b + 950 | | distribute_barrier | 910b | 910b + 950 | | matmul_reduce_scatter | 910b | 910b + 950 | | moe_distribute_combine_setup / teardown | 950 | 910b + 950 | | moe_distribute_dispatch_setup / teardown | 950 | 910b + 950 | | quant_all_reduce | 910b + 950 | 950 | | quant_reduce_scatter | 910b + 950 | 950 | **未挂 SOC**(无 UT,且无 arch/config 可判定):moe_ep_combine / _epilogue、moe_ep_dispatch / _epilogue、tools。 覆盖汇总:ascend310p **1**、ascend910b **30**、ascend950 **35**;有 UT 的 mc2 算子均已进 SOC。 ### 3. 文件覆盖率豁免(tests/file_cov_exempt.yaml 新增) 按组件配置:dirs 豁免 op_kernel / op_graph,files 豁免纯声明/数据类型头。 仅影响看板文件覆盖率分母;未命中才豁免,命中优先并 WARN。 组件:mc2_training / mc2_moe / mc2_moe_advanced。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/6725 ## 测试 - 对照磁盘算子清单:classify_rule 47/47;有 UT 算子均在 test_soc_config 中。 - 本地验证文件覆盖率豁免(coverage.info + tianti): - mc2_training:138/146 ≈ **94.52%**(语句 88.47%) - mc2_moe:4/4 = **100%**(语句 90.72%) - mc2_moe_advanced:82/106 ≈ **77.36%**(语句 84.22%) - files 静态检查:无实质函数定义;含构造函数体的头已移出白名单。 ## 文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [x] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!14317 | 14 days ago | |
添加pybind11依赖声明 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !9952 merge add_module into master 添加pybind11依赖声明 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 - requirements.txt中增加pybind11依赖声明 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/4283 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [x] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9952 | 2 months ago | |
打开所有mc2算子ut Co-authored-by: mutex_lock<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !14952 merge openallmc2ut into master 打开所有mc2算子ut Created-by: mutex_lock Commit-by: mutex_lock Merged-by: cann-robot Description: ## 描述 打开所有mc2算子ut ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/6935 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [x] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!14952 | 10 days ago | |
feat(mc2): 补齐责任田/UT SOC配置并新增文件覆盖率豁免名单 Co-authored-by: mutex_lock<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !14317 merge ut_cov into master feat(mc2): 补齐责任田/UT SOC配置并新增文件覆盖率豁免名单 Created-by: mutex_lock Commit-by: mutex_lock Merged-by: cann-robot Description: ## 描述 补齐 mc2 算子看板责任田与 UT SOC 看护,并新增文件覆盖率豁免名单,支撑看板文件覆盖率统计与 CI 按变更触发正确芯片 UT。 ### 1. 责任田(classify_rule.yaml)本次补齐 相对补齐前,以下算子**新写入**责任田(✓ 表示本次写入该组): | 算子 | mc2_training | mc2_moe | mc2_moe_advanced | mc2_inference | |------|:------------:|:-------:|:----------------:|:-------------:| | allto_all_matmul_v2 | ✓ | | | | | all_gather_matmul_v3 | ✓ | | | ✓ | | matmul_all_reduce_add_rms_norm | ✓ | | | ✓ | | inplace_matmul_all_reduce_add_rms_norm | ✓ | | | ✓ | | attention_to_ffn_v2 | | | | ✓ | | ffn_to_attention_v2 | | | | ✓ | 补齐后:磁盘全部 **47** 个 mc2 算子均已在责任田中(含 tools / moe_ep_* / engram_* 等既有条目)。 ### 2. UT SOC(test_soc_config.yaml)本次补齐 / 重铺 **划分规则**(参考 quant_grouped_mat_mul_allto_allv): 1. 优先 op_host/op_tiling:arch35→ascend950,arch22→ascend910b,两边都有→两边都挂 2. 无 tiling arch:回退 op_kernel/arch22|arch35 3. 仍无:回退 op_host/config/<soc>/(ascend910_93 折叠进 ascend910b) 4. 写 mc2/<op>/op_host,若存在再写 tests/ut/op_host **本次新进入 SOC 的算子及对应芯片:** | 算子 | ascend310p | ascend910b | ascend950 | 判定依据(摘要) | |------|:----------:|:----------:|:---------:|------------------| | all_gather_matmul_v3 | | | ✓ | tiling arch35 | | allto_all_matmul_v2 | | | ✓ | tiling arch35 | | quant_grouped_mat_mul_allto_allv | | | ✓ | tiling arch35 | | distribute_barrier_extend | | | ✓ | kernel arch35 | | engram_fetch | | | ✓ | tiling arch35 | | engram_fetch_grad | | | ✓ | tiling arch35 | | engram_fetch_wait | | | ✓ | tiling arch35(暂无 UT) | | moe_distribute_combine_v3 | | ✓ | ✓ | tiling arch22+arch35 | | moe_distribute_dispatch_v3 | | ✓ | ✓ | tiling arch22+arch35 | | attention_to_ffn_v2 | | | ✓ | kernel arch35 | | ffn_to_attention_v2 | | | ✓ | kernel arch35 | **责任田本次补齐、但 SOC 此前已有映射的算子:** | 算子 | 责任田 | 当前 SOC | |------|--------|----------| | matmul_all_reduce_add_rms_norm | training + inference | ascend910b | | inplace_matmul_all_reduce_add_rms_norm | training + inference | ascend910b | **按规则重铺后,SOC 归属调整的既有算子:** | 算子 | 调整前 | 调整后 | |------|--------|--------| | all_gather_matmul | 910b | 910b + 950 | | distribute_barrier | 910b | 910b + 950 | | matmul_reduce_scatter | 910b | 910b + 950 | | moe_distribute_combine_setup / teardown | 950 | 910b + 950 | | moe_distribute_dispatch_setup / teardown | 950 | 910b + 950 | | quant_all_reduce | 910b + 950 | 950 | | quant_reduce_scatter | 910b + 950 | 950 | **未挂 SOC**(无 UT,且无 arch/config 可判定):moe_ep_combine / _epilogue、moe_ep_dispatch / _epilogue、tools。 覆盖汇总:ascend310p **1**、ascend910b **30**、ascend950 **35**;有 UT 的 mc2 算子均已进 SOC。 ### 3. 文件覆盖率豁免(tests/file_cov_exempt.yaml 新增) 按组件配置:dirs 豁免 op_kernel / op_graph,files 豁免纯声明/数据类型头。 仅影响看板文件覆盖率分母;未命中才豁免,命中优先并 WARN。 组件:mc2_training / mc2_moe / mc2_moe_advanced。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/6725 ## 测试 - 对照磁盘算子清单:classify_rule 47/47;有 UT 算子均在 test_soc_config 中。 - 本地验证文件覆盖率豁免(coverage.info + tianti): - mc2_training:138/146 ≈ **94.52%**(语句 88.47%) - mc2_moe:4/4 = **100%**(语句 90.72%) - mc2_moe_advanced:82/106 ≈ **77.36%**(语句 84.22%) - files 静态检查:无实质函数定义;含构造函数体的头已移出白名单。 ## 文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [x] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!14317 | 14 days ago |
| Files | Last commit | Last update |
|---|---|---|
| 29 days ago | ||
| 9 days ago | ||
| 20 days ago | ||
| 14 days ago | ||
| 2 months ago | ||
| 10 days ago | ||
| 14 days ago |