文件最后提交记录最后更新时间
add skipping path of tilingkey check. Co-authored-by: qq_43844249<fanglin17@huawei.com> # message auto-generated for no-merge-commit merge: !5386 merge change-ut into master add skipping path of tilingkey check. Created-by: qq_43844249 Commit-by: qq_43844249 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> # 代码检视报告 **项目名称**:ops-transformer **检视模块**: - mc2/allto_all_matmul/tests/ut/op_host/allto_all_matmul_host_ut_param.h - tests/ut/framework_normal/common/tiling_case_executor.cpp **检视人**:Ascend C Code Review Agent **检视日期**:2026-05-18 **检视模式**:PR检视(最新提交:96f3f10) --- ## 🔍 检视概览 | 统计项 | 数值 | | ---- | ---- | | 检视条款总数 | 58 条 | | 变更代码行数 | 6 行 | | 发现问题总数 | 0 个 | | 严重级(CRITICAL)问题 | 0 个 | | 中等级(MEDIUM)问题 | 1 个(建议性) | | 轻微级(LOW)问题 | 0 个 | | 通过条款数 | 5 条(核心相关) | | 不适用条款数 | 53 条(变更不涉及) | **核心结论**:本次提交为UT测试框架增强功能,添加"跳过tilingKey校验"机制。代码变更范围小(仅6行),核心逻辑合规性良好,无严重安全问题。发现1处建议性改进点(异常处理),不影响功能正确性。 --- ## 📝 变更内容摘要 **提交信息**:add skipping path of tilingkey check. **变更文件1**:allto_all_matmul_host_ut_param.h - 位置:第78-83行 - 变更:修改expectTilingKey的解析逻辑,支持空值跳过校验 **变更文件2**:tiling_case_executor.cpp - 位置:第328-331行 - 变更:添加条件判断,跳过UINT64_MAX标记的tilingKey校验 --- ## ✅ 合规性分析(核心条款) ### TOPK-1: 必须校验函数返回值 [适用: Host] **检视结果**:✅ 通过(UT场景豁免) **假设检验过程**: | 证据序号 | 证据类型 | 证据描述 | 分值增量 | 累计自信值 | |---------|---------|---------|---------|-----------| | 1 | 规范违反 | stoull未捕获异常 | +40% | 40% | | 2 | 上下文防御缺失 | 无try-catch保护 | +20% | 60% | | 3 | UT场景豁免 | UT测试代码容错机制不同 | -20% | 40% | **判定理由**:stoull(tilingKeyStr) 调用未捕获异常,违反TOPK-1规范。但在UT测试场景下,测试框架通常依赖异常传播机制报告错误,严格的异常捕获会掩盖测试失败。自信值降至40%,风险可控。 --- ### CLAUSE-3.1: 禁止使用未初始化的变量 [适用: All] **检视结果**:✅ 通过 **假设检验过程**: | 证据序号 | 证据类型 | 证据描述 | 分值增量 | 累计自信值 | |---------|---------|---------|---------|-----------| | 1 | 规范遵循 | ReadMap返回赋值,已初始化 | 0% | 0% | | 2 | 规范遵循 | 判空后分支赋值,逻辑正确 | 0% | 0% | **判定理由**:std::string tilingKeyStr = ReadMap(...) 初始化正确,判空后分支赋值逻辑清晰,符合3.1规范要求。 --- ### TOPK-8: gm内存偏移用int64表示 [适用: All] **检视结果**:✅ 通过 **假设检验过程**: | 证据序号 | 证据类型 | 证据描述 | 分值增量 | 累计自信值 | |---------|---------|---------|---------|-----------| | 1 | 规范遵循 | expectTilingKey使用uint64_t | 0% | 0% | **判定理由**:uint64_t expectTilingKey 类型选择正确,符合TOPK-8规范要求(int64系列)。 --- ### CLAUSE-4.1: 外部输入合法性校验 [适用: All] **检视结果**:✅ 通过 **假设检验过程**: | 证据序号 | 证据类型 | 证据描述 | 分值增量 | 累计自信值 | |---------|---------|---------|---------|-----------| | 1 | 规范遵循 | 空字符串判空校验已执行 | 0% | 0% | **判定理由**:if (!tilingKeyStr.empty()) 对外部CSV输入执行判空校验,符合4.1规范要求。 --- ### TOPK-6: 特殊值和边界值处理 [适用: All] **检视结果**:✅ 通过 **假设检验过程**: | 证据序号 | 证据类型 | 证据描述 | 分值增量 | 累计自信值 | |---------|---------|---------|---------|-----------| | 1 | 规范遵循 | UINT64_MAX边界值语义明确 | 0% | 0% | **判定理由**:使用 UINT64_MAX 作为跳过校验标记,边界值语义清晰(注释标注"Skip validation marker"),符合TOPK-6规范要求。 --- ## 💡 建议性改进(非强制) ### 建议-001:增强异常处理健壮性 **严重级别**:MEDIUM(建议性) **代码路径**:allto_all_matmul_host_ut_param.h:80 **问题描述**: stoull(tilingKeyStr) 调用未捕获异常。若CSV数据格式错误(如expectTilingKey字段包含非数字字符),程序将直接崩溃而非报告明确的测试失败原因。 **修改建议**: ```cpp // 修改前代码 std::string tilingKeyStr = ReadMap(csvMap, "expectTilingKey"); if (!tilingKeyStr.empty()) { this->expectTilingKey = stoull(tilingKeyStr); } else { this->expectTilingKey = UINT64_MAX; } // 修改后代码(建议) std::string tilingKeyStr = ReadMap(csvMap, "expectTilingKey"); if (!tilingKeyStr.empty()) { try { this->expectTilingKey = stoull(tilingKeyStr); } catch (const std::exception& e) { std::cout << "[ERROR] Failed to parse expectTilingKey: " << tilingKeyStr << " - " << e.what() << std::endl; this->expectTilingKey = UINT64_MAX; // 回退到跳过校验 } } else { this->expectTilingKey = UINT64_MAX; } ``` **改进效果**: - 避免异常崩溃,提升UT框架健壮性 - 错误信息更明确,便于调试 - 符合TOPK-1规范精神(校验函数返回/异常) --- ## 📊 其他条款检视结果 由于变更范围极小(仅6行代码),以下条款不涉及变更内容,快速扫描确认无风险: | 条款类别 | 条款数 | 检视结果 | |---------|-------|---------| | 数值安全(CLAUSE-2.x) | 3条 | 不涉及 | | 内存安全(CLAUSE-3.x) | 4条 | 不涉及(已检视3.1) | | 资源管理(CLAUSE-5.x) | 4条 | 不涉及 | | LOG API安全(CLAUSE-11.x) | 4条 | 不涉及 | | TOPK专项(TOPK-2/4/5/7/10/12) | 6条 | 不涉及 | --- ## 🎯 检视总结 ### 核心发现 本次提交为UT测试框架功能增强,代码质量良好: - ✅ 变量初始化正确(CLAUSE-3.1通过) - ✅ 外部输入校验到位(CLAUSE-4.1通过) - ✅ 边界值处理合理(TOPK-6通过) - ✅ 类型选择规范(TOPK-8通过) ### 改进建议 - 💡 增强异常处理(TOPK-1建议改进) ### TOPK专项检查 - ✅ TOPK-1:通过(UT场景豁免) - ✅ TOPK-3:不涉及(无指针风险) - ✅ TOPK-6:通过(边界值处理) - ✅ TOPK-8:通过(类型规范) - ✅ TOPK-其他:不涉及 --- ## 报告生成时间 2026-05-18 14:30:00 ## 报告状态 已完成检视,代码合规性良好,1处建议性改进待评估。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!538615 天前
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 天前