文件最后提交记录最后更新时间
mmRS 8p 性能优化公式化tiling Co-authored-by: andingfangt<miaominghao@huawei.com> # message auto-generated for no-merge-commit merge: !3795 merge master into master mmRS 8p 性能优化公式化tiling Created-by: andingfangt Commit-by: andingfangt Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!37951 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
fix: 修复 cleancode 告警 Co-authored-by: libohao6<libohao3@huawei.com> # message auto-generated for no-merge-commit merge: !5954 merge fix/cleancode-master into master fix: 修复 cleancode 告警 Created-by: libohao6 Commit-by: libohao6 Merged-by: cann-robot Description: ## 描述 修复基础算子主线cleancode问题。 ## 关联的Issue [Bug-Report|缺陷反馈]: MC2基础算子主线存在cleancode问题 #2676 ## 测试 二级冒烟。 ## 文档更新 不涉及。 ## 类型标签 <!-- [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 *contextconst gert::TilingContext *context。GetNodeName()、GetAttrPointer()等方法为const兼容,头文件声明同步更新。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 1.1 静态类型安全 | const修饰是否导致编译错误 | ✅ 方法兼容const | ### 3. 位操作类型修复 ✅ PASS **涉及文件**: matmul_reduce_scatter_v2_aiv_mode_tiling.cpp int32_t codeuint32_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 rcfCfgrcsCfg(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 循环变量 indexidx/isendCounts[%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!59543 天前
mxfp4数据类型公式化tiling适配 Co-authored-by: wuziyu<wuziyu11@huawei.com> # message auto-generated for no-merge-commit merge: !2833 merge full into master mxfp4数据类型公式化tiling适配 Created-by: wuziyu Commit-by: wuziyu Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 进行mxfp4数据类型公式化tiling适配。这是由于在做mxfp4量化场景时候,如果是先通信再计算的算子,公式化tiling中需要传入的通信数据类型是fp4_e2m1的数据类型,然而,公式化tiing中部分结构体中使用的是uint64_t来存储字节数,fp4是半个字节,无法用uint64_t类型的变量进行保存,然而采用uint64_t类型保存势必会影响通信数据量,进而影响通算切块。现在增加了一个膨胀系数参数,如果需要进行fp4通信,设置膨胀系数参数为2,在公式化tiling中估算通信时间前进行处理将字节数转为实际字节数。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/1276 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地验证,蓝区compile,静态检查,蓝区冒烟,A2/A3/A5 RDV ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!28332 个月前
matmulAllReduce 8p性能优化公式化tiling Co-authored-by: ouyf<ouyangfei9@huawei.com> # message auto-generated for no-merge-commit merge: !4869 merge master into master matmulAllReduce 8p性能优化公式化tiling Created-by: ouyf Commit-by: ouyf Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: ================================================================================ PR #4869 Review (Round 2): matmulAllReduce公式化tiling Repository: cann/ops-transformer Commit: 26e6fcc1 (updated) Date: 2026-04-29 ================================================================================ ## 变更概要 (更新后) 本PR涉及7个文件的修改,共+47/-28行: 1. hccl_performance_arch35.cpp: 新增8P AllReduce(two shot)拟合参数 2. matmul_all_reduce_tiling_950.cpp/.h: 扩展A2A通路支持8P 3. quant_matmul_all_reduce_tiling_950.cpp/.h: 扩展A2A通路支持8P 4. weight_quant_matmul_all_reduce_tiling_950.cpp/.h: 扩展A2A通路支持8P 核心意图:将MatmulAllReduce系列算子的A2A通路从仅支持4P扩展到同时支持4P和8P。 ## 上一轮检视问题修复状态 | 问题 | 严重级别 | 状态 | 说明 | |------|---------|------|------| | TopoType硬编码导致8P参数无法命中 | P0 | ✓ 已修复 | 三个文件均添加了else if (Is8P)分支,使用TopoType::EIGHT_P | | 函数命名与语义不符 | P1 | ✓ 已修复 | GetWorkspaceSizeInStandardCard4P -> GetWorkspaceSizeForA2ARSAG | | 条件判断缺少空格 | P2 | ✓ 已修复 | matmul_all_reduce中已修正为if (mc2tiling::...) | ================================================================================ ## [P2 - 代码风格] else if 后缺少空格 ### 问题描述 三个文件的GetTilingResult()中新增的else if分支,){之间缺少空格, 与同文件其他else if分支风格不一致。 ### 影响位置 - matmul_all_reduce_tiling_950.cpp:411 } else if (mc2tiling::Is8P(args_.rankDim, npuArch_)){ - quant_matmul_all_reduce_tiling_950.cpp:1009 } else if (mc2tiling::Is8P(args_.rankDim, npuArch_)){ - weight_quant_matmul_all_reduce_tiling_950.cpp:696 } else if (mc2tiling::Is8P(args_.rankDim, npuArch_)){ ### 对比参考 同仓库 matmul_reduce_scatter_v2_tiling.cpp:212 的正确写法: } else if (mc2tiling::Is8P(args_.rankDim, npuArch_)) { // {前有空格 ### 修复建议 统一改为 } else if (mc2tiling::Is8P(args_.rankDim, npuArch_)) { ================================================================================ ## [P2 - 代码风格] weight_quant文件中if后缺少空格 ### 问题描述 weight_quant_matmul_all_reduce_tiling_950.cpp:274 (修改后) if(mc2tiling::IsUseA2APath(args_.rankDim, npuArch_)){ if和(之间缺少空格,且){之间也缺少空格。 ### 对比 同文件第466行的SetMc2Hcomm()中: if (isUseA2APath) { // 格式正确 ### 修复建议 改为 if (mc2tiling::IsUseA2APath(args_.rankDim, npuArch_)) { ================================================================================ ## [P3 - 建议] GetTilingResult()中未使用的变量 ### 问题描述 三个文件的GetTilingResult()方法中声明了以下变量但未使用: ```cpp const gert::StorageShape* commQuantScaleShape1 = mmrCtxInfo_.comm_quant_scale_1_shape; const gert::StorageShape* commQuantScaleShape2 = mmrCtxInfo_.comm_quant_scale_2_shape; ``` 这些变量在GetTilingResult()中声明后未被引用,可能是历史遗留代码。 虽然不影响功能,但会触发编译器unused variable警告。 ### 影响位置 - matmul_all_reduce_tiling_950.cpp:404-405 - quant_matmul_all_reduce_tiling_950.cpp:1003-1004 - weight_quant_matmul_all_reduce_tiling_950.cpp:690-691 ### 修复建议 建议在本PR中一并清理,或单独提交清理。非阻塞性问题。 ================================================================================ ## [正面评价] 1. P0问题修复正确:三个文件均正确添加了Is8P分支并使用TopoType::EIGHT_P, 现在"4_5_1_8"拟合参数可以正确命中。 2. 函数重命名合理:GetWorkspaceSizeForA2ARSAG准确反映了函数支持A2A+RS/AG通路, 不再局限于4P场景。 3. 与matmul_reduce_scatter_v2的实现模式保持一致,降低了后续维护成本。 4. 头文件(.h)中的声明同步更新,保持了接口一致性。 5. 错误日志信息同步更新(如"get workspace size By GetWorkspaceSizeForA2ARSAG failed"), 便于问题排查。 ================================================================================ ## 检视总结 | 严重级别 | 数量 | 说明 | |---------|------|-------------------------------| | P0 | 0 | 上一轮P0问题已全部修复 | | P2 | 2 | 代码风格问题(空格不一致) | | P3 | 1 | 未使用变量建议清理 | 结论: 上一轮P0缺陷已修复,本PR可以合入。 剩余问题均为代码风格和小建议,不阻塞合入,建议在合入前或后续PR中修正。 ================================================================================ See merge request: cann/ops-transformer!48691 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
fix: 修复 cleancode 告警 Co-authored-by: libohao6<libohao3@huawei.com> # message auto-generated for no-merge-commit merge: !5954 merge fix/cleancode-master into master fix: 修复 cleancode 告警 Created-by: libohao6 Commit-by: libohao6 Merged-by: cann-robot Description: ## 描述 修复基础算子主线cleancode问题。 ## 关联的Issue [Bug-Report|缺陷反馈]: MC2基础算子主线存在cleancode问题 #2676 ## 测试 二级冒烟。 ## 文档更新 不涉及。 ## 类型标签 <!-- [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 *contextconst gert::TilingContext *context。GetNodeName()、GetAttrPointer()等方法为const兼容,头文件声明同步更新。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 1.1 静态类型安全 | const修饰是否导致编译错误 | ✅ 方法兼容const | ### 3. 位操作类型修复 ✅ PASS **涉及文件**: matmul_reduce_scatter_v2_aiv_mode_tiling.cpp int32_t codeuint32_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 rcfCfgrcsCfg(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 循环变量 indexidx/isendCounts[%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!59543 天前
[MC2] support the fit-based balance tiling for MatmulReduceScatter & MatmulAllReduce in 950. Co-authored-by: yufang11<yufang11@huawei.com> # message auto-generated for no-merge-commit merge: !2565 merge tilingStandard4P into master [MC2] support the fit-based balance tiling for MatmulReduceScatter & MatmulAllReduce in 950. Created-by: yufang11 Commit-by: yufang11 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue 关联Issue [#1245](https://gitcode.com/cann/ops-transformer/issues/1245) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!25652 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
[MC2] support the fit-based balance tiling for MatmulReduceScatter & MatmulAllReduce in 950. Co-authored-by: yufang11<yufang11@huawei.com> # message auto-generated for no-merge-commit merge: !2565 merge tilingStandard4P into master [MC2] support the fit-based balance tiling for MatmulReduceScatter & MatmulAllReduce in 950. Created-by: yufang11 Commit-by: yufang11 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue 关联Issue [#1245](https://gitcode.com/cann/ops-transformer/issues/1245) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!25652 个月前
[MC2] support the fit-based balance tiling for MatmulReduceScatter & MatmulAllReduce in 950. Co-authored-by: yufang11<yufang11@huawei.com> # message auto-generated for no-merge-commit merge: !2565 merge tilingStandard4P into master [MC2] support the fit-based balance tiling for MatmulReduceScatter & MatmulAllReduce in 950. Created-by: yufang11 Commit-by: yufang11 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue 关联Issue [#1245](https://gitcode.com/cann/ops-transformer/issues/1245) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!25652 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
common目录整改 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !4870 merge feature/common_dir_fix_v2 into master common目录整改 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 本次修改对 common/ 目录进行整理,分为两个阶段: - **Phase 1**: 将 common/include/kernel/ 重命名为 common/include/op_kernel/ - **Phase 2**: 将 common/include/tiling_base/common/src/tiling_base/ 合并到 common/include/op_host/common/src/op_host/ 相应的 CMake 配置和所有 #include 路径引用已同步更新。 影响范围: - 351 个文件修改(include 路径更新) - 8 个文件重命名(tiling_base → op_host) - 2 个 CMakeLists.txt 修改 + 多个 tests 目录 CMakeLists.txt 更新 ## 关联的Issue Closes #2246 ## 测试 - 编译验证通过:bash build.sh --pkg --soc=ascend910b --ops=all_gather_matmul_v2 -j16 - 编译产物成功生成 .run 包 ## 文档更新 无 ## 类型标签 - [x] ♻️ 重构 - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!487026 天前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
D&C Fix Communication Engine Index Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !5261 merge fix_2 into master D&C Fix Communication Engine Index Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2385 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> **检视文件**:mc2_tiling_utils.h **修改内容**:修改 A5_CCU_ENGINE 常量值(5 → 0) **规范来源**:cpp-secure.md、cpp-general.md --- ## 修改内容说明 ### 本次修改的目的 将 A5 芯片的通信引擎配置从 CCU_MS(值5)改为默认值(值0)。 ### 原方案 **常量定义**: ```cpp constexpr uint8_t A5_CCU_ENGINE = 5; // CCU_MS引擎类型 ``` **注释说明**: ```cpp /** 当前通信API未提供枚举,后续会提供 0:默认值 1:HOST_TS(A2/3支持 A5不支持)2:AICPU_TS(A2/3支持 A5不支持) 3:AIV 4:AIV_ONLY(A2/3支持 A5不支持) 5:CCU_MS(A2/3支持 A5不支持) 6:CCU_SCHED(A2/3支持 A5不支持) 7:AICPU_UB/ROCE(A5不支持) **/ ``` ### 新方案 **修改点**: ```cpp constexpr uint8_t A5_CCU_ENGINE = 0; // 改为COMM_ALG_DEFAULT ``` **使用场景**(arch35目录下两个算子): - moe_distribute_dispatch_v2_tiling_arch35.cpp:845 - moe_distribute_combine_tiling_arch35.cpp:679 ```cpp mc2CcTilingConfig.SetCommEngine(mc2tiling::A5_CCU_ENGINE); ``` --- ## 问题列表 | 序号 | 级别 | 问题描述 | 行号 | 规范条款 | |-----|------|---------|-----|---------| | 1 | 中 | 常量命名与实际值语义不符 | 10,23 | 规范4.2 | | 2 | 低 | 缺少修改说明和原因 | 全文件 | 规范1.3 | --- ## 问题详情 ### 1. 常量命名与实际值语义不符 [中风险] **假设检验过程**: - **H0**:修改后常量语义清晰,不影响理解 - **H1**:常量名称与值不匹配,可能导致误解 - **自信值初始化**:0% **证据收集**: 1. **规范违反** (+40%): - 规范 4.2(cpp-general.md):禁止使用魔鬼数字/字符串,常量命名应体现语义 - 原定义:A5_CCU_ENGINE = 5,名称明确表示"CCU引擎",值5对应注释中的"CCU_MS" - 新定义:A5_CCU_ENGINE = 0,名称仍为"CCU引擎",但值0是"默认值"(COMM_ALG_DEFAULT) - 命名与值语义不符:A5_CCU_ENGINE 暗示CCU引擎,但值0是默认值 2. **上下文防御缺失** (+30%): - 未修改注释说明,注释仍显示"5:CCU_MS" - 新值为0,但注释中0的含义是"默认值",不是CCU引擎 3. **数据流追踪风险** (+25%): - 使用场景在arch35目录(A5芯片相关),调用 SetCommEngine(A5_CCU_ENGINE) - 如果A5不支持CCU_MS(值5),改为默认值(值0)是合理的 - 但常量名称应改为 A5_DEFAULT_ENGINE 或类似命名 **自信值**:95%(超过60%,判定为中风险) **风险代码**: ```cpp // 5159.diff 第10、23行 -constexpr uint8_t A5_CCU_ENGINE = 5; +constexpr uint8_t A5_CCU_ENGINE = 0; ``` **建议修复方案**: **方案A**:修改常量名称以匹配语义 ```cpp // 如果A5不支持CCU,使用默认引擎 constexpr uint8_t A5_DEFAULT_ENGINE = 0; // 或 A5_COMM_DEFAULT ``` **方案B**:保留名称,但更新注释说明 ```cpp /** 当前通信API未提供枚举,后续会提供 0:默认值(A5使用) 1:HOST_TS(A2/3支持) 2:AICPU_TS(A2/3支持) 3:AIV 4:AIV_ONLY(A2/3支持) 5:CCU_MS(A2/3支持,A5不支持) 6:CCU_SCHED(A2/3支持) 7:AICPU_UB/ROCE(A5不支持) **/ constexpr uint8_t A5_CCU_ENGINE = 0; // A5使用默认引擎,不支持CCU ``` --- ### 2. 缺少修改说明和原因 [低风险] **假设检验过程**: - **H0**:修改有明确的设计意图 - **H1**:修改原因未说明,影响可维护性 - **自信值初始化**:0% **证据收集**: 1. **规范违反** (+40%): - 规范 1.3(cpp-general.md):删除无效、冗余或永不执行的代码需说明原因 - 修改常量值属于重要配置变更,应说明修改原因 2. **上下文防御缺失** (+30%): - diff 中仅修改值,无commit message或注释说明原因 - 从注释"CCU_MS(A2/3支持 A5不支持)"推断:可能因A5不支持CCU而改为默认值 3. **数据流追踪风险** (+25%): - 修改影响通信引擎配置,可能影响性能和功能 - 应说明:为何A5不能用CCU_MS、改为0后的影响 **自信值**:95%(超过60%,判定为低风险) **建议修复方案**: - 在commit message中说明:"A5芯片不支持CCU_MS引擎,改为使用默认通信引擎配置" - 或在代码注释中补充说明 --- ## 总结 **修改合理性分析**: - 从注释"A5不支持CCU_MS"推断,修改可能合理(A5不支持值5,改用默认值0) - 但存在命名和语义不符问题 **建议**: 1. 修改常量名称为 A5_DEFAULT_ENGINE 或更新注释说明语义变更 2. 补充修改原因说明,提高可维护性 --- See merge request: cann/ops-transformer!526120 天前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
common目录整改 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !4870 merge feature/common_dir_fix_v2 into master common目录整改 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 本次修改对 common/ 目录进行整理,分为两个阶段: - **Phase 1**: 将 common/include/kernel/ 重命名为 common/include/op_kernel/ - **Phase 2**: 将 common/include/tiling_base/common/src/tiling_base/ 合并到 common/include/op_host/common/src/op_host/ 相应的 CMake 配置和所有 #include 路径引用已同步更新。 影响范围: - 351 个文件修改(include 路径更新) - 8 个文件重命名(tiling_base → op_host) - 2 个 CMakeLists.txt 修改 + 多个 tests 目录 CMakeLists.txt 更新 ## 关联的Issue Closes #2246 ## 测试 - 编译验证通过:bash build.sh --pkg --soc=ascend910b --ops=all_gather_matmul_v2 -j16 - 编译产物成功生成 .run 包 ## 文档更新 无 ## 类型标签 - [x] ♻️ 重构 - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!487026 天前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
common目录整改 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !4870 merge feature/common_dir_fix_v2 into master common目录整改 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 本次修改对 common/ 目录进行整理,分为两个阶段: - **Phase 1**: 将 common/include/kernel/ 重命名为 common/include/op_kernel/ - **Phase 2**: 将 common/include/tiling_base/common/src/tiling_base/ 合并到 common/include/op_host/common/src/op_host/ 相应的 CMake 配置和所有 #include 路径引用已同步更新。 影响范围: - 351 个文件修改(include 路径更新) - 8 个文件重命名(tiling_base → op_host) - 2 个 CMakeLists.txt 修改 + 多个 tests 目录 CMakeLists.txt 更新 ## 关联的Issue Closes #2246 ## 测试 - 编译验证通过:bash build.sh --pkg --soc=ascend910b --ops=all_gather_matmul_v2 -j16 - 编译产物成功生成 .run 包 ## 文档更新 无 ## 类型标签 - [x] ♻️ 重构 - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!487026 天前
fix: 修复 cleancode 告警 Co-authored-by: libohao6<libohao3@huawei.com> # message auto-generated for no-merge-commit merge: !5954 merge fix/cleancode-master into master fix: 修复 cleancode 告警 Created-by: libohao6 Commit-by: libohao6 Merged-by: cann-robot Description: ## 描述 修复基础算子主线cleancode问题。 ## 关联的Issue [Bug-Report|缺陷反馈]: MC2基础算子主线存在cleancode问题 #2676 ## 测试 二级冒烟。 ## 文档更新 不涉及。 ## 类型标签 <!-- [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 *contextconst gert::TilingContext *context。GetNodeName()、GetAttrPointer()等方法为const兼容,头文件声明同步更新。 | 规范条款 | 检查项 | 结果 | |---------|--------|------| | cpp-secure 1.1 静态类型安全 | const修饰是否导致编译错误 | ✅ 方法兼容const | ### 3. 位操作类型修复 ✅ PASS **涉及文件**: matmul_reduce_scatter_v2_aiv_mode_tiling.cpp int32_t codeuint32_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 rcfCfgrcsCfg(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 循环变量 indexidx/isendCounts[%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!59543 天前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前
调整common目录结构 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !2465 merge master_v3 into master 调整common目录结构 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 调整common目录调整 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!24652 个月前