| Files | Last commit | Last update |
|---|---|---|
[acosh_grad] quality-hardening:算子质量加固修复 Co-authored-by: handsomeRobot_SK<suke13@huawei.com> # message auto-generated for no-merge-commit merge: !6196 merge acosh_grad_quality_hardening into master [acosh_grad] quality-hardening:算子质量加固修复 Created-by: handsomeRobot_SK Commit-by: handsomeRobot_SK Merged-by: cann-robot Description: # [acosh_grad] quality-hardening:算子质量加固修复(准入+检视问题整改) ## 一、变更概述 本 PR 针对 AcoshGrad(acosh_grad)算子 2026-09-23 准入扫描(白盒模式,总体结论 FAIL,唯一 FAIL 项为 1.4 资料-缺少动态 shape 约束说明,另有 X2 规则级 WARN)与代码检视(125 条例,FAIL 1 / SUSPICIOUS 1 / 风格违规 3 项可修 / 设计一致性 4 维不一致)发现的问题,完成如下整改: - 准入 1.4:README 补充动态 shape/动态 rank 约束说明(消除唯一 FAIL); - 准入 X2:Tiling 新增私有格式显式拒绝(origin/storage 双查)+ 私有格式异常 UT×3(消除 WARN); - 准入 X7 建议:README 补充空 Tensor 行为说明; - 检视 LOG-1:裸 OP_LOGE 替换为 OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 结构化预定义宏; - 检视 RED-1:ubBlockSize 增加显式零值守卫; - 检视 S4/S5/S6、D8:DESIGN.md v1.1 与实现同步(GEIR-only 交付姿态、TilingData 3 字段、简化切分算法、动态 shape 说明、248KB 格式修正); - 风格 STYLE-2.1/2.4/3.3:行宽折行、if 补齐大括号、清理开发阶段编号注释; - 覆盖度 P5:归档用例补齐(L2 异常用例 +7、功能缺口用例 +10)。 变更范围:代码仓 quality-hardening-acosh_grad/ops-math(分支 acosh_grad_quality_hardening,4 笔提交)+ 交付件仓 operator-artifacts/AcoshGrad/(提交 625b165 本算子部分)。 ## 二、分类修改清单 ### (一)代码修复(ops-math,逐条对应报告条目) | 报告条目 | 修复内容 | 文件 | |---------|---------|------| | admission X2 / P2(WARN) | 新增 IsPrivateFormat()(NC1HWC0/FRACTAL_Z/NDC1HWC0/FRACTAL_Z_3D/FRACTAL_NZ/NC1HWC0_C04),y/dy/z origin/storage 双查显式拒绝,报错走 OP_LOGE_FOR_INVALID_FORMAT_WITH_REASON | op_host/arch35/acosh_grad_tiling_arch35.cpp:51-55、:112-137 | | code-review LOG-1(FAIL) | 两处裸 OP_LOGE("coreNum is 0"/"ubSize is 0") 替换为 OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 结构化宏 | op_host/arch35/acosh_grad_tiling_arch35.cpp:63-68 | | code-review RED-1(SUSPICIOUS) | ubBlockSize 增加显式零值守卫(OP_LOGE_FOR_INVALID_VALUE_WITH_REASON) | op_host/arch35/acosh_grad_tiling_arch35.cpp:198-200 | | STYLE-2.1 | 两处超 120 字符行按运算符放行末折行 | op_host/arch35/acosh_grad_tiling_arch35.cpp:78-79;op_kernel/arch35/acosh_grad_kernel.h:90 | | STYLE-2.4 | Process() 单语句 if 补齐大括号 | op_kernel/arch35/acosh_grad_kernel.h:203-206 | | STYLE-3.3 | 删除开发阶段编号注释(Step 1-7、"// 1..7 步骤"、"迭代二"),关键约束并入函数头注释 | op_host/acosh_grad_def.cpp:17;op_host/arch35/acosh_grad_tiling_arch35.cpp:139-193;op_kernel/arch35/acosh_grad_kernel.h:163-177 | ### (二)资料修复 | 报告条目 | 修复内容 | 文件 | |---------|---------|------| | admission 1.4 / P1(FAIL) | README 补充动态 shape/动态 rank(rank 0~8)约束说明;DESIGN.md v1.1 同步 | math/acosh_grad/README.md:76;operator-artifacts AcoshGrad/DESIGN.md:133 | | admission X7 建议 | README 补充空 Tensor(元素数为 0 直接返回空结果)说明 | math/acosh_grad/README.md:77 | | code-review S4/S5/S6(设计一致性 ❌) | DESIGN.md v1.1 改文档迁就实现:GEIR-only 交付姿态(去除 ACLNN 接口、调用仅图模式);TilingData 简化为 3 字段(totalNum/blockFactor/ubFactor)单均分 + ubFactor 循环、末 tile 由 Kernel 处理;Tiling 算法对齐 CeilAlign/CeilDiv/FloorAlign/FloorDiv + GetUbBlockSize 实际实现 | operator-artifacts AcoshGrad/DESIGN.md:8、:60、:132、:159-169、:171-198 | | code-review D8(文档格式) | 5 处 "248 KB" 数字单位空格违规改为 248KB | operator-artifacts AcoshGrad/DESIGN.md:391-395、:454 | ### (三)用例补充 | 报告条目 | 修复内容 | 文件 | |---------|---------|------| | admission X2 / P2 | 私有格式异常 UT×3(014:y=NC1HWC0、015:dy=FRACTAL_NZ、016:z=FRACTAL_Z,均断言 GRAPH_FAILED) | math/acosh_grad/tests/ut/op_host/arch35/test_acosh_grad_tiling_arch35.cpp:344-400 | | admission P5(覆盖度缺口) | L2 异常用例 +7(dtype 异常 float64、rank 9 越界×3 dtype、NCHW 格式异常×3 dtype);功能缺口用例 +10(特殊值 ±0/inf/nan×3 dtype、空 Tensor×3 dtype、压力档、subnormal、minnormal、UB 整除) | operator-artifacts AcoshGrad/测试用例/acosh_grad_l2_exception.csv、acosh_grad_selected_100.csv | ## 三、逐 commit 摘要 ### 代码仓(ops-math,分支 acosh_grad_quality_hardening,自基线 9b3d87785 起) | commit | 主题 | 对应报告条目 | |--------|------|-------------| | f1922aaaa | 修复 acosh_grad 异常处理:LOG-1 裸 OP_LOGE 替换为 OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、RED-1 ubBlockSize 增加零值守卫 | LOG-1、RED-1 | | 5693ed64d | acosh_grad 代码风格整改:STYLE-2.1 行宽超标换行、STYLE-2.4 if 补齐大括号、STYLE-3.3 清理开发阶段编号注释(STYLE-2.3 指针声明与本仓 clang-format PointerAlignment:Left 冲突,不修改) | STYLE-2.1、STYLE-2.4、STYLE-3.3 | | 84b76176b | README 补充动态shape/动态rank与空Tensor约束说明 | admission 1.4/P1、X7 建议 | | fbf57e745 | 修复 acosh_grad 格式校验:X2 tiling 显式拒绝私有格式(NC1HWC0/FRACTAL_Z 等,origin/storage 双查)+ 新增私有格式异常 UT×3 | admission X2/P2 | ### 交付件仓(operator-artifacts,本算子部分) | commit | 主题 | 对应报告条目 | |--------|------|-------------| | 625b165 | quality-hardening 19 算子批量修复(AcoshGrad 部分):DESIGN.md v1.1 设计同步(GEIR-only、TilingData 3 字段、简化切分、动态 shape、248KB 修正)+ 测试用例归档补齐(l2_exception +7、selected_100 +10) | S4/S5/S6(文档侧)、D8、P5 | 说明:交付件仓提交 8a47e70(第二轮补修)经核验不含本算子任何文件,本 PR 不涉及。 ## 四、测试与验证 - **编译**:本环境无 NPU/编译工具链,未执行实机编译(与准入报告一致,运行时证据项 UNAVAILABLE)。本批次代码改动均为语法级局部修改(宏替换、注释清理、大括号、折行、守卫新增),不触碰计算链路(Kernel Mul→Adds(-1)→Sqrt→Div 公式未变)。 - **UT(Tiling 侧)**:归档 16 条 Tiling UT(tests/ut/op_host/arch35/test_acosh_grad_tiling_arch35.cpp:69-400),覆盖大/小 shape、多核切分、非对齐、空 Tensor、5 类失败路径(shape 不一致、dtype 不一致、不支持 dtype、输入/输出 dtype 不一致)及新增私有格式异常 3 类(014-016,模拟 TilingContext 断言 GRAPH_FAILED)。未修项明细条目 2 亦引证"代码侧已有 16 条 Tiling UT 验证,功能正确性有证据"。 - **覆盖度复测**:admission 覆盖度报告(hardening-report/admission/coverage_report.md)为 2026-09-23 修复前快照——kernel 侧 4 文件 346 用例、85.7% PASS,缺口列示 UB整除、不支持 dtype 异常、shape/rank 异常×dtype、format 异常×dtype。本批次归档用例(l2_exception.csv +7、selected_100.csv +10)已逐一补齐上述全部列示缺口;覆盖度评估器(Step 7.5)未随修复重跑,复测得分待扫描器重跑后更新。 - **GEIR 实机 / TTK**:未执行(无 NPU/TTK,admission-report.md:60 标记 UNAVAILABLE);既有精度三方报告为 09-14 修复前版本产物,修复后实机回归证据待补(见未修项明细条目 4)。 ## 五、未完成事项与限制 本 PR 遵守三条禁区决策,以下事项不在本次修复范围: 1. **ACLNN 接口不新增**:本算子维持 GEIR-only 交付姿态(CMakeLists.txt:16 ACLNNTYPE=aclnn_exclude,admission 1.3 已确认 aclnn 通路豁免)。DESIGN.md v1.1 已与实现同步,但 REQUIREMENTS.md / req_analysis.md 需求基线("ACLNN 调用 [x]"、ACLNN API 接口定义章节)未同步——属需求变更,待需求侧决策,见未修项明细条目 1。 2. **产品支持矛盾不处理**:产品支持标记不新增/不撤销(admission 1.1 已 PASS,README 6 产品与代码双向一致;旧芯片 TBE ini [AcoshGrad] 段为存量迁移注册,E3 PASS,维持现状)。 3. **canndev 不改动**:本 PR 不含任何 canndev 修改(admission E3/E4 均 PASS,无 canndev 行动项)。 其余未完成事项与限制: 4. **S5/S6 简化方案缺架构背书**:Tiling 3 字段单均分方案(改设计文档迁就代码)无人工评审记录,待架构确认;若否决需恢复 former/tail 双块切分。见未修项明细条目 2。 5. **STYLE-2.3 豁免待裁决**:指针声明符左贴类型与本仓 .clang-format PointerAlignment: Left 冲突,修改会被 pre-commit 自动回退,已有意搁置(见 5693ed64d 提交说明)。见未修项明细条目 3。 6. **无 NPU/TTK**:GEIR 实机验证与 TTK 异常测试证据未执行(UNAVAILABLE),环境就绪后需补跑私有格式拒绝路径、examples 冒烟与精度三方回归。见未修项明细条目 4。 7. **admission P3 扫描器展示缺陷**:1.6 交付件一致性实际 PASS(verification_result.csv 双"一致")但被 scan_transfer_test.py 渲染为 N/A,属外置工具缺陷,随扫描器版本修复。见未修项明细条目 5。 完整未修项明细见:guide/未修项明细/acosh_grad_未修项明细.md(条目 1-5)。 See merge request: cann/ops-math!6196 | 28 days ago | |
[acosh_grad] quality-hardening:算子质量加固修复 Co-authored-by: handsomeRobot_SK<suke13@huawei.com> # message auto-generated for no-merge-commit merge: !6196 merge acosh_grad_quality_hardening into master [acosh_grad] quality-hardening:算子质量加固修复 Created-by: handsomeRobot_SK Commit-by: handsomeRobot_SK Merged-by: cann-robot Description: # [acosh_grad] quality-hardening:算子质量加固修复(准入+检视问题整改) ## 一、变更概述 本 PR 针对 AcoshGrad(acosh_grad)算子 2026-09-23 准入扫描(白盒模式,总体结论 FAIL,唯一 FAIL 项为 1.4 资料-缺少动态 shape 约束说明,另有 X2 规则级 WARN)与代码检视(125 条例,FAIL 1 / SUSPICIOUS 1 / 风格违规 3 项可修 / 设计一致性 4 维不一致)发现的问题,完成如下整改: - 准入 1.4:README 补充动态 shape/动态 rank 约束说明(消除唯一 FAIL); - 准入 X2:Tiling 新增私有格式显式拒绝(origin/storage 双查)+ 私有格式异常 UT×3(消除 WARN); - 准入 X7 建议:README 补充空 Tensor 行为说明; - 检视 LOG-1:裸 OP_LOGE 替换为 OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 结构化预定义宏; - 检视 RED-1:ubBlockSize 增加显式零值守卫; - 检视 S4/S5/S6、D8:DESIGN.md v1.1 与实现同步(GEIR-only 交付姿态、TilingData 3 字段、简化切分算法、动态 shape 说明、248KB 格式修正); - 风格 STYLE-2.1/2.4/3.3:行宽折行、if 补齐大括号、清理开发阶段编号注释; - 覆盖度 P5:归档用例补齐(L2 异常用例 +7、功能缺口用例 +10)。 变更范围:代码仓 quality-hardening-acosh_grad/ops-math(分支 acosh_grad_quality_hardening,4 笔提交)+ 交付件仓 operator-artifacts/AcoshGrad/(提交 625b165 本算子部分)。 ## 二、分类修改清单 ### (一)代码修复(ops-math,逐条对应报告条目) | 报告条目 | 修复内容 | 文件 | |---------|---------|------| | admission X2 / P2(WARN) | 新增 IsPrivateFormat()(NC1HWC0/FRACTAL_Z/NDC1HWC0/FRACTAL_Z_3D/FRACTAL_NZ/NC1HWC0_C04),y/dy/z origin/storage 双查显式拒绝,报错走 OP_LOGE_FOR_INVALID_FORMAT_WITH_REASON | op_host/arch35/acosh_grad_tiling_arch35.cpp:51-55、:112-137 | | code-review LOG-1(FAIL) | 两处裸 OP_LOGE("coreNum is 0"/"ubSize is 0") 替换为 OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 结构化宏 | op_host/arch35/acosh_grad_tiling_arch35.cpp:63-68 | | code-review RED-1(SUSPICIOUS) | ubBlockSize 增加显式零值守卫(OP_LOGE_FOR_INVALID_VALUE_WITH_REASON) | op_host/arch35/acosh_grad_tiling_arch35.cpp:198-200 | | STYLE-2.1 | 两处超 120 字符行按运算符放行末折行 | op_host/arch35/acosh_grad_tiling_arch35.cpp:78-79;op_kernel/arch35/acosh_grad_kernel.h:90 | | STYLE-2.4 | Process() 单语句 if 补齐大括号 | op_kernel/arch35/acosh_grad_kernel.h:203-206 | | STYLE-3.3 | 删除开发阶段编号注释(Step 1-7、"// 1..7 步骤"、"迭代二"),关键约束并入函数头注释 | op_host/acosh_grad_def.cpp:17;op_host/arch35/acosh_grad_tiling_arch35.cpp:139-193;op_kernel/arch35/acosh_grad_kernel.h:163-177 | ### (二)资料修复 | 报告条目 | 修复内容 | 文件 | |---------|---------|------| | admission 1.4 / P1(FAIL) | README 补充动态 shape/动态 rank(rank 0~8)约束说明;DESIGN.md v1.1 同步 | math/acosh_grad/README.md:76;operator-artifacts AcoshGrad/DESIGN.md:133 | | admission X7 建议 | README 补充空 Tensor(元素数为 0 直接返回空结果)说明 | math/acosh_grad/README.md:77 | | code-review S4/S5/S6(设计一致性 ❌) | DESIGN.md v1.1 改文档迁就实现:GEIR-only 交付姿态(去除 ACLNN 接口、调用仅图模式);TilingData 简化为 3 字段(totalNum/blockFactor/ubFactor)单均分 + ubFactor 循环、末 tile 由 Kernel 处理;Tiling 算法对齐 CeilAlign/CeilDiv/FloorAlign/FloorDiv + GetUbBlockSize 实际实现 | operator-artifacts AcoshGrad/DESIGN.md:8、:60、:132、:159-169、:171-198 | | code-review D8(文档格式) | 5 处 "248 KB" 数字单位空格违规改为 248KB | operator-artifacts AcoshGrad/DESIGN.md:391-395、:454 | ### (三)用例补充 | 报告条目 | 修复内容 | 文件 | |---------|---------|------| | admission X2 / P2 | 私有格式异常 UT×3(014:y=NC1HWC0、015:dy=FRACTAL_NZ、016:z=FRACTAL_Z,均断言 GRAPH_FAILED) | math/acosh_grad/tests/ut/op_host/arch35/test_acosh_grad_tiling_arch35.cpp:344-400 | | admission P5(覆盖度缺口) | L2 异常用例 +7(dtype 异常 float64、rank 9 越界×3 dtype、NCHW 格式异常×3 dtype);功能缺口用例 +10(特殊值 ±0/inf/nan×3 dtype、空 Tensor×3 dtype、压力档、subnormal、minnormal、UB 整除) | operator-artifacts AcoshGrad/测试用例/acosh_grad_l2_exception.csv、acosh_grad_selected_100.csv | ## 三、逐 commit 摘要 ### 代码仓(ops-math,分支 acosh_grad_quality_hardening,自基线 9b3d87785 起) | commit | 主题 | 对应报告条目 | |--------|------|-------------| | f1922aaaa | 修复 acosh_grad 异常处理:LOG-1 裸 OP_LOGE 替换为 OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、RED-1 ubBlockSize 增加零值守卫 | LOG-1、RED-1 | | 5693ed64d | acosh_grad 代码风格整改:STYLE-2.1 行宽超标换行、STYLE-2.4 if 补齐大括号、STYLE-3.3 清理开发阶段编号注释(STYLE-2.3 指针声明与本仓 clang-format PointerAlignment:Left 冲突,不修改) | STYLE-2.1、STYLE-2.4、STYLE-3.3 | | 84b76176b | README 补充动态shape/动态rank与空Tensor约束说明 | admission 1.4/P1、X7 建议 | | fbf57e745 | 修复 acosh_grad 格式校验:X2 tiling 显式拒绝私有格式(NC1HWC0/FRACTAL_Z 等,origin/storage 双查)+ 新增私有格式异常 UT×3 | admission X2/P2 | ### 交付件仓(operator-artifacts,本算子部分) | commit | 主题 | 对应报告条目 | |--------|------|-------------| | 625b165 | quality-hardening 19 算子批量修复(AcoshGrad 部分):DESIGN.md v1.1 设计同步(GEIR-only、TilingData 3 字段、简化切分、动态 shape、248KB 修正)+ 测试用例归档补齐(l2_exception +7、selected_100 +10) | S4/S5/S6(文档侧)、D8、P5 | 说明:交付件仓提交 8a47e70(第二轮补修)经核验不含本算子任何文件,本 PR 不涉及。 ## 四、测试与验证 - **编译**:本环境无 NPU/编译工具链,未执行实机编译(与准入报告一致,运行时证据项 UNAVAILABLE)。本批次代码改动均为语法级局部修改(宏替换、注释清理、大括号、折行、守卫新增),不触碰计算链路(Kernel Mul→Adds(-1)→Sqrt→Div 公式未变)。 - **UT(Tiling 侧)**:归档 16 条 Tiling UT(tests/ut/op_host/arch35/test_acosh_grad_tiling_arch35.cpp:69-400),覆盖大/小 shape、多核切分、非对齐、空 Tensor、5 类失败路径(shape 不一致、dtype 不一致、不支持 dtype、输入/输出 dtype 不一致)及新增私有格式异常 3 类(014-016,模拟 TilingContext 断言 GRAPH_FAILED)。未修项明细条目 2 亦引证"代码侧已有 16 条 Tiling UT 验证,功能正确性有证据"。 - **覆盖度复测**:admission 覆盖度报告(hardening-report/admission/coverage_report.md)为 2026-09-23 修复前快照——kernel 侧 4 文件 346 用例、85.7% PASS,缺口列示 UB整除、不支持 dtype 异常、shape/rank 异常×dtype、format 异常×dtype。本批次归档用例(l2_exception.csv +7、selected_100.csv +10)已逐一补齐上述全部列示缺口;覆盖度评估器(Step 7.5)未随修复重跑,复测得分待扫描器重跑后更新。 - **GEIR 实机 / TTK**:未执行(无 NPU/TTK,admission-report.md:60 标记 UNAVAILABLE);既有精度三方报告为 09-14 修复前版本产物,修复后实机回归证据待补(见未修项明细条目 4)。 ## 五、未完成事项与限制 本 PR 遵守三条禁区决策,以下事项不在本次修复范围: 1. **ACLNN 接口不新增**:本算子维持 GEIR-only 交付姿态(CMakeLists.txt:16 ACLNNTYPE=aclnn_exclude,admission 1.3 已确认 aclnn 通路豁免)。DESIGN.md v1.1 已与实现同步,但 REQUIREMENTS.md / req_analysis.md 需求基线("ACLNN 调用 [x]"、ACLNN API 接口定义章节)未同步——属需求变更,待需求侧决策,见未修项明细条目 1。 2. **产品支持矛盾不处理**:产品支持标记不新增/不撤销(admission 1.1 已 PASS,README 6 产品与代码双向一致;旧芯片 TBE ini [AcoshGrad] 段为存量迁移注册,E3 PASS,维持现状)。 3. **canndev 不改动**:本 PR 不含任何 canndev 修改(admission E3/E4 均 PASS,无 canndev 行动项)。 其余未完成事项与限制: 4. **S5/S6 简化方案缺架构背书**:Tiling 3 字段单均分方案(改设计文档迁就代码)无人工评审记录,待架构确认;若否决需恢复 former/tail 双块切分。见未修项明细条目 2。 5. **STYLE-2.3 豁免待裁决**:指针声明符左贴类型与本仓 .clang-format PointerAlignment: Left 冲突,修改会被 pre-commit 自动回退,已有意搁置(见 5693ed64d 提交说明)。见未修项明细条目 3。 6. **无 NPU/TTK**:GEIR 实机验证与 TTK 异常测试证据未执行(UNAVAILABLE),环境就绪后需补跑私有格式拒绝路径、examples 冒烟与精度三方回归。见未修项明细条目 4。 7. **admission P3 扫描器展示缺陷**:1.6 交付件一致性实际 PASS(verification_result.csv 双"一致")但被 scan_transfer_test.py 渲染为 N/A,属外置工具缺陷,随扫描器版本修复。见未修项明细条目 5。 完整未修项明细见:guide/未修项明细/acosh_grad_未修项明细.md(条目 1-5)。 See merge request: cann/ops-math!6196 | 28 days ago | |
[CANNBOT]ascosh_grad适配Ascend950 Ascendc开发 Co-authored-by: gcw_YBIAEfqJ<wangweidong15@huawei.com> # message auto-generated for no-merge-commit merge: !3254 merge ascoshgrad into master [CANNBOT]ascosh_grad适配Ascend950 Ascendc开发 Created-by: gcw_YBIAEfqJ Commit-by: gcw_YBIAEfqJ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 计算Acosh算子的反向梯度,公式 z = dy / sqrt(y² - 1)。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1945 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3254 | 4 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 28 days ago | ||
| 28 days ago | ||
| 4 months ago |