文件最后提交记录最后更新时间
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 天前
grouped_matmul 与 grouped_matmul_swiglu_quant_v2 剩余未改的UT改为 CSV 驱动覆盖方案,解决硬编码cpp文件膨胀问题 Co-authored-by: chen-shuai<chenshuai96@huawei.com> # message auto-generated for no-merge-commit merge: !4180 merge GMM_GMMSGQV2_UT into master grouped_matmul 与 grouped_matmul_swiglu_quant_v2 剩余未改的UT改为 CSV 驱动覆盖方案,解决硬编码cpp文件膨胀问题 Created-by: chen-shuai Commit-by: chen-shuai Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 将 grouped_matmulgrouped_matmul_swiglu_quant_v2op_host / op_api UT 统一改为 CSV 驱动模式,补充并整理对应 CSV 用例。 2. 抽取 GMM 专用的 CSV 解析公共能力,新增: - tests/ut/framework_normal/common/gmm_csv_parse_utils.h - tests/ut/framework_normal/common/gmm_csv_ge_parse_utils.h - tests/ut/framework_normal/common/gmm_csv_acl_parse_utils.h 3. 统一封装 CSV 路径解析、bool/dims/dtype/format/storage/stride 解析、GE/ACL TensorDesc 构造、参数名规范化和 CSV 解析报错定位,减少各个 UT 文件内重复代码。 4. 调整 grouped_matmul / grouped_matmul_swiglu_quant_v2op_api 用例目录与 CSV 引用方式,使 op_apiop_host 测试入口和公共解析能力保持一致。 5. 清理旧的重复手写 UT 逻辑,统一 LoadCasesMakeParamName 和参数化测试写法,提升可读性和可维护性。 6. 本次修改范围仅限 UT、CSV 用例和测试公共代码,不修改算子实现逻辑。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/1417 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> bash build.sh -u --ophost --ops=xxx --cov bash build.sh -u --opapi --ops=xxx --cov ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [x] ⚡ 性能优化 - [x] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!41801 个月前
gmminplaceadd算子 ut 重构 Co-authored-by: zhoushaolong<zhoushaolong3@huawei.com> # message auto-generated for no-merge-commit merge: !4304 merge ut/0413 into master gmminplaceadd算子 ut 重构 Created-by: zhoushaolong Commit-by: zhoushaolong Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 将 quant_grouped_matmul_inplace_add 的 op_host / op_api UT 改为 CSV 驱动模式,补充并整理对应 CSV 用例。 复用并扩展 GMM CSV 公共解析能力,新增/调整: tests/ut/framework_normal/common/gmm_soc_version_utils.h tests/ut/framework_normal/common/gmm_csv_acl_parse_utils.h tests/ut/framework_normal/common/gmm_csv_ge_parse_utils.h 统一复用 CSV 路径解析、bool/dims/dtype/status 解析、GE StorageShape 构造、参数名规范化和 CSV 解析报错定位,减少 quant_grouped_matmul_inplace_add UT 文件内重复代码。 新增并整理 quant_grouped_matmul_inplace_add 的 tiling、infershape、op_api CSV 用例,覆盖正常路径、异常参数、shape 校验、dtype 校验、checker 分支等场景。 调整 quant_grouped_matmul_inplace_add 的 UT 目录入口和依赖引用方式,使 op_host、op_api 测试入口与 GMM 公共 CSV 解析能力保持一致。 清理旧的手写 UT 逻辑和高风险 fallback hook 测试依赖,避免为 UT 覆盖率修改算子实现逻辑。 本次修改范围以 UT、CSV 用例和测试公共代码为主,不修改算子核心实现逻辑。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/1922 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地跑了下面命令: bash build.sh -u --opapi --ops=quant_grouped_matmul_inplace_add --cov bash build.sh -u --ophost --ops=quant_grouped_matmul_inplace_add --cov 用例都PASS了 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!43041 个月前
opbase.so解耦 Co-authored-by: LZH<liuzhihan2@h-partners.com> # message auto-generated for no-merge-commit merge: !2238 merge master into master opbase.so解耦 Created-by: LZH_unofficial Commit-by: LZH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!22382 个月前
/lgtm Co-authored-by: wuhaogl<wuhao305@h-partners.com> # message auto-generated for no-merge-commit merge: !537 merge master into master 适配最新cann版本,更新编译选项 Created-by: wuhaogl Commit-by: wuhaogl Merged-by: cann-robot Description: ## 描述 适配最新cann版本,更新编译选项 ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/314 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!5375 个月前
/lgtm Co-authored-by: wuhaogl<wuhao305@h-partners.com> # message auto-generated for no-merge-commit merge: !537 merge master into master 适配最新cann版本,更新编译选项 Created-by: wuhaogl Commit-by: wuhaogl Merged-by: cann-robot Description: ## 描述 适配最新cann版本,更新编译选项 ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/314 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!5375 个月前