| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: cleancode Co-authored-by: libohao6<libohao3@huawei.com> # message auto-generated for no-merge-commit merge: !5489 merge fix-cleancode-issues into master fix: cleancode Created-by: libohao6 Commit-by: libohao6 Merged-by: cann-robot Description: ## 描述 修复基础算子主线cleancode问题。 ## 关联的Issue [Bug-Report|缺陷反馈]: MC2基础算子主线存在cleancode问题 #2566 ## 测试 二级冒烟。 ## 文档更新 不涉及。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: # PR #5489 代码检视报告 **PR**: https://gitcode.com/cann/ops-transformer/pull/5489 **标题**: merge 'fix-cleancode-issues' into 'master' **作者**: libohao6 | **范围**: 19 files, +453 -531 | **日期**: 2026-05-21 --- ## 改动分类 | 类型 | 改动数 | 说明 | |------|-------|------| | 删除未使用函数 | 5个 | matmul_util.cpp删3个static函数 + aclnn_matmul_reduce_scatter_v2.cpp删CreateWinTensor | | 删除冗余变量 | 2个 | x1Dtype/biasDtype 在 aclnn_weight_quant_matmul_all_reduce.cpp | | const修饰添加 | 5处 | 多个Tiling函数context参数加const | | 位操作类型修复 | 1处 | int32_t code → uint32_t bitCode | | 魔法数字→常量 | 1处 | alignas(8) → alignas(L2_CACHE_ALIGNMENT) | | 变量重命名 | 多处 | Kernel侧blockLocCoord→blockLocCoord_等; Host侧index→idx/i | | 参数名拼写修正 | 1处 | rcfCfg→rcsCfg | | include guard | 1处 | matmul_reduce_scatter_v2_tiling_common.h | | 头文件清理 | 3处 | 移除冗余#include | | 未使用参数标记 | 5处 | (void)opType等 | | 注释风格更新 | 大量 | 决策树层级注释从======改为差异化标记 | | 代码格式修复 | 多处 | 空格/缩进/换行 | --- ## 假设检验检视结果 ### 1. 删除未使用函数 ✅ PASS **涉及文件**: matmul_util.cpp, aclnn_matmul_reduce_scatter_v2.cpp 删除5个static函数(CheckShapeValidWithTrans、ProcessEmptyTensor、ProcessEmptyTensorWithTrans、GetMatmulOpInfoWithTrans、CreateWinTensor)。均为static,无跨文件引用风险。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 5.2 资源泄露防护 | 删除是否遗漏调用点 | ✅ static函数仅文件内可见 | ### 2. const修饰添加 ✅ PASS **涉及文件**: all_gather_matmul_tiling_base.cpp/.h, quant_all_reduce_tiling.cpp, quant_reduce_scatter_tiling.cpp gert::TilingContext *context → const gert::TilingContext *context。GetNodeName()、GetAttrPointer()等方法为const兼容,头文件声明同步更新。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 1.1 静态类型安全 | const修饰是否导致编译错误 | ✅ 方法兼容const | ### 3. 位操作类型修复 ✅ PASS **涉及文件**: matmul_reduce_scatter_v2_aiv_mode_tiling.cpp int32_t code → uint32_t bitCode。对有符号数做右移(>>=)存在符号扩展问题,改为uint32_t消除风险。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 2.1 有符号整数不溢出 | int32_t右移符号扩展 | ✅ 修复正确 | | cpp-secure 2.2 无符号整数不回绕 | uint32_t位操作安全 | ✅ | ### 4. 魔法数字→常量 ✅ PASS **涉及文件**: unquant_matmul_all_reduce_tiling_data.h static constexpr size_t L2_CACHE_ALIGNMENT = 8; 替换 alignas(8)。值等价,不影响ABI。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 10.4 结构体字段末尾添加 | 常量定义位置 | ✅ 不影响ABI | ### 5. 冗余变量删除 ✅ PASS **涉及文件**: aclnn_weight_quant_matmul_all_reduce.cpp 删除 const auto x1Dtype = x1->GetDataType(); const auto biasDtype = bias->GetDataType();。两变量后续无引用,OP_CHECK_DTYPE_NOT_SAME宏自行获取dtype。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 3.1 禁止未初始化变量 | 删除后功能等价 | ✅ | ### 6. 参数名拼写修正 ✅ PASS **涉及文件**: matmul_reduce_scatter_tiling_base.cpp rcfCfg → rcsCfg(RCS=ReduceScatter拼写修正)。所有引用已同步替换。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | MC2 MC2-13 CCU通信数据量限制 | AdjustHCCLLimit逻辑是否保留 | ✅ 256MB限制保留 | ### 7. include guard添加 ✅ PASS **涉及文件**: matmul_reduce_scatter_v2_tiling_common.h 新增 #ifndef MATMUL_REDUCE_SCATTER_V2_TILING_COMMON_H 保护。命名与文件路径一致。 ### 8. 未使用参数标记 ✅ PASS **涉及文件**: quant_reduce_scatter_util_tiling.cpp 添加 (void)opType; (void)context; (void)xDimNum; (void)outputDim; 消除编译器警告。注释声明"Reserved for future extension"。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | TOPK TOPK-7 外部输入校验 | 校验逻辑是否削弱 | ✅ 未削弱 | ### 9. LOG参数安全 ✅ PASS **涉及文件**: allto_allv_quant_grouped_mat_mul_tiling_base.cpp 循环变量 index → idx/i。sendCounts[%lu] should be in [0, %lu], but get %lu — 3个%lu对应3个uint64_t(idx, bsk_, sendCounts[idx]),类型和数量匹配。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 11.2 参数数量与占位符匹配 | 3个%lu=3个uint64_t | ✅ | | cpp-secure 11.3 参数类型与格式化说明符匹配 | uint64_t用%lu | ✅ | | MC2 MC2-07 专家参数合法性校验 | sendCounts/recvCounts校验完整 | ✅ | ### 10. 头文件清理 ✅ PASS **涉及文件**: matmul_reduce_scatter_tiling_base.h, quant_reduce_scatter_util_tiling.h, all_gather_matmul_tiling_base.h 移除冗余 #include "ops_utils.h" 和 #include "mc2_log.h"。 --- ## 规范条款引用汇总 | 规范来源 | 条款编号 | 条款名称 | 检查结果 | |---------|---------|---------|---------| | cpp-secure.md | 1.1 | 保证静态类型安全 | ✅ | | cpp-secure.md | 2.1 | 有符号整数运算不溢出 | ✅ | | cpp-secure.md | 2.2 | 无符号整数运算不回绕 | ✅ | | cpp-secure.md | 3.1 | 禁止使用未初始化的变量 | ✅ | | cpp-secure.md | 5.2 | 资源泄露防护 | ✅ | | cpp-secure.md | 10.4 | 结构体字段末尾添加 | ✅ | | cpp-secure.md | 11.2 | LOG参数数量与占位符必须匹配 | ✅ | | cpp-secure.md | 11.3 | LOG参数类型与格式化说明符必须匹配 | ✅ | | mc2-specific.md | MC2-07 | 专家参数合法性校验 | ✅ | | mc2-specific.md | MC2-13 | CCU通信数据量限制 | ✅ | | ascendc-topk.md | TOPK-1 | 必须校验函数返回值 | ✅ | | ascendc-topk.md | TOPK-7 | 融合规则/InferShape/Tiling外部输入校验 | ✅ | --- ## 总体结论 **✅ 无问题** — PR #5489 为代码清理类改动,所有10项检视均PASS。改动不引入安全风险,不削弱校验逻辑,规范合规性100%。 See merge request: cann/ops-transformer!5489 | 3 个月前 | |
新增UT用例,提升ut覆盖率 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !5649 merge add_ut_case_0515 into master 新增UT用例,提升ut覆盖率 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 新增UT用例,提升ut覆盖率 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2585 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## AI检视意见 总结 本次提交新增约 2118 行 UT 测试代码,覆盖了多个算子的 tiling、InferShape、InferDataType、op_api 等测试维度,测试设计合理,包含了合法场景、非法参数、空指针、空张量、非连续内存、dtype 不匹配等多种边界场景。 发现的问题均为测试代码自身健壮性问题,不涉及生产代码安全风险,建议按优先级酌情处理。 报告生成时间 2026-05-20 报告状态 已完成检视,待确认修复优先级 See merge request: cann/ops-transformer!5649 | 3 个月前 | |
mc2/allgathermmv2: fix formulaic tiling under hccl limit Co-authored-by: Zhiqi Song<songzhiqi1@huawei.com> # message auto-generated for no-merge-commit merge: !5593 merge master into master mc2/allgathermmv2: fix formulaic tiling under hccl limit Created-by: captainmiaow Commit-by: Zhiqi Song Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2611 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5593 | 3 个月前 | |
整改mc2部分仓内重名头文件现象 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !5637 merge clear_repeat_h into master 整改mc2部分仓内重名头文件现象 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 整改mc2部分仓内重名头文件现象 --- | 文件名 | 源码路径|处理方式 | |-----|-----|-----| | all_gather_formulaic_tiling.h | mc2/all_gather_matmul/op_host/op_tiling/all_gather_formulaic_tiling.h,mc2/all_gather_matmul_v2/op_host/op_tiling/all_gather_formulaic_tiling.h | 都为内部头文件,但内容不同,已修改all_gather_matmul_v2算子内文件的命名 | | grouped_matmul_host_util.h | gmm/grouped_matmul/op_host/grouped_matmul_host_util.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_host_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | grouped_matmul_tiling.h | gmm/grouped_matmul/op_host/op_tiling/grouped_matmul_tiling.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_tiling.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | matmul_util.h | mc2/3rd/common/op_host/op_api/matmul_util.h,mc2/common/utils/matmul_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名,并消除宏冲突 | | runtime_kb_api.h | common/stub/op_tiling/runtime_kb_api.h,mc2/3rd/ops_legacy/op_tiling/runtime_kb_api.h | 声明完全相同,但实现侧不同,删除mc2/3rd/ops_legacy下的runtime_kb_api.h | | tiling_type.h | common/include/op_host/tiling_type.h,mc2/3rd/common/op_host/op_tiling/tiling_type.h |都为内部文件,但内容不完全相同,保留common/include/op_host/tiling_type.h统一使用 | | tuning_tiling_reflection_utils.h | common/stub/op_tiling/register/tuning_tiling_reflection_utils.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | | tuning_tiling_registry.h | common/stub/op_tiling/register/tuning_tiling_registry.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | --- ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2550 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> rdv ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5637 | 3 个月前 | |
增加A2 A2AQMM tiling中对smoothscale的shape校验 Co-authored-by: SimpleBright_Man<tangpanrui1@huawei.com> # message auto-generated for no-merge-commit merge: !5751 merge fixTilingCheck into master 增加A2 A2AQMM tiling中对smoothscale的shape校验 Created-by: SimpleBright_Man Commit-by: SimpleBright_Man Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 缺少对smoothscale的shape校验,用户出错后不明确问题原因 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5751 | 3 个月前 | |
mc2算子op_kernel代码文件代际隔离 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !1830 merge agmv2_csv into master mc2算子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修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!1830 | 3 个月前 | |
调整alltoallv+gmm量化场景下最大支持卡数 Co-authored-by: huangshuai<huangshuai59@huawei.com> # message auto-generated for no-merge-commit merge: !5822 merge fix_bug1 into master 调整alltoallv+gmm量化场景下最大支持卡数 Created-by: huangshuai59 Commit-by: huangshuai Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2629 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5822 | 3 个月前 | |
mc2算子op_kernel代码文件代际隔离 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !1830 merge agmv2_csv into master mc2算子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修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!1830 | 3 个月前 | |
整改mc2部分仓内重名头文件现象 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !5637 merge clear_repeat_h into master 整改mc2部分仓内重名头文件现象 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 整改mc2部分仓内重名头文件现象 --- | 文件名 | 源码路径|处理方式 | |-----|-----|-----| | all_gather_formulaic_tiling.h | mc2/all_gather_matmul/op_host/op_tiling/all_gather_formulaic_tiling.h,mc2/all_gather_matmul_v2/op_host/op_tiling/all_gather_formulaic_tiling.h | 都为内部头文件,但内容不同,已修改all_gather_matmul_v2算子内文件的命名 | | grouped_matmul_host_util.h | gmm/grouped_matmul/op_host/grouped_matmul_host_util.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_host_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | grouped_matmul_tiling.h | gmm/grouped_matmul/op_host/op_tiling/grouped_matmul_tiling.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_tiling.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | matmul_util.h | mc2/3rd/common/op_host/op_api/matmul_util.h,mc2/common/utils/matmul_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名,并消除宏冲突 | | runtime_kb_api.h | common/stub/op_tiling/runtime_kb_api.h,mc2/3rd/ops_legacy/op_tiling/runtime_kb_api.h | 声明完全相同,但实现侧不同,删除mc2/3rd/ops_legacy下的runtime_kb_api.h | | tiling_type.h | common/include/op_host/tiling_type.h,mc2/3rd/common/op_host/op_tiling/tiling_type.h |都为内部文件,但内容不完全相同,保留common/include/op_host/tiling_type.h统一使用 | | tuning_tiling_reflection_utils.h | common/stub/op_tiling/register/tuning_tiling_reflection_utils.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | | tuning_tiling_registry.h | common/stub/op_tiling/register/tuning_tiling_registry.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | --- ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2550 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> rdv ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5637 | 3 个月前 | |
context A5适配 Co-authored-by: lu-zhirui<luzhirui2@h-partners.com> # message auto-generated for no-merge-commit merge: !5620 merge context地址获取 into master context A5适配 Created-by: lu-zhirui Commit-by: lu-zhirui Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 代码检视报告 - 5620.diff --- ### 检视概述 | 属性 | 值 | |-----|-----| | 检视文件 | mc2/common/utils/mc2_exception_dump.h | | 检视类别 | C++ 安全编码规范检视 | | 规范文档 | C++SecureCoding.md | | 问题总数 | 4 个 | | 严重等级 | 高: 2, 中: 2 | --- ### 风险点详情 #### 问题1: HcclCombinOpParam 数组越界 【严重】 | 属性 | 值 | |-----|-----| | 规范条款 | 规则 3.3: 外部数据作为数组索引时必须确保在数组大小范围内 | | 文件行号 | mc2_exception_dump.h:新增第79行 | | 风险等级 | **高** | **问题代码**: cpp winAddr = reinterpret_cast<void *>(winContext->windowsIn[winContext->rankId]); **假设检验证据链**: | 证据类型 | 分析内容 | 分值 | |---------|---------|-----| | 规范违反 | winContext->rankId 来自设备内存拷贝,属于外部数据,值不可预测 | +40% | | 上下文防御缺失 | windowsIn 数组大小为 64,代码未对 rankId 进行边界检查 | +30% | | 数据流追踪风险 | 若 rankId >= 64,将导致数组越界访问,引发未定义行为 | +25% | | **自信值** | **95%** → **判定存在风险** | | --- #### 问题2: Mc2MoeContext 数组越界 【严重】 | 属性 | 值 | |-----|-----| | 规范条款 | 规则 3.3: 外部数据作为数组索引时必须确保在数组大小范围内 | | 文件行号 | mc2_exception_dump.h:新增第96行 | | 风险等级 | **高** | **问题代码**: cpp winAddr = reinterpret_cast<void *>(winContext->epHcclBuffer_[winContext->epRankId]); **假设检验证据链**: | 证据类型 | 分析内容 | 分值 | |---------|---------|-----| | 规范违反 | winContext->epRankId 来自设备内存拷贝,属于外部数据 | +40% | | 上下文防御缺失 | epHcclBuffer_ 数组大小为 1024,代码未对 epRankId 进行边界检查 | +30% | | 数据流追踪风险 | 若 epRankId >= 1024,将导致数组越界访问 | +25% | | **自信值** | **95%** → **判定存在风险** | | --- #### 问题3: op 参数未判空 【中等】 | 属性 | 值 | |-----|-----| | 规范条款 | 规则 3.5: 指针操作,使用前必须要判空 | | 文件行号 | mc2_exception_dump.h:新增第50行 | | 风险等级 | **中** | **问题代码**: cpp auto is_support_op = Mc2OperatorContextMap.find(op); **假设检验证据链**: | 证据类型 | 分析内容 | 分值 | |---------|---------|-----| | 规范违反 | op 参数类型为 const char *,未进行判空检查 | +40% | | 函数调用链风险 | std::map::find() 将 const char * 构造为 std::string,若 op 为 nullptr 可能导致未定义行为 | +30% | | **自信值** | **70%** → **判定存在风险** | | --- #### 问题4: winAddr 分支遗漏防御 【中等】 | 属性 | 值 | |-----|-----| | 规范条款 | 规则 3.1: 禁止使用未初始化的变量 | | 文件行号 | mc2_exception_dump.h:新增第99-102行 | | 风险等级 | **中** | **问题代码**: cpp } else if (context_type == "Mc2MoeContext") { ... winAddr = reinterpret_cast<void *>(winContext->epHcclBuffer_[winContext->epRankId]); } if (winAddr == nullptr) { **假设检验证据链**: | 证据类型 | 分析内容 | 分值 | |---------|---------|-----| | 上下文防御缺失 | 使用 if-else if 结构,缺少 else 分支防御 | +30% | | 数据流追踪风险 | 若 context_type 不匹配,winAddr 保持 nullptr,后续有判空保护 | +25% | | 证据有效性校验 | 后续第100行检查 winAddr == nullptr 会返回错误,实际风险较低 | -20% | | **自信值** | **35%** → **建议添加防御代码** | | --- ### 建议修复方案 cpp inline int ProcessArgsForA5(uint64_t argsAddr, std::vector<uint8_t> &winBuf, const char *op) { // 【修复问题3】op 参数判空 if (op == nullptr) { OP_LOGE(OP_NAME, "op parameter is null."); return -1; } void* winAddr = nullptr; aclError ret = ACL_SUCCESS; auto is_support_op = Mc2OperatorContextMap.find(op); if (is_support_op == Mc2OperatorContextMap.end()) { OP_LOGE(OP_NAME, "Get winarr does not support this operator, op_name = %s", op); return -1; } const std::string& context_type = is_support_op->second; if (context_type == "HcclCombinOpParam") { std::vector<uint8_t> hcclArgs(sizeof(HcclCombinOpParam), 0); ret = aclrtMemcpy(hcclArgs.data(), sizeof(HcclCombinOpParam), (void *)argsAddr, sizeof(HcclCombinOpParam), ACL_MEMCPY_DEVICE_TO_HOST); if (ret != ACL_SUCCESS) { OP_LOGE(OP_NAME, "aclrtMemcpy HcclCombinOpParam from device to host failed. ret = %d", ret); return -1; } HcclCombinOpParam* winContext = reinterpret_cast<HcclCombinOpParam *>(hcclArgs.data()); if (winContext == nullptr) { OP_LOGE(OP_NAME, "Cast to winContext failed. HcclCombinOpParam is null."); return -1; } OP_LOGD(OP_NAME, "Get winContext from args. rankId=%u, rankDim=%u", winContext->rankId, winContext->rankDim); // 【修复问题1】数组越界检查 if (winContext->rankId >= HCCL_MTE_MAX_RANK_NUM) { OP_LOGE(OP_NAME, "rankId %u exceeds array bound %u.", winContext->rankId, HCCL_MTE_MAX_RANK_NUM); return -1; } winAddr = reinterpret_cast<void *>(winContext->windowsIn[winContext->rankId]); } else if (context_type == "Mc2MoeContext") { std::vector<uint8_t> hcclArgs(sizeof(Mc2Aclnn::Mc2MoeContext), 0); ret = aclrtMemcpy(hcclArgs.data(), sizeof(Mc2Aclnn::Mc2MoeContext), (void *)argsAddr, sizeof(Mc2Aclnn::Mc2MoeContext), ACL_MEMCPY_DEVICE_TO_HOST); if (ret != ACL_SUCCESS) { OP_LOGE(OP_NAME, "aclrtMemcpy Mc2MoeContext from device to host failed. ret = %d", ret); return -1; } Mc2Aclnn::Mc2MoeContext* winContext = reinterpret_cast<Mc2Aclnn::Mc2MoeContext *>(hcclArgs.data()); if (winContext == nullptr) { OP_LOGE(OP_NAME, "Cast to winContext failed. Mc2MoeContext is null."); return -1; } OP_LOGD(OP_NAME, "Get winContext from args. rankId=%u", winContext->epRankId); // 【修复问题2】数组越界检查 if (winContext->epRankId >= Mc2Aclnn::HCCL_MAX_RANK_SIZE) { OP_LOGE(OP_NAME, "epRankId %u exceeds array bound %u.", winContext->epRankId, Mc2Aclnn::HCCL_MAX_RANK_SIZE); return -1; } winAddr = reinterpret_cast<void *>(winContext->epHcclBuffer_[winContext->epRankId]); } else { // 【修复问题4】添加防御分支 OP_LOGE(OP_NAME, "Unknown context type: %s", context_type.c_str()); return -1; } if (winAddr == nullptr) { OP_LOGE(OP_NAME, "Get winaddr failed."); return -1; } ret = aclrtMemcpy(winBuf.data(), WIN_SIZE, winAddr, WIN_SIZE, ACL_MEMCPY_DEVICE_TO_HOST); if (ret != ACL_SUCCESS) { OP_LOGE(OP_NAME, "aclrtMemcpy windows from device to host failed. ret = %d", ret); return -1; } return 0; } --- ### 规范条款引用汇总 | 问题编号 | 规范条款编号 | 规范条款描述 | 来源文档 | |---------|------------|-------------|---------| | 问题1 | 规则 3.3 | 外部数据作为数组索引时必须确保在数组大小范围内 | C++SecureCoding.md | | 问题2 | 规则 3.3 | 外部数据作为数组索引时必须确保在数组大小范围内 | C++SecureCoding.md | | 问题3 | 规则 3.5 | 指针操作,使用前必须要判空 | C++SecureCoding.md | | 问题4 | 规则 3.1 | 禁止使用未初始化的变量 | C++SecureCoding.md | --- ### 其他建议 1. **命名规范**: Mc2OperatorContextMap 建议改为 kMc2OperatorContextMap,符合常量命名规范(前缀 k 表示常量) 2. **代码结构**: 新增的 map 定义位置合理,放在 namespace 内的常量区域与其他常量保持一致 --- **检视结论**: 该 diff 新增了根据算子类型选择不同 context 结构体的功能,但存在数组越界和空指针风险,建议修复后再合入。 See merge request: cann/ops-transformer!5620 | 3 个月前 | |
修复distributebarrier变量未初始化 Co-authored-by: Yuyu-Li<liyuyu6@huawei.com> # message auto-generated for no-merge-commit merge: !5883 merge barrier_xiufu into master 修复distributebarrier变量未初始化 Created-by: Yuyu-Li Commit-by: Yuyu-Li Merged-by: cann-robot Description: ## 描述 修复distributebarrier变量未初始化 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2655 ## 测试 线下测试 ## 文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5883 | 3 个月前 | |
修复distributeBarrierExtend算子资料 Co-authored-by: Yuyu-Li<liyuyu6@huawei.com> # message auto-generated for no-merge-commit merge: !5887 merge barrier_xiufu into master 修复distributeBarrierExtend算子资料 Created-by: Yuyu-Li Commit-by: Yuyu-Li Merged-by: cann-robot Description: ## 描述 修复distributeBarrierExtend算子资料 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2395 ## 测试 ## 文档更新 更新了以下文档 https://gitcode.com/cann/ops-transformer/blob/2fb644d4a0417c15995a9c09f71888f2604cfd00/docs/zh/op_list.md https://gitcode.com/cann/ops-transformer/blob/2fb644d4a0417c15995a9c09f71888f2604cfd00/mc2/distribute_barrier_extend/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5887 | 3 个月前 | |
mc2算子op_kernel代码文件代际隔离 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !1830 merge agmv2_csv into master mc2算子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修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!1830 | 3 个月前 | |
mc2算子op_kernel代码文件代际隔离 Co-authored-by: hblnb<huangbolin3@huawei.com> # message auto-generated for no-merge-commit merge: !1830 merge agmv2_csv into master mc2算子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修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!1830 | 3 个月前 | |
alltoallv日志格式修改 Co-authored-by: huangshuai<huangshuai59@huawei.com> # message auto-generated for no-merge-commit merge: !5524 merge fix_log into master alltoallv日志格式修改 Created-by: huangshuai59 Commit-by: huangshuai Merged-by: cann-robot Description: ## 描述 alltoallv日志格式修改 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2522 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5524 | 3 个月前 | |
新增UT用例,提升ut覆盖率 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !5649 merge add_ut_case_0515 into master 新增UT用例,提升ut覆盖率 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 新增UT用例,提升ut覆盖率 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2585 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## AI检视意见 总结 本次提交新增约 2118 行 UT 测试代码,覆盖了多个算子的 tiling、InferShape、InferDataType、op_api 等测试维度,测试设计合理,包含了合法场景、非法参数、空指针、空张量、非连续内存、dtype 不匹配等多种边界场景。 发现的问题均为测试代码自身健壮性问题,不涉及生产代码安全风险,建议按优先级酌情处理。 报告生成时间 2026-05-20 报告状态 已完成检视,待确认修复优先级 See merge request: cann/ops-transformer!5649 | 3 个月前 | |
新增UT用例,提升ut覆盖率 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !5649 merge add_ut_case_0515 into master 新增UT用例,提升ut覆盖率 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 新增UT用例,提升ut覆盖率 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2585 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## AI检视意见 总结 本次提交新增约 2118 行 UT 测试代码,覆盖了多个算子的 tiling、InferShape、InferDataType、op_api 等测试维度,测试设计合理,包含了合法场景、非法参数、空指针、空张量、非连续内存、dtype 不匹配等多种边界场景。 发现的问题均为测试代码自身健壮性问题,不涉及生产代码安全风险,建议按优先级酌情处理。 报告生成时间 2026-05-20 报告状态 已完成检视,待确认修复优先级 See merge request: cann/ops-transformer!5649 | 3 个月前 | |
新增matmul_all_reduce_add_rms_norm、matmul_reduce_scatter、matmul_reduce_scatter_v2算子UT用例 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !5702 merge add_case_0518 into master 新增matmul_all_reduce_add_rms_norm、matmul_reduce_scatter、matmul_reduce_scatter_v2算子UT用例 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 新增matmul_all_reduce_add_rms_norm、matmul_reduce_scatter、matmul_reduce_scatter_v2算子UT用例,增加覆盖率 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 代码检视报告 项目名称:ops-transformer UT 用例检视报告 检视模块:mc2/matmul_all_reduce_add_rms_norm, mc2/matmul_reduce_scatter, mc2/matmul_reduce_scatter_v2 下的 9 个 UT 文件 检视人:Turing Team 检视日期:2026-05-21 提交:8cfaa1ca "add ut case" --- 检视概览 ┌────────────────────────┬──────┐ │ 统计项 │ 数值 │ ├────────────────────────┼──────┤ │ 发现问题总数 │ 0 个 │ ├────────────────────────┼──────┤ │ 严重级(CRITICAL)问题 │ 0 个 │ ├────────────────────────┼──────┤ │ 中等级(MEDIUM)问题 │ 0 个 │ ├────────────────────────┼──────┤ │ 轻微级(LOW)问题 │ 0 个 │ └────────────────────────┴──────┘ 检视类别:C++ 安全编码规范(cpp-secure.md)+ C++ 通用编码规范(cpp-general.md) 核心结论:本次提交全部为 UT 测试代码(op_api / op_host),涉及 matmul_all_reduce_add_rms_norm、matmul_reduce_scatter、matmul_reduce_scatter_v2 三个算子的单元测试补充。经逐条对照 Host 侧红线规范和安全编码规范,未发现需修复的安全问题。 See merge request: cann/ops-transformer!5702 | 3 个月前 | |
新增UT用例,提升ut覆盖率 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !5649 merge add_ut_case_0515 into master 新增UT用例,提升ut覆盖率 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 新增UT用例,提升ut覆盖率 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2585 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## AI检视意见 总结 本次提交新增约 2118 行 UT 测试代码,覆盖了多个算子的 tiling、InferShape、InferDataType、op_api 等测试维度,测试设计合理,包含了合法场景、非法参数、空指针、空张量、非连续内存、dtype 不匹配等多种边界场景。 发现的问题均为测试代码自身健壮性问题,不涉及生产代码安全风险,建议按优先级酌情处理。 报告生成时间 2026-05-20 报告状态 已完成检视,待确认修复优先级 See merge request: cann/ops-transformer!5649 | 3 个月前 | |
新增matmul_all_reduce_add_rms_norm、matmul_reduce_scatter、matmul_reduce_scatter_v2算子UT用例 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !5702 merge add_case_0518 into master 新增matmul_all_reduce_add_rms_norm、matmul_reduce_scatter、matmul_reduce_scatter_v2算子UT用例 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 新增matmul_all_reduce_add_rms_norm、matmul_reduce_scatter、matmul_reduce_scatter_v2算子UT用例,增加覆盖率 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 代码检视报告 项目名称:ops-transformer UT 用例检视报告 检视模块:mc2/matmul_all_reduce_add_rms_norm, mc2/matmul_reduce_scatter, mc2/matmul_reduce_scatter_v2 下的 9 个 UT 文件 检视人:Turing Team 检视日期:2026-05-21 提交:8cfaa1ca "add ut case" --- 检视概览 ┌────────────────────────┬──────┐ │ 统计项 │ 数值 │ ├────────────────────────┼──────┤ │ 发现问题总数 │ 0 个 │ ├────────────────────────┼──────┤ │ 严重级(CRITICAL)问题 │ 0 个 │ ├────────────────────────┼──────┤ │ 中等级(MEDIUM)问题 │ 0 个 │ ├────────────────────────┼──────┤ │ 轻微级(LOW)问题 │ 0 个 │ └────────────────────────┴──────┘ 检视类别:C++ 安全编码规范(cpp-secure.md)+ C++ 通用编码规范(cpp-general.md) 核心结论:本次提交全部为 UT 测试代码(op_api / op_host),涉及 matmul_all_reduce_add_rms_norm、matmul_reduce_scatter、matmul_reduce_scatter_v2 三个算子的单元测试补充。经逐条对照 Host 侧红线规范和安全编码规范,未发现需修复的安全问题。 See merge request: cann/ops-transformer!5702 | 3 个月前 | |
新增matmul_all_reduce_add_rms_norm、matmul_reduce_scatter、matmul_reduce_scatter_v2算子UT用例 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !5702 merge add_case_0518 into master 新增matmul_all_reduce_add_rms_norm、matmul_reduce_scatter、matmul_reduce_scatter_v2算子UT用例 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 新增matmul_all_reduce_add_rms_norm、matmul_reduce_scatter、matmul_reduce_scatter_v2算子UT用例,增加覆盖率 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## 代码检视报告 项目名称:ops-transformer UT 用例检视报告 检视模块:mc2/matmul_all_reduce_add_rms_norm, mc2/matmul_reduce_scatter, mc2/matmul_reduce_scatter_v2 下的 9 个 UT 文件 检视人:Turing Team 检视日期:2026-05-21 提交:8cfaa1ca "add ut case" --- 检视概览 ┌────────────────────────┬──────┐ │ 统计项 │ 数值 │ ├────────────────────────┼──────┤ │ 发现问题总数 │ 0 个 │ ├────────────────────────┼──────┤ │ 严重级(CRITICAL)问题 │ 0 个 │ ├────────────────────────┼──────┤ │ 中等级(MEDIUM)问题 │ 0 个 │ ├────────────────────────┼──────┤ │ 轻微级(LOW)问题 │ 0 个 │ └────────────────────────┴──────┘ 检视类别:C++ 安全编码规范(cpp-secure.md)+ C++ 通用编码规范(cpp-general.md) 核心结论:本次提交全部为 UT 测试代码(op_api / op_host),涉及 matmul_all_reduce_add_rms_norm、matmul_reduce_scatter、matmul_reduce_scatter_v2 三个算子的单元测试补充。经逐条对照 Host 侧红线规范和安全编码规范,未发现需修复的安全问题。 See merge request: cann/ops-transformer!5702 | 3 个月前 | |
mega_moe gmm1优化 Co-authored-by: LiJianHua<lijianhua56@huawei.com> # message auto-generated for no-merge-commit merge: !5712 merge gmm_optimization into master mega_moe gmm1优化 Created-by: weixin_49300047 Commit-by: LiJianHua Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> megamoe算子中gmm1 m0的切块从128改为256 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2649 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5712 | 3 个月前 | |
整改mc2部分仓内重名头文件现象 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !5637 merge clear_repeat_h into master 整改mc2部分仓内重名头文件现象 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 整改mc2部分仓内重名头文件现象 --- | 文件名 | 源码路径|处理方式 | |-----|-----|-----| | all_gather_formulaic_tiling.h | mc2/all_gather_matmul/op_host/op_tiling/all_gather_formulaic_tiling.h,mc2/all_gather_matmul_v2/op_host/op_tiling/all_gather_formulaic_tiling.h | 都为内部头文件,但内容不同,已修改all_gather_matmul_v2算子内文件的命名 | | grouped_matmul_host_util.h | gmm/grouped_matmul/op_host/grouped_matmul_host_util.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_host_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | grouped_matmul_tiling.h | gmm/grouped_matmul/op_host/op_tiling/grouped_matmul_tiling.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_tiling.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | matmul_util.h | mc2/3rd/common/op_host/op_api/matmul_util.h,mc2/common/utils/matmul_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名,并消除宏冲突 | | runtime_kb_api.h | common/stub/op_tiling/runtime_kb_api.h,mc2/3rd/ops_legacy/op_tiling/runtime_kb_api.h | 声明完全相同,但实现侧不同,删除mc2/3rd/ops_legacy下的runtime_kb_api.h | | tiling_type.h | common/include/op_host/tiling_type.h,mc2/3rd/common/op_host/op_tiling/tiling_type.h |都为内部文件,但内容不完全相同,保留common/include/op_host/tiling_type.h统一使用 | | tuning_tiling_reflection_utils.h | common/stub/op_tiling/register/tuning_tiling_reflection_utils.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | | tuning_tiling_registry.h | common/stub/op_tiling/register/tuning_tiling_registry.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | --- ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2550 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> rdv ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5637 | 3 个月前 | |
新增UT用例,提升ut覆盖率 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !5649 merge add_ut_case_0515 into master 新增UT用例,提升ut覆盖率 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 新增UT用例,提升ut覆盖率 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2585 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## AI检视意见 总结 本次提交新增约 2118 行 UT 测试代码,覆盖了多个算子的 tiling、InferShape、InferDataType、op_api 等测试维度,测试设计合理,包含了合法场景、非法参数、空指针、空张量、非连续内存、dtype 不匹配等多种边界场景。 发现的问题均为测试代码自身健壮性问题,不涉及生产代码安全风险,建议按优先级酌情处理。 报告生成时间 2026-05-20 报告状态 已完成检视,待确认修复优先级 See merge request: cann/ops-transformer!5649 | 3 个月前 | |
新增UT用例,提升ut覆盖率 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !5649 merge add_ut_case_0515 into master 新增UT用例,提升ut覆盖率 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 新增UT用例,提升ut覆盖率 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2585 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## AI检视意见 总结 本次提交新增约 2118 行 UT 测试代码,覆盖了多个算子的 tiling、InferShape、InferDataType、op_api 等测试维度,测试设计合理,包含了合法场景、非法参数、空指针、空张量、非连续内存、dtype 不匹配等多种边界场景。 发现的问题均为测试代码自身健壮性问题,不涉及生产代码安全风险,建议按优先级酌情处理。 报告生成时间 2026-05-20 报告状态 已完成检视,待确认修复优先级 See merge request: cann/ops-transformer!5649 | 3 个月前 | |
新增UT用例,提升ut覆盖率 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !5649 merge add_ut_case_0515 into master 新增UT用例,提升ut覆盖率 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 新增UT用例,提升ut覆盖率 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2585 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## AI检视意见 总结 本次提交新增约 2118 行 UT 测试代码,覆盖了多个算子的 tiling、InferShape、InferDataType、op_api 等测试维度,测试设计合理,包含了合法场景、非法参数、空指针、空张量、非连续内存、dtype 不匹配等多种边界场景。 发现的问题均为测试代码自身健壮性问题,不涉及生产代码安全风险,建议按优先级酌情处理。 报告生成时间 2026-05-20 报告状态 已完成检视,待确认修复优先级 See merge request: cann/ops-transformer!5649 | 3 个月前 | |
新增UT用例,提升ut覆盖率 Co-authored-by: lixiawei<lixiawei2@h-partners.com> # message auto-generated for no-merge-commit merge: !5649 merge add_ut_case_0515 into master 新增UT用例,提升ut覆盖率 Created-by: lixiawei Commit-by: lixiawei Merged-by: cann-robot Description: ## 描述 新增UT用例,提升ut覆盖率 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2585 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ## AI检视意见 总结 本次提交新增约 2118 行 UT 测试代码,覆盖了多个算子的 tiling、InferShape、InferDataType、op_api 等测试维度,测试设计合理,包含了合法场景、非法参数、空指针、空张量、非连续内存、dtype 不匹配等多种边界场景。 发现的问题均为测试代码自身健壮性问题,不涉及生产代码安全风险,建议按优先级酌情处理。 报告生成时间 2026-05-20 报告状态 已完成检视,待确认修复优先级 See merge request: cann/ops-transformer!5649 | 3 个月前 | |
整改mc2部分仓内重名头文件现象 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !5637 merge clear_repeat_h into master 整改mc2部分仓内重名头文件现象 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 整改mc2部分仓内重名头文件现象 --- | 文件名 | 源码路径|处理方式 | |-----|-----|-----| | all_gather_formulaic_tiling.h | mc2/all_gather_matmul/op_host/op_tiling/all_gather_formulaic_tiling.h,mc2/all_gather_matmul_v2/op_host/op_tiling/all_gather_formulaic_tiling.h | 都为内部头文件,但内容不同,已修改all_gather_matmul_v2算子内文件的命名 | | grouped_matmul_host_util.h | gmm/grouped_matmul/op_host/grouped_matmul_host_util.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_host_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | grouped_matmul_tiling.h | gmm/grouped_matmul/op_host/op_tiling/grouped_matmul_tiling.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_tiling.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | matmul_util.h | mc2/3rd/common/op_host/op_api/matmul_util.h,mc2/common/utils/matmul_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名,并消除宏冲突 | | runtime_kb_api.h | common/stub/op_tiling/runtime_kb_api.h,mc2/3rd/ops_legacy/op_tiling/runtime_kb_api.h | 声明完全相同,但实现侧不同,删除mc2/3rd/ops_legacy下的runtime_kb_api.h | | tiling_type.h | common/include/op_host/tiling_type.h,mc2/3rd/common/op_host/op_tiling/tiling_type.h |都为内部文件,但内容不完全相同,保留common/include/op_host/tiling_type.h统一使用 | | tuning_tiling_reflection_utils.h | common/stub/op_tiling/register/tuning_tiling_reflection_utils.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | | tuning_tiling_registry.h | common/stub/op_tiling/register/tuning_tiling_registry.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | --- ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2550 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> rdv ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5637 | 3 个月前 | |
整改mc2部分仓内重名头文件现象 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !5637 merge clear_repeat_h into master 整改mc2部分仓内重名头文件现象 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 整改mc2部分仓内重名头文件现象 --- | 文件名 | 源码路径|处理方式 | |-----|-----|-----| | all_gather_formulaic_tiling.h | mc2/all_gather_matmul/op_host/op_tiling/all_gather_formulaic_tiling.h,mc2/all_gather_matmul_v2/op_host/op_tiling/all_gather_formulaic_tiling.h | 都为内部头文件,但内容不同,已修改all_gather_matmul_v2算子内文件的命名 | | grouped_matmul_host_util.h | gmm/grouped_matmul/op_host/grouped_matmul_host_util.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_host_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | grouped_matmul_tiling.h | gmm/grouped_matmul/op_host/op_tiling/grouped_matmul_tiling.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_tiling.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | matmul_util.h | mc2/3rd/common/op_host/op_api/matmul_util.h,mc2/common/utils/matmul_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名,并消除宏冲突 | | runtime_kb_api.h | common/stub/op_tiling/runtime_kb_api.h,mc2/3rd/ops_legacy/op_tiling/runtime_kb_api.h | 声明完全相同,但实现侧不同,删除mc2/3rd/ops_legacy下的runtime_kb_api.h | | tiling_type.h | common/include/op_host/tiling_type.h,mc2/3rd/common/op_host/op_tiling/tiling_type.h |都为内部文件,但内容不完全相同,保留common/include/op_host/tiling_type.h统一使用 | | tuning_tiling_reflection_utils.h | common/stub/op_tiling/register/tuning_tiling_reflection_utils.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | | tuning_tiling_registry.h | common/stub/op_tiling/register/tuning_tiling_registry.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | --- ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2550 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> rdv ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5637 | 3 个月前 | |
整改mc2部分仓内重名头文件现象 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !5637 merge clear_repeat_h into master 整改mc2部分仓内重名头文件现象 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 整改mc2部分仓内重名头文件现象 --- | 文件名 | 源码路径|处理方式 | |-----|-----|-----| | all_gather_formulaic_tiling.h | mc2/all_gather_matmul/op_host/op_tiling/all_gather_formulaic_tiling.h,mc2/all_gather_matmul_v2/op_host/op_tiling/all_gather_formulaic_tiling.h | 都为内部头文件,但内容不同,已修改all_gather_matmul_v2算子内文件的命名 | | grouped_matmul_host_util.h | gmm/grouped_matmul/op_host/grouped_matmul_host_util.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_host_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | grouped_matmul_tiling.h | gmm/grouped_matmul/op_host/op_tiling/grouped_matmul_tiling.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_tiling.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | matmul_util.h | mc2/3rd/common/op_host/op_api/matmul_util.h,mc2/common/utils/matmul_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名,并消除宏冲突 | | runtime_kb_api.h | common/stub/op_tiling/runtime_kb_api.h,mc2/3rd/ops_legacy/op_tiling/runtime_kb_api.h | 声明完全相同,但实现侧不同,删除mc2/3rd/ops_legacy下的runtime_kb_api.h | | tiling_type.h | common/include/op_host/tiling_type.h,mc2/3rd/common/op_host/op_tiling/tiling_type.h |都为内部文件,但内容不完全相同,保留common/include/op_host/tiling_type.h统一使用 | | tuning_tiling_reflection_utils.h | common/stub/op_tiling/register/tuning_tiling_reflection_utils.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | | tuning_tiling_registry.h | common/stub/op_tiling/register/tuning_tiling_registry.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | --- ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2550 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> rdv ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5637 | 3 个月前 | |
整改mc2部分仓内重名头文件现象 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !5637 merge clear_repeat_h into master 整改mc2部分仓内重名头文件现象 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 整改mc2部分仓内重名头文件现象 --- | 文件名 | 源码路径|处理方式 | |-----|-----|-----| | all_gather_formulaic_tiling.h | mc2/all_gather_matmul/op_host/op_tiling/all_gather_formulaic_tiling.h,mc2/all_gather_matmul_v2/op_host/op_tiling/all_gather_formulaic_tiling.h | 都为内部头文件,但内容不同,已修改all_gather_matmul_v2算子内文件的命名 | | grouped_matmul_host_util.h | gmm/grouped_matmul/op_host/grouped_matmul_host_util.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_host_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | grouped_matmul_tiling.h | gmm/grouped_matmul/op_host/op_tiling/grouped_matmul_tiling.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_tiling.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | matmul_util.h | mc2/3rd/common/op_host/op_api/matmul_util.h,mc2/common/utils/matmul_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名,并消除宏冲突 | | runtime_kb_api.h | common/stub/op_tiling/runtime_kb_api.h,mc2/3rd/ops_legacy/op_tiling/runtime_kb_api.h | 声明完全相同,但实现侧不同,删除mc2/3rd/ops_legacy下的runtime_kb_api.h | | tiling_type.h | common/include/op_host/tiling_type.h,mc2/3rd/common/op_host/op_tiling/tiling_type.h |都为内部文件,但内容不完全相同,保留common/include/op_host/tiling_type.h统一使用 | | tuning_tiling_reflection_utils.h | common/stub/op_tiling/register/tuning_tiling_reflection_utils.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | | tuning_tiling_registry.h | common/stub/op_tiling/register/tuning_tiling_registry.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | --- ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2550 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> rdv ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5637 | 3 个月前 | |
layered_doc add bs limit Co-authored-by: wangchenfeng6<wangchenfeng6@h-partners.com> # message auto-generated for no-merge-commit merge: !5828 merge master into master layered_doc add bs limit Created-by: wangchenfeng6 Commit-by: wangchenfeng6 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5828 | 3 个月前 | |
整改mc2部分仓内重名头文件现象 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !5637 merge clear_repeat_h into master 整改mc2部分仓内重名头文件现象 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 整改mc2部分仓内重名头文件现象 --- | 文件名 | 源码路径|处理方式 | |-----|-----|-----| | all_gather_formulaic_tiling.h | mc2/all_gather_matmul/op_host/op_tiling/all_gather_formulaic_tiling.h,mc2/all_gather_matmul_v2/op_host/op_tiling/all_gather_formulaic_tiling.h | 都为内部头文件,但内容不同,已修改all_gather_matmul_v2算子内文件的命名 | | grouped_matmul_host_util.h | gmm/grouped_matmul/op_host/grouped_matmul_host_util.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_host_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | grouped_matmul_tiling.h | gmm/grouped_matmul/op_host/op_tiling/grouped_matmul_tiling.h,mc2/3rd/grouped_matmul/op_tiling/grouped_matmul_tiling.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名 | | matmul_util.h | mc2/3rd/common/op_host/op_api/matmul_util.h,mc2/common/utils/matmul_util.h | 都为内部头文件,但内容不完全相同,已修改mc2/3rd内文件的命名,并消除宏冲突 | | runtime_kb_api.h | common/stub/op_tiling/runtime_kb_api.h,mc2/3rd/ops_legacy/op_tiling/runtime_kb_api.h | 声明完全相同,但实现侧不同,删除mc2/3rd/ops_legacy下的runtime_kb_api.h | | tiling_type.h | common/include/op_host/tiling_type.h,mc2/3rd/common/op_host/op_tiling/tiling_type.h |都为内部文件,但内容不完全相同,保留common/include/op_host/tiling_type.h统一使用 | | tuning_tiling_reflection_utils.h | common/stub/op_tiling/register/tuning_tiling_reflection_utils.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_reflection_utils.h | | tuning_tiling_registry.h | common/stub/op_tiling/register/tuning_tiling_registry.h,mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | 声明完全相同,删除mc2/3rd/ops_legacy/op_tiling/register/tuning_tiling_registry.h | --- ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2550 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> rdv ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5637 | 3 个月前 | |
提升moe_distribute_combine_v2,moe_update_expert等算子ut覆盖率 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !5221 merge mdd_mdc_ut into master 提升moe_distribute_combine_v2,moe_update_expert等算子ut覆盖率 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 提升moe_distribute_combine_v2,moe_update_expert等算子ut覆盖率 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2341 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5221 | 3 个月前 | |
fix: cleancode Co-authored-by: libohao6<libohao3@huawei.com> # message auto-generated for no-merge-commit merge: !5489 merge fix-cleancode-issues into master fix: cleancode Created-by: libohao6 Commit-by: libohao6 Merged-by: cann-robot Description: ## 描述 修复基础算子主线cleancode问题。 ## 关联的Issue [Bug-Report|缺陷反馈]: MC2基础算子主线存在cleancode问题 #2566 ## 测试 二级冒烟。 ## 文档更新 不涉及。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: # PR #5489 代码检视报告 **PR**: https://gitcode.com/cann/ops-transformer/pull/5489 **标题**: merge 'fix-cleancode-issues' into 'master' **作者**: libohao6 | **范围**: 19 files, +453 -531 | **日期**: 2026-05-21 --- ## 改动分类 | 类型 | 改动数 | 说明 | |------|-------|------| | 删除未使用函数 | 5个 | matmul_util.cpp删3个static函数 + aclnn_matmul_reduce_scatter_v2.cpp删CreateWinTensor | | 删除冗余变量 | 2个 | x1Dtype/biasDtype 在 aclnn_weight_quant_matmul_all_reduce.cpp | | const修饰添加 | 5处 | 多个Tiling函数context参数加const | | 位操作类型修复 | 1处 | int32_t code → uint32_t bitCode | | 魔法数字→常量 | 1处 | alignas(8) → alignas(L2_CACHE_ALIGNMENT) | | 变量重命名 | 多处 | Kernel侧blockLocCoord→blockLocCoord_等; Host侧index→idx/i | | 参数名拼写修正 | 1处 | rcfCfg→rcsCfg | | include guard | 1处 | matmul_reduce_scatter_v2_tiling_common.h | | 头文件清理 | 3处 | 移除冗余#include | | 未使用参数标记 | 5处 | (void)opType等 | | 注释风格更新 | 大量 | 决策树层级注释从======改为差异化标记 | | 代码格式修复 | 多处 | 空格/缩进/换行 | --- ## 假设检验检视结果 ### 1. 删除未使用函数 ✅ PASS **涉及文件**: matmul_util.cpp, aclnn_matmul_reduce_scatter_v2.cpp 删除5个static函数(CheckShapeValidWithTrans、ProcessEmptyTensor、ProcessEmptyTensorWithTrans、GetMatmulOpInfoWithTrans、CreateWinTensor)。均为static,无跨文件引用风险。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 5.2 资源泄露防护 | 删除是否遗漏调用点 | ✅ static函数仅文件内可见 | ### 2. const修饰添加 ✅ PASS **涉及文件**: all_gather_matmul_tiling_base.cpp/.h, quant_all_reduce_tiling.cpp, quant_reduce_scatter_tiling.cpp gert::TilingContext *context → const gert::TilingContext *context。GetNodeName()、GetAttrPointer()等方法为const兼容,头文件声明同步更新。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 1.1 静态类型安全 | const修饰是否导致编译错误 | ✅ 方法兼容const | ### 3. 位操作类型修复 ✅ PASS **涉及文件**: matmul_reduce_scatter_v2_aiv_mode_tiling.cpp int32_t code → uint32_t bitCode。对有符号数做右移(>>=)存在符号扩展问题,改为uint32_t消除风险。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 2.1 有符号整数不溢出 | int32_t右移符号扩展 | ✅ 修复正确 | | cpp-secure 2.2 无符号整数不回绕 | uint32_t位操作安全 | ✅ | ### 4. 魔法数字→常量 ✅ PASS **涉及文件**: unquant_matmul_all_reduce_tiling_data.h static constexpr size_t L2_CACHE_ALIGNMENT = 8; 替换 alignas(8)。值等价,不影响ABI。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 10.4 结构体字段末尾添加 | 常量定义位置 | ✅ 不影响ABI | ### 5. 冗余变量删除 ✅ PASS **涉及文件**: aclnn_weight_quant_matmul_all_reduce.cpp 删除 const auto x1Dtype = x1->GetDataType(); const auto biasDtype = bias->GetDataType();。两变量后续无引用,OP_CHECK_DTYPE_NOT_SAME宏自行获取dtype。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 3.1 禁止未初始化变量 | 删除后功能等价 | ✅ | ### 6. 参数名拼写修正 ✅ PASS **涉及文件**: matmul_reduce_scatter_tiling_base.cpp rcfCfg → rcsCfg(RCS=ReduceScatter拼写修正)。所有引用已同步替换。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | MC2 MC2-13 CCU通信数据量限制 | AdjustHCCLLimit逻辑是否保留 | ✅ 256MB限制保留 | ### 7. include guard添加 ✅ PASS **涉及文件**: matmul_reduce_scatter_v2_tiling_common.h 新增 #ifndef MATMUL_REDUCE_SCATTER_V2_TILING_COMMON_H 保护。命名与文件路径一致。 ### 8. 未使用参数标记 ✅ PASS **涉及文件**: quant_reduce_scatter_util_tiling.cpp 添加 (void)opType; (void)context; (void)xDimNum; (void)outputDim; 消除编译器警告。注释声明"Reserved for future extension"。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | TOPK TOPK-7 外部输入校验 | 校验逻辑是否削弱 | ✅ 未削弱 | ### 9. LOG参数安全 ✅ PASS **涉及文件**: allto_allv_quant_grouped_mat_mul_tiling_base.cpp 循环变量 index → idx/i。sendCounts[%lu] should be in [0, %lu], but get %lu — 3个%lu对应3个uint64_t(idx, bsk_, sendCounts[idx]),类型和数量匹配。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 11.2 参数数量与占位符匹配 | 3个%lu=3个uint64_t | ✅ | | cpp-secure 11.3 参数类型与格式化说明符匹配 | uint64_t用%lu | ✅ | | MC2 MC2-07 专家参数合法性校验 | sendCounts/recvCounts校验完整 | ✅ | ### 10. 头文件清理 ✅ PASS **涉及文件**: matmul_reduce_scatter_tiling_base.h, quant_reduce_scatter_util_tiling.h, all_gather_matmul_tiling_base.h 移除冗余 #include "ops_utils.h" 和 #include "mc2_log.h"。 --- ## 规范条款引用汇总 | 规范来源 | 条款编号 | 条款名称 | 检查结果 | |---------|---------|---------|---------| | cpp-secure.md | 1.1 | 保证静态类型安全 | ✅ | | cpp-secure.md | 2.1 | 有符号整数运算不溢出 | ✅ | | cpp-secure.md | 2.2 | 无符号整数运算不回绕 | ✅ | | cpp-secure.md | 3.1 | 禁止使用未初始化的变量 | ✅ | | cpp-secure.md | 5.2 | 资源泄露防护 | ✅ | | cpp-secure.md | 10.4 | 结构体字段末尾添加 | ✅ | | cpp-secure.md | 11.2 | LOG参数数量与占位符必须匹配 | ✅ | | cpp-secure.md | 11.3 | LOG参数类型与格式化说明符必须匹配 | ✅ | | mc2-specific.md | MC2-07 | 专家参数合法性校验 | ✅ | | mc2-specific.md | MC2-13 | CCU通信数据量限制 | ✅ | | ascendc-topk.md | TOPK-1 | 必须校验函数返回值 | ✅ | | ascendc-topk.md | TOPK-7 | 融合规则/InferShape/Tiling外部输入校验 | ✅ | --- ## 总体结论 **✅ 无问题** — PR #5489 为代码清理类改动,所有10项检视均PASS。改动不引入安全风险,不削弱校验逻辑,规范合规性100%。 See merge request: cann/ops-transformer!5489 | 3 个月前 | |
提升quant_grouped_mat_mul_allto_allv算子ut覆盖率 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !5677 merge qgma_ut into master 提升quant_grouped_mat_mul_allto_allv算子ut覆盖率 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 提升quant_grouped_mat_mul_allto_allv算子ut覆盖率 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2341 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5677 | 3 个月前 | |
fix: cleancode Co-authored-by: libohao6<libohao3@huawei.com> # message auto-generated for no-merge-commit merge: !5489 merge fix-cleancode-issues into master fix: cleancode Created-by: libohao6 Commit-by: libohao6 Merged-by: cann-robot Description: ## 描述 修复基础算子主线cleancode问题。 ## 关联的Issue [Bug-Report|缺陷反馈]: MC2基础算子主线存在cleancode问题 #2566 ## 测试 二级冒烟。 ## 文档更新 不涉及。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: # PR #5489 代码检视报告 **PR**: https://gitcode.com/cann/ops-transformer/pull/5489 **标题**: merge 'fix-cleancode-issues' into 'master' **作者**: libohao6 | **范围**: 19 files, +453 -531 | **日期**: 2026-05-21 --- ## 改动分类 | 类型 | 改动数 | 说明 | |------|-------|------| | 删除未使用函数 | 5个 | matmul_util.cpp删3个static函数 + aclnn_matmul_reduce_scatter_v2.cpp删CreateWinTensor | | 删除冗余变量 | 2个 | x1Dtype/biasDtype 在 aclnn_weight_quant_matmul_all_reduce.cpp | | const修饰添加 | 5处 | 多个Tiling函数context参数加const | | 位操作类型修复 | 1处 | int32_t code → uint32_t bitCode | | 魔法数字→常量 | 1处 | alignas(8) → alignas(L2_CACHE_ALIGNMENT) | | 变量重命名 | 多处 | Kernel侧blockLocCoord→blockLocCoord_等; Host侧index→idx/i | | 参数名拼写修正 | 1处 | rcfCfg→rcsCfg | | include guard | 1处 | matmul_reduce_scatter_v2_tiling_common.h | | 头文件清理 | 3处 | 移除冗余#include | | 未使用参数标记 | 5处 | (void)opType等 | | 注释风格更新 | 大量 | 决策树层级注释从======改为差异化标记 | | 代码格式修复 | 多处 | 空格/缩进/换行 | --- ## 假设检验检视结果 ### 1. 删除未使用函数 ✅ PASS **涉及文件**: matmul_util.cpp, aclnn_matmul_reduce_scatter_v2.cpp 删除5个static函数(CheckShapeValidWithTrans、ProcessEmptyTensor、ProcessEmptyTensorWithTrans、GetMatmulOpInfoWithTrans、CreateWinTensor)。均为static,无跨文件引用风险。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 5.2 资源泄露防护 | 删除是否遗漏调用点 | ✅ static函数仅文件内可见 | ### 2. const修饰添加 ✅ PASS **涉及文件**: all_gather_matmul_tiling_base.cpp/.h, quant_all_reduce_tiling.cpp, quant_reduce_scatter_tiling.cpp gert::TilingContext *context → const gert::TilingContext *context。GetNodeName()、GetAttrPointer()等方法为const兼容,头文件声明同步更新。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 1.1 静态类型安全 | const修饰是否导致编译错误 | ✅ 方法兼容const | ### 3. 位操作类型修复 ✅ PASS **涉及文件**: matmul_reduce_scatter_v2_aiv_mode_tiling.cpp int32_t code → uint32_t bitCode。对有符号数做右移(>>=)存在符号扩展问题,改为uint32_t消除风险。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 2.1 有符号整数不溢出 | int32_t右移符号扩展 | ✅ 修复正确 | | cpp-secure 2.2 无符号整数不回绕 | uint32_t位操作安全 | ✅ | ### 4. 魔法数字→常量 ✅ PASS **涉及文件**: unquant_matmul_all_reduce_tiling_data.h static constexpr size_t L2_CACHE_ALIGNMENT = 8; 替换 alignas(8)。值等价,不影响ABI。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 10.4 结构体字段末尾添加 | 常量定义位置 | ✅ 不影响ABI | ### 5. 冗余变量删除 ✅ PASS **涉及文件**: aclnn_weight_quant_matmul_all_reduce.cpp 删除 const auto x1Dtype = x1->GetDataType(); const auto biasDtype = bias->GetDataType();。两变量后续无引用,OP_CHECK_DTYPE_NOT_SAME宏自行获取dtype。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 3.1 禁止未初始化变量 | 删除后功能等价 | ✅ | ### 6. 参数名拼写修正 ✅ PASS **涉及文件**: matmul_reduce_scatter_tiling_base.cpp rcfCfg → rcsCfg(RCS=ReduceScatter拼写修正)。所有引用已同步替换。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | MC2 MC2-13 CCU通信数据量限制 | AdjustHCCLLimit逻辑是否保留 | ✅ 256MB限制保留 | ### 7. include guard添加 ✅ PASS **涉及文件**: matmul_reduce_scatter_v2_tiling_common.h 新增 #ifndef MATMUL_REDUCE_SCATTER_V2_TILING_COMMON_H 保护。命名与文件路径一致。 ### 8. 未使用参数标记 ✅ PASS **涉及文件**: quant_reduce_scatter_util_tiling.cpp 添加 (void)opType; (void)context; (void)xDimNum; (void)outputDim; 消除编译器警告。注释声明"Reserved for future extension"。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | TOPK TOPK-7 外部输入校验 | 校验逻辑是否削弱 | ✅ 未削弱 | ### 9. LOG参数安全 ✅ PASS **涉及文件**: allto_allv_quant_grouped_mat_mul_tiling_base.cpp 循环变量 index → idx/i。sendCounts[%lu] should be in [0, %lu], but get %lu — 3个%lu对应3个uint64_t(idx, bsk_, sendCounts[idx]),类型和数量匹配。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 11.2 参数数量与占位符匹配 | 3个%lu=3个uint64_t | ✅ | | cpp-secure 11.3 参数类型与格式化说明符匹配 | uint64_t用%lu | ✅ | | MC2 MC2-07 专家参数合法性校验 | sendCounts/recvCounts校验完整 | ✅ | ### 10. 头文件清理 ✅ PASS **涉及文件**: matmul_reduce_scatter_tiling_base.h, quant_reduce_scatter_util_tiling.h, all_gather_matmul_tiling_base.h 移除冗余 #include "ops_utils.h" 和 #include "mc2_log.h"。 --- ## 规范条款引用汇总 | 规范来源 | 条款编号 | 条款名称 | 检查结果 | |---------|---------|---------|---------| | cpp-secure.md | 1.1 | 保证静态类型安全 | ✅ | | cpp-secure.md | 2.1 | 有符号整数运算不溢出 | ✅ | | cpp-secure.md | 2.2 | 无符号整数运算不回绕 | ✅ | | cpp-secure.md | 3.1 | 禁止使用未初始化的变量 | ✅ | | cpp-secure.md | 5.2 | 资源泄露防护 | ✅ | | cpp-secure.md | 10.4 | 结构体字段末尾添加 | ✅ | | cpp-secure.md | 11.2 | LOG参数数量与占位符必须匹配 | ✅ | | cpp-secure.md | 11.3 | LOG参数类型与格式化说明符必须匹配 | ✅ | | mc2-specific.md | MC2-07 | 专家参数合法性校验 | ✅ | | mc2-specific.md | MC2-13 | CCU通信数据量限制 | ✅ | | ascendc-topk.md | TOPK-1 | 必须校验函数返回值 | ✅ | | ascendc-topk.md | TOPK-7 | 融合规则/InferShape/Tiling外部输入校验 | ✅ | --- ## 总体结论 **✅ 无问题** — PR #5489 为代码清理类改动,所有10项检视均PASS。改动不引入安全风险,不削弱校验逻辑,规范合规性100%。 See merge request: cann/ops-transformer!5489 | 3 个月前 | |
dump数据解析适配V3接口变更 Co-authored-by: lu-zhirui<luzhirui2@h-partners.com> # message auto-generated for no-merge-commit merge: !5471 merge dump分析工具适配V3接口 into master dump数据解析适配V3接口变更 Created-by: lu-zhirui Commit-by: lu-zhirui Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: # 代码检视报告 ## 检视元数据 | 字段 | 内容 | |-----|------| | 检视日期 | 2026-05-18 | | 检视人 | opencode | | 检视范围 | mc2/tools/dump_analysis | | 规范来源 | references/PythonSecureCoding.md | | 差异文件 | C:\Users\Administrator\Downloads\5471.diff | --- ## 一、检视概要 本次检视针对 dump_analysis.py 和 dump_analysis.sh 的差异变更,重点关注: - 数组边界检查 - 变量初始化安全 - 外部输入校验 - 接口兼容性 --- ## 二、风险点详细分析 ### 风险点 1: 变量初始化值不合理 | 属性 | 值 | |-----|---| | **风险等级** | 低 | | **自信值** | 40% | | **规范条款** | 变量安全 - 初始化合理性 | **问题位置**: dump_analysis.py line 45-49, 70-74, 89-93, 107-111, 127-131 **问题代码**: python def check_topk(..., dis_com_version_func: str): k_func = 0 target_filie_num = 'None' # 初始化为字符串 'None' if dis_com_version_func == 'V3': target_filie_num = 'input.2.bin' else: target_filie_num = 'input.1.bin' # ... logging.warning('...%s文件...', target_filie_num) **证据链**: 1. 假设 H0: 变量初始化安全 → 否定 2. 假设 H1: 变量存在不合理初始化 → 支持 3. 证据: target_filie_num 初始化为 'None' 字符串 4. 上下文: 当后续逻辑未覆盖时,会使用 'None' 进行文件名匹配 5. 结论: 初始化值 'None' 会在文件名匹配中产生非预期行为 **修复建议**: python def check_topk(...): k_func = 0 if dis_com_version_func == 'V3': target_filie_num = 'input.2.bin' else: target_filie_num = 'input.1.bin' # 移除不必要的 'None' 初始化 --- ### 风险点 2: 数组越界保护修复(✅ 正确修复) | 属性 | 值 | |-----|---| | **风险等级** | 已修复 | | **自信值** | 80% | | **规范条款** | 数值安全 - 数组边界检查 | **问题位置**: dump_analysis.py line 143-147, 156-159 **原代码问题**: python # 直接访问,无边界检查 if int32_status_data[(sum(dis_status_core[:i + 1]) - dis_status_core[i] + core_num_func) * 8] == 0: **修复后代码**: python index_status = (sum(dis_status_core[:i + 1]) - dis_status_core[i] + core_num_func) * 8 if index_status >= len(int32_status_data): # 新增边界检查 break if int32_status_data[index_status] == 0: **证据链**: 1. 假设 H0: 数组访问安全 → 否定(原代码) 2. 假设 H1: 数组访问可能越界 → 支持 3. 证据: 原代码直接计算索引并访问,无越界检查 4. 修复验证: diff 增加 index_status >= len(int32_status_data) 检查 5. 结论: ✅ 修复正确,符合规范要求 --- ### 风险点 3: 函数返回值变更(✅ 无风险) | 属性 | 值 | |-----|---| | **风险等级** | 无 | | **自信值** | 30% | | **规范条款** | 接口兼容性 | **问题位置**: dump_analysis.py line 34, 176 **变更说明**: python # 原接口 def check_dis_com(target_path: str) -> str: return 'dispatch' / 'combine' # 新接口 def check_dis_com_version(target_path: str) -> tuple: return (dis_com_func, dis_com_version_func) **调用方同步变更**: python # line 176 dis_com, dis_com_version = check_dis_com_version(floder_path) **结论**: ✅ 接口变更已同步更新所有调用方,无兼容性问题。 --- ### 风险点 4: Shell 文件匹配模式变更(⚠️ 需确认) | 属性 | 值 | |-----|---| | **风险等级** | 中 | | **自信值** | 50% | | **规范条款** | 外部输入校验 | **问题位置**: dump_analysis.sh line 215, 223, 233, 241 **变更代码**: bash # 原代码 (A5 流程) if ls "$TARGET_DIR/mc2_exception_info"* >/dev/null 2>&1; then # 修改后 if ls "$TARGET_DIR/exception_info"* >/dev/null 2>&1; then **证据链**: 1. 假设 H0: 文件匹配模式正确 → 需验证 2. 假设 H1: 模式变更可能导致找不到dump数据 → 需验证 3. 证据: 原匹配 mc2_exception_info,改为 exception_info 4. 上下文: 需确认 A5 芯片的实际 dump 文件命名规范 **建议**: 确认以下问题: - A5 芯片的 dump 数据文件命名是否从 mc2_exception_info 变为 exception_info? - 是否需要同时支持两种命名格式以保证向后兼容? --- ### 风险点 5: 函数参数增加(✅ 无风险) | 属性 | 值 | |-----|---| | **风险等级** | 无 | | **自信值** | 20% | | **规范条款** | 接口兼容性 | **问题位置**: dump_analysis.py line 43, 68, 87, 106, 125, 187-190 **变更说明**: python # 新增参数 dis_com_version_func def check_topk(target_path, moe_num_func, bs_func, sp_moe_num_func, dis_com_version_func): **调用方同步变更**: python # line 187-190 check_topk(floder_path, dis_moe_num, dis_bs, sp_moe_num, dis_com_version) **结论**: ✅ 新增参数已在所有调用位置同步传入,无兼容性问题。 --- ## 三、检视结论汇总 | 类别 | 数量 | 详情 | |-----|------|------| | ✅ 正确修复 | 2 | 数组越界保护、接口同步变更 | | ⚠️ 存疑问题 | 2 | 变量初始化值、Shell文件匹配模式 | | ✅ 无风险 | 1 | 函数参数增加 | --- ## 四、修复建议清单 | 序号 | 问题 | 建议修复方案 | 优先级 | |-----|------|-------------|--------| | 1 | target_filie_num = 'None' 初始化不合理 | 移除该初始化,直接根据条件赋值 | 低 | | 2 | Shell文件匹配从 mc2_exception_info 改为 exception_info | 确认 A5 dump 文件命名规范,或添加双重匹配逻辑 | 中 | --- ## 五、规范条款引用 | 条款编号 | 条款内容 | 来源 | |---------|---------|------| | G-001 | 数组访问前必须检查边界,避免越界访问 | PythonSecureCoding.md - 数值安全 | | G-002 | 变量初始化应使用合理默认值,避免使用无意义值 | PythonSecureCoding.md - 变量安全 | | G-003 | 外部输入(文件名、路径)必须校验有效性 | PythonSecureCoding.md - 文件操作 | --- ## 六、检视结论 **总体评价**: 本次变更质量良好,主要修复了数组越界访问的安全问题。建议确认 Shell 文件匹配模式的变更是否符合实际 dump 数据文件命名规范。 See merge request: cann/ops-transformer!5471 | 3 个月前 | |
mc2新特性开发 Co-authored-by: xutianze<xutianze2@huawei.com> # message auto-generated for no-merge-commit merge: !500 merge feature_mc2 into master mc2新特性开发 Created-by: xutianze Commit-by: xutianze Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!500 | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 8 个月前 |