| Files | Last commit | Last update |
|---|---|---|
fix: 迁移 RaggedBinCount V2 推导并规范两算子 golden Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !6538 merge fix/august-golden-quality into master fix: 迁移 RaggedBinCount V2 推导并规范两算子 golden Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 RaggedBinCount 删除原生 V1 shape 实现及注册,由已有 runtime V2 推导接管;保留 size 值依赖 .InputsDataDependency({2})、输入 shape 及合法性检查。旧 V1 测试替换为 14 条实际 V2 注册入口测试,覆盖不同 shape/相同元素数、空与标量 weights、int32/int64 常量 size、动态维/rank、非法输入和重复推导覆盖输出。 这三份文件选取自 [推导迁移 PR #6548](https://gitcode.com/cann/ops-math/pull/6548) 的 e74083196deca466aa0492b904410f9c73ebcf60。只接入 RaggedBinCount,没有接入 MulNoNan、L2Normalize 或 July 任务,原任务分支/PR 保持原状。RaggedBinCount kernel/tiling 未改动。 本 PR 保留已有质量加固:按 [golden 规范](https://gitcode.com/zl_hw/myOpen/issues/2)移除 RaggedBinCount 按用例名切换算法的分支,统一 Torch bincount 并保留 TTK 下发精度;SquareSumAll 输出修为 rank-0、1200 条 CSV 同步修正,不再强制 FP64。两算子示例核对输出数量、dtype、shape、字节数和全部数值。SquareSumAll 无生产代码修改。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3695 ## 测试 <!-- august-local-ci-20261021:start --> ### 2026-10-21 最新提交本地 CI 受测 HEAD:d9ce12b29345e879e47098a556b8cff31a6fe746;主仓 master 快照:d98f2c0ba27be58813200f1a3c9008a092b74ae8。先保留备份并核验 squash 前后同一原始基点的完整二进制 diff 与 tree 一致,再 rebase;当前 PR 相对该主线只有一个提交。 使用指定 /workspace/CI-skills/ci_local_check.sh,本任务独立 CANN_Revise,SOCS=ascend950,ascend910b、JOBS=8,两个仓库顺序执行。统一入口实际输出 pre-commit: PASS 和 定向检查全部通过,退出码 0。完整 PR 静态检查、隔离 OAT、Markdown 链接、示例 SKIP 退出契约和 golden Python 语法检查通过。 | 阶段 | 结果 | 覆盖说明 | | --- | --- | --- | | normal pkg/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal package GE ABI/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal ophost/ascend950 | PASS | 实际运行 127 条 GTest | | normal Host UT GE ABI/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal opapi/ascend950 | PASS | 实际运行 0 条 GTest | | normal opgraph/ascend950 | PASS | 实际运行 1 条 GTest | | normal opkernel/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal pkg/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal package GE ABI/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal ophost/ascend910b | PASS | 实际运行 56 条 GTest | | normal Host UT GE ABI/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal opapi/ascend910b | PASS | 实际运行 0 条 GTest | | normal opgraph/ascend910b | PASS | 实际运行 1 条 GTest | | normal opkernel/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | 0 条用例或只有构建目标通过的阶段不计为单测覆盖;本地 CI 没有新增 NPU/GPU 数值回归,不替代下方历史精度 FAIL、正式整包集成与性能验收。[线上 CI 流水线](https://gitcode.com/CANN/ops-math/actions/runs/9b7d05fbacc5424493fc16f52b4c5216)已由机器人确认启动,结果待返回。 <!-- august-local-ci-20261021:end --> 此前 README 清理时获取的 master:3e45432dc9ed21cd5b00f4fa12c06d9dc7800939;最终 HEAD:066a732fc31b6d00f4402956aa0d27152cb1533c。 本轮仅删除 RaggedBinCount、SquareSumAll README 中新增的通用安装、环境加载、build.sh 运行命令及产物路径说明,共 16 行。保留必要接口/能力修正、原有示例和 IR 链接。相对上一轮受测提交 78ec51268e0ce5254f140906b93072f6c7a21de7,两个算子的生产代码、golden、测例及示例均逐字节未变;完成 diff 检查、文档链接/编码/围栏和渲染检查,没有为删说明重复运行 NPU。 以下为此前注册迁移和数值核实的历史验证,非本轮重跑: 任务独立 Master/Revise CANN,Ascend950PR_9579;真实 GPU A100-PCIE-40GB、Torch 2.14.1+cu130。构建最多 8 jobs;全部 TTK 显式 --pc=1。该轮 TTK 为 3db54be4b479d487ffd44300046ffa664789edea,包含本地比较修复。对应 [TTK PR #483](https://gitcode.com/cann/ops-test-kit/pull/483) 已由用户关闭;下面的 19/19 不能表述为未修改 TTK 主线的通过结果。原比较器结果为 17 PASS、2 FAIL。 - 该轮两算子包构建、安装完成。Ragged Host/Graph UT 为 85+1=86/86,包含新增 14 条 V2 注册 UT;导入生产文件和新测试与来源逐字节一致,没有合并冲突。 - 原 19 条冻结失败实际 GPU 三方 **19/19 PASS**,全部 BINARY_MATCH、TTK OOB 检查 PASS,输入不变。此前两条正确 FP32 舍入结果被误判的比较逻辑已在 [TTK PR #483](https://gitcode.com/cann/ops-test-kit/pull/483)中提交过修复(该 PR 现已关闭),258 项比较测试通过;没有修改本算子 golden、输出或容差。 - 静态/动态 GEIR 分开记录:当前安装周包直接执行 6 例为 **4 PASS、2 EXEC_FAILURE**。trace 确认仍进入旧 libopsproto.so V1,两个 values/weights shape 组合报错。 - 仅隔离 RaggedBinCount 旧 V1 的诊断运行,6 例静态/动态 **12 条路径全部通过**,trace 确认选中当前 custom_math 的原生 V2。canndev 最新源码已有产品隔离,但没有重建正式 canndev 产品包,因此不能把诊断结果当作正式整包集成验收,也没有恢复 V1 规避问题。 - 部署通用自检仍提示 math 分组层缺少 inc/;这两个 kernel 依赖自身头与 CANN 头,已部署 common/,实际目标图编译运行通过。该告警日志保留,不写成全部自检通过。 - 新提交钩子通过。历史验证保留:SquareSumAll 56/56 两方 Kernel;Ragged 4 条、Square 3 条合法静态/动态 GEIR;两个文档示例编译上板并核对全部输出。本轮未重复全量执行。 - SquareSumAll 原 29 条 L2 的历史结果仍为 7 FAIL、22 SKIP,未重现 builtin V1 SIGABRT;框架异常和不支持输入不计作精度 PASS。5 条非法 GEIR受控报错、2 条 BF16 经 GE Cast 的固定数值诊断结果见此前验证。 此前注册迁移阶段未执行完整本地 CI、性能回归或全矩阵三方;本次双平台本地 CI 和线上触发见最新追加记录。旧 CANN 注册的正式整包集成验证仍待完成。 ## 文档更新 按用户要求删除上述两份 README 的冗余环境准备与运行说明,保留必要的动态 shape/接口约束修正、正确产品能力和原有示例链接。示例源码及已经核实的输出检查保持不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!6538 | 18 days ago | |
fix: align square_sum_all formats and ragged_bin_count contracts Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !5108 merge test/ragged-bin-count-default-attr-contract into master fix: align square_sum_all formats and ragged_bin_count contracts Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 本 PR 合并两项相互独立的质量加固: ### RaggedBinCount - 在 Kernel 与 GEIR 永久用例中补齐可选属性 binary_output 不传时使用默认 false 的契约覆盖。 - 修正 Graph IR 公共注释:size 严格为 1D [1] tensor,原生 output 为 FP32。 - 明确公共 REG_OP 保留历史宽 weights/output dtype 声明用于 IR 兼容;当前受支持的原生实现均要求 weights/output 为 FP32。 - 不修改 Host、Tiling、Kernel、Golden、third_party 或注册签名。 ### SquareSumAll(整合原 PR #5107) - 修复 Ascend950 格式注册面与 Host Tiling 实际能力不一致的问题。 - 从 Ascend950 OpDef 和 release binary 配置移除运行时必然拒绝的 FRACTAL_Z、C1HWNCoC0、NC1HWC0 路由。 - 保留 ND→ND、NCHW(rank=4)→ND、NHWC(rank=4)→ND 三种实际支持组合。 - Host Tiling 保留对异常私有格式描述的防御性拒绝。 - 同步修正 README 产品限定、IR rank-0 注释、Host UT 和 GEIR 用例说明。 - 不修改 Kernel 和 Golden,不改变计算、精度或性能路径。 ## 关联的Issue - RaggedBinCount:#2758 - SquareSumAll:无独立 Issue,为上游代码检查发现的质量加固项;原 PR #5107。 ## 测试 ### RaggedBinCount - TTK CSV 校验:Kernel 20/20 valid;GEIR 11/11 valid。 - Kernel release binary:缺省属性用例 1/1 PASS,BINARY_MATCH、close 100%、memory/bin OOB PASS。 - GEIR 显式动态 -d:同轮 CST_BIN、DYN_BIN 各 1/1 PASS,cross-check L1 PASS。 - 当前算子出包产物生成、安装及部署校验通过;两个 kernel 在 build/built-in/vendor 三处 SHA256 一致。 ### SquareSumAll(原提交 360e30f9) - 受影响文件 pre-commit 全部 PASS。 - Host Tiling + InferShape UT:42/42 PASS。 - Kernel/GEIR 用例生成器 --check:1026/174 例一致。 - TTK release binary-only 泛化:1026/1026 精度 PASS、1026/1026 BINARY_MATCH、1026/1026 memory OOB PASS。 - 最新 TTK 93408ab 相关单测:62/62 PASS。 - 最新 TTK kernel 定向:3/3 PASS。 - 最新 TTK GEIR 静态图/动态图定向:3/3 PASS,两路输出均 100%。 ### 合并后检查 - #5107 的 7 文件补丁与原提交 binary diff 哈希一致。 - 已无冲突 rebase 到最新 master,两项修改无文件交集。 - clang-format、ruff、codespell、pre-commit、OAT、远端 Git Hooks 全部通过。 - 按约定未重复执行不受影响的历史全量数值、三方精度和性能集合,也未重新触发平台全量 CI。 ## 文档更新 - 更新 math/ragged_bin_count/op_graph/ragged_bin_count_proto.h 的 size/output 契约说明,不改变公共注册签名。 - 更新 math/square_sum_all/README.md 和 op_graph/square_sum_all_proto.h,使产品支持范围与实际注册、Host 能力一致。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:测试契约加固 See merge request: cann/ops-math!5108 | 2 months ago | |
fix(square_sum_all): preserve square and reduction residuals Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !7040 merge fix/square-sum-all-accurate-reduction into master fix(square_sum_all): preserve square and reduction residuals Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 修复 Ascend 950 SquareSumAll 在 71 元素小归约及 240669576 元素长归约中的三方精度失败。最新主线固定原输入回放时,第二路输出的原 L1 RMSE 比分别为 1.9344、1.5967,超过 1.5。 两条 kernel 路线在平方累计、水平归约及跨核合并中保留 FP32 舍入残差;复用现有 32 字节 workspace 槽位保存高低分量,同步 UB 预算与最小 UB 边界 UT。为全向量计算显式补零尾块,并保留 NaN/Inf 传播及两路输出隔离。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4423 ## 测试 - 发布 binary 固定输入回归 61/61 用例、122/122 输出通过原 cross_check L1;全部 BINARY_MATCH,内存检查全部通过。包含本轮两例失败及历史 seed42–53、两条 kernel 分支、尾块和特殊值。 - 原 golden、A100 FP32 torch.dot 及 L1 容差未修改。 - UB 边界 UT 已同步为 170496 字节,恰好够用和少一字节回退均通过;Ascend 950 Host UT 42/42,A2 公共 shape UT 10/10。最终提交包含该 UT 文件,共 6 个变更文件。 - 仓内精简 ST 19/19、38/38 输出通过原 cross_check L1,真实 A100 原 FP32 Compose 逐文件输入哈希核对并三次重复输出一致;新增一例 71 元素用例,最大规模保持 8193。 - A100 torch.compile 两路 torch.dot 的 Nsight Systems 实测覆盖 25 个规模。按带宽比 1555/1598.4 折算,G/N 最小值 0.2652,高于本次要求 0.1。存在性能回退,共同 55 例耗时比中位数 1.64,最大 4.21。 - 统一入口本地 CI PASS(Ascend 950/A2),受测与远端 SHA fc9c6e6e54bc4a7c15cc4c0e5dfce52523b6e726。线上 CI [compile 评论](https://gitcode.com/cann/ops-math/merge_requests/7040#note_197765066) 已回查,机器人确认[流水线已启动](https://gitcode.com/CANN/ops-math/actions/runs/0e843b2088be48be98b1da8ca91d895d);平台完成结果尚未确认。 ## 文档更新 接口、数学语义和支持范围不变,本次未修改对外文档。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7040 | 7 days ago | |
fix(square_sum_all): preserve square and reduction residuals Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !7040 merge fix/square-sum-all-accurate-reduction into master fix(square_sum_all): preserve square and reduction residuals Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 修复 Ascend 950 SquareSumAll 在 71 元素小归约及 240669576 元素长归约中的三方精度失败。最新主线固定原输入回放时,第二路输出的原 L1 RMSE 比分别为 1.9344、1.5967,超过 1.5。 两条 kernel 路线在平方累计、水平归约及跨核合并中保留 FP32 舍入残差;复用现有 32 字节 workspace 槽位保存高低分量,同步 UB 预算与最小 UB 边界 UT。为全向量计算显式补零尾块,并保留 NaN/Inf 传播及两路输出隔离。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4423 ## 测试 - 发布 binary 固定输入回归 61/61 用例、122/122 输出通过原 cross_check L1;全部 BINARY_MATCH,内存检查全部通过。包含本轮两例失败及历史 seed42–53、两条 kernel 分支、尾块和特殊值。 - 原 golden、A100 FP32 torch.dot 及 L1 容差未修改。 - UB 边界 UT 已同步为 170496 字节,恰好够用和少一字节回退均通过;Ascend 950 Host UT 42/42,A2 公共 shape UT 10/10。最终提交包含该 UT 文件,共 6 个变更文件。 - 仓内精简 ST 19/19、38/38 输出通过原 cross_check L1,真实 A100 原 FP32 Compose 逐文件输入哈希核对并三次重复输出一致;新增一例 71 元素用例,最大规模保持 8193。 - A100 torch.compile 两路 torch.dot 的 Nsight Systems 实测覆盖 25 个规模。按带宽比 1555/1598.4 折算,G/N 最小值 0.2652,高于本次要求 0.1。存在性能回退,共同 55 例耗时比中位数 1.64,最大 4.21。 - 统一入口本地 CI PASS(Ascend 950/A2),受测与远端 SHA fc9c6e6e54bc4a7c15cc4c0e5dfce52523b6e726。线上 CI [compile 评论](https://gitcode.com/cann/ops-math/merge_requests/7040#note_197765066) 已回查,机器人确认[流水线已启动](https://gitcode.com/CANN/ops-math/actions/runs/0e843b2088be48be98b1da8ca91d895d);平台完成结果尚未确认。 ## 文档更新 接口、数学语义和支持范围不变,本次未修改对外文档。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7040 | 7 days ago | |
fix(square_sum_all): preserve square and reduction residuals Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !7040 merge fix/square-sum-all-accurate-reduction into master fix(square_sum_all): preserve square and reduction residuals Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 修复 Ascend 950 SquareSumAll 在 71 元素小归约及 240669576 元素长归约中的三方精度失败。最新主线固定原输入回放时,第二路输出的原 L1 RMSE 比分别为 1.9344、1.5967,超过 1.5。 两条 kernel 路线在平方累计、水平归约及跨核合并中保留 FP32 舍入残差;复用现有 32 字节 workspace 槽位保存高低分量,同步 UB 预算与最小 UB 边界 UT。为全向量计算显式补零尾块,并保留 NaN/Inf 传播及两路输出隔离。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4423 ## 测试 - 发布 binary 固定输入回归 61/61 用例、122/122 输出通过原 cross_check L1;全部 BINARY_MATCH,内存检查全部通过。包含本轮两例失败及历史 seed42–53、两条 kernel 分支、尾块和特殊值。 - 原 golden、A100 FP32 torch.dot 及 L1 容差未修改。 - UB 边界 UT 已同步为 170496 字节,恰好够用和少一字节回退均通过;Ascend 950 Host UT 42/42,A2 公共 shape UT 10/10。最终提交包含该 UT 文件,共 6 个变更文件。 - 仓内精简 ST 19/19、38/38 输出通过原 cross_check L1,真实 A100 原 FP32 Compose 逐文件输入哈希核对并三次重复输出一致;新增一例 71 元素用例,最大规模保持 8193。 - A100 torch.compile 两路 torch.dot 的 Nsight Systems 实测覆盖 25 个规模。按带宽比 1555/1598.4 折算,G/N 最小值 0.2652,高于本次要求 0.1。存在性能回退,共同 55 例耗时比中位数 1.64,最大 4.21。 - 统一入口本地 CI PASS(Ascend 950/A2),受测与远端 SHA fc9c6e6e54bc4a7c15cc4c0e5dfce52523b6e726。线上 CI [compile 评论](https://gitcode.com/cann/ops-math/merge_requests/7040#note_197765066) 已回查,机器人确认[流水线已启动](https://gitcode.com/CANN/ops-math/actions/runs/0e843b2088be48be98b1da8ca91d895d);平台完成结果尚未确认。 ## 文档更新 接口、数学语义和支持范围不变,本次未修改对外文档。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7040 | 7 days ago | |
Math仓算子适配Ascend350平台 Co-authored-by: huairuchen<chenhuairu@huawei.com> # message auto-generated for no-merge-commit merge: !6372 merge dvlite-math-350-adapt into master Math仓算子适配Ascend350平台 Created-by: huairuchen Commit-by: huairuchen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Math仓部分随机数算子在350平台进行适配 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/4202 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 算子泛化测试,冒烟测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6372 | 12 days ago | |
fix: 迁移 RaggedBinCount V2 推导并规范两算子 golden Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !6538 merge fix/august-golden-quality into master fix: 迁移 RaggedBinCount V2 推导并规范两算子 golden Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 RaggedBinCount 删除原生 V1 shape 实现及注册,由已有 runtime V2 推导接管;保留 size 值依赖 .InputsDataDependency({2})、输入 shape 及合法性检查。旧 V1 测试替换为 14 条实际 V2 注册入口测试,覆盖不同 shape/相同元素数、空与标量 weights、int32/int64 常量 size、动态维/rank、非法输入和重复推导覆盖输出。 这三份文件选取自 [推导迁移 PR #6548](https://gitcode.com/cann/ops-math/pull/6548) 的 e74083196deca466aa0492b904410f9c73ebcf60。只接入 RaggedBinCount,没有接入 MulNoNan、L2Normalize 或 July 任务,原任务分支/PR 保持原状。RaggedBinCount kernel/tiling 未改动。 本 PR 保留已有质量加固:按 [golden 规范](https://gitcode.com/zl_hw/myOpen/issues/2)移除 RaggedBinCount 按用例名切换算法的分支,统一 Torch bincount 并保留 TTK 下发精度;SquareSumAll 输出修为 rank-0、1200 条 CSV 同步修正,不再强制 FP64。两算子示例核对输出数量、dtype、shape、字节数和全部数值。SquareSumAll 无生产代码修改。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3695 ## 测试 <!-- august-local-ci-20261021:start --> ### 2026-10-21 最新提交本地 CI 受测 HEAD:d9ce12b29345e879e47098a556b8cff31a6fe746;主仓 master 快照:d98f2c0ba27be58813200f1a3c9008a092b74ae8。先保留备份并核验 squash 前后同一原始基点的完整二进制 diff 与 tree 一致,再 rebase;当前 PR 相对该主线只有一个提交。 使用指定 /workspace/CI-skills/ci_local_check.sh,本任务独立 CANN_Revise,SOCS=ascend950,ascend910b、JOBS=8,两个仓库顺序执行。统一入口实际输出 pre-commit: PASS 和 定向检查全部通过,退出码 0。完整 PR 静态检查、隔离 OAT、Markdown 链接、示例 SKIP 退出契约和 golden Python 语法检查通过。 | 阶段 | 结果 | 覆盖说明 | | --- | --- | --- | | normal pkg/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal package GE ABI/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal ophost/ascend950 | PASS | 实际运行 127 条 GTest | | normal Host UT GE ABI/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal opapi/ascend950 | PASS | 实际运行 0 条 GTest | | normal opgraph/ascend950 | PASS | 实际运行 1 条 GTest | | normal opkernel/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal pkg/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal package GE ABI/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal ophost/ascend910b | PASS | 实际运行 56 条 GTest | | normal Host UT GE ABI/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal opapi/ascend910b | PASS | 实际运行 0 条 GTest | | normal opgraph/ascend910b | PASS | 实际运行 1 条 GTest | | normal opkernel/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | 0 条用例或只有构建目标通过的阶段不计为单测覆盖;本地 CI 没有新增 NPU/GPU 数值回归,不替代下方历史精度 FAIL、正式整包集成与性能验收。[线上 CI 流水线](https://gitcode.com/CANN/ops-math/actions/runs/9b7d05fbacc5424493fc16f52b4c5216)已由机器人确认启动,结果待返回。 <!-- august-local-ci-20261021:end --> 此前 README 清理时获取的 master:3e45432dc9ed21cd5b00f4fa12c06d9dc7800939;最终 HEAD:066a732fc31b6d00f4402956aa0d27152cb1533c。 本轮仅删除 RaggedBinCount、SquareSumAll README 中新增的通用安装、环境加载、build.sh 运行命令及产物路径说明,共 16 行。保留必要接口/能力修正、原有示例和 IR 链接。相对上一轮受测提交 78ec51268e0ce5254f140906b93072f6c7a21de7,两个算子的生产代码、golden、测例及示例均逐字节未变;完成 diff 检查、文档链接/编码/围栏和渲染检查,没有为删说明重复运行 NPU。 以下为此前注册迁移和数值核实的历史验证,非本轮重跑: 任务独立 Master/Revise CANN,Ascend950PR_9579;真实 GPU A100-PCIE-40GB、Torch 2.14.1+cu130。构建最多 8 jobs;全部 TTK 显式 --pc=1。该轮 TTK 为 3db54be4b479d487ffd44300046ffa664789edea,包含本地比较修复。对应 [TTK PR #483](https://gitcode.com/cann/ops-test-kit/pull/483) 已由用户关闭;下面的 19/19 不能表述为未修改 TTK 主线的通过结果。原比较器结果为 17 PASS、2 FAIL。 - 该轮两算子包构建、安装完成。Ragged Host/Graph UT 为 85+1=86/86,包含新增 14 条 V2 注册 UT;导入生产文件和新测试与来源逐字节一致,没有合并冲突。 - 原 19 条冻结失败实际 GPU 三方 **19/19 PASS**,全部 BINARY_MATCH、TTK OOB 检查 PASS,输入不变。此前两条正确 FP32 舍入结果被误判的比较逻辑已在 [TTK PR #483](https://gitcode.com/cann/ops-test-kit/pull/483)中提交过修复(该 PR 现已关闭),258 项比较测试通过;没有修改本算子 golden、输出或容差。 - 静态/动态 GEIR 分开记录:当前安装周包直接执行 6 例为 **4 PASS、2 EXEC_FAILURE**。trace 确认仍进入旧 libopsproto.so V1,两个 values/weights shape 组合报错。 - 仅隔离 RaggedBinCount 旧 V1 的诊断运行,6 例静态/动态 **12 条路径全部通过**,trace 确认选中当前 custom_math 的原生 V2。canndev 最新源码已有产品隔离,但没有重建正式 canndev 产品包,因此不能把诊断结果当作正式整包集成验收,也没有恢复 V1 规避问题。 - 部署通用自检仍提示 math 分组层缺少 inc/;这两个 kernel 依赖自身头与 CANN 头,已部署 common/,实际目标图编译运行通过。该告警日志保留,不写成全部自检通过。 - 新提交钩子通过。历史验证保留:SquareSumAll 56/56 两方 Kernel;Ragged 4 条、Square 3 条合法静态/动态 GEIR;两个文档示例编译上板并核对全部输出。本轮未重复全量执行。 - SquareSumAll 原 29 条 L2 的历史结果仍为 7 FAIL、22 SKIP,未重现 builtin V1 SIGABRT;框架异常和不支持输入不计作精度 PASS。5 条非法 GEIR受控报错、2 条 BF16 经 GE Cast 的固定数值诊断结果见此前验证。 此前注册迁移阶段未执行完整本地 CI、性能回归或全矩阵三方;本次双平台本地 CI 和线上触发见最新追加记录。旧 CANN 注册的正式整包集成验证仍待完成。 ## 文档更新 按用户要求删除上述两份 README 的冗余环境准备与运行说明,保留必要的动态 shape/接口约束修正、正确产品能力和原有示例链接。示例源码及已经核实的输出检查保持不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!6538 | 18 days ago |
SquareSumAll
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | √ |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | √ |
功能说明
-
算子功能:对两个形状相同的输入张量
x1、x2分别求全元素平方和,输出两个标量y1、y2。 -
计算公式:
y1=∑i=0N−1x1,i2,y2=∑i=0N−1x2,i2y_1=\sum_{i=0}^{N-1}x_{1,i}^{2},\qquad y_2=\sum_{i=0}^{N-1}x_{2,i}^{2} y1=i=0∑N−1x1,i2,y2=i=0∑N−1x2,i2
其中 NNN 为输入张量的元素总数。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x1 | 输入 | 表示第一路待求平方和的张量,对应公式中的x1。 | FLOAT | FRACTAL_Z、C1HWNCoC0、NC1HWC0、ND、NCHW、NHWC |
| x2 | 输入 | 表示第二路待求平方和的张量,对应公式中的x2。 | FLOAT | FRACTAL_Z、C1HWNCoC0、NC1HWC0、ND、NCHW、NHWC |
| y1 | 输出 |
|
FLOAT | FRACTAL_Z、C1HWNCoC0、NC1HWC0、ND |
| y2 | 输出 |
|
FLOAT | FRACTAL_Z、C1HWNCoC0、NC1HWC0、ND |
产品差异说明
下表中的“输入格式→输出格式”同时适用于x1→y1和x2→y2,两路输入必须使用相同的数据格式。
| 产品 | 静态shape格式组合 | 动态shape格式组合 | rank限制 |
|---|---|---|---|
| Ascend 950PR&950DT系列产品 | ND→ND、NCHW→ND、NHWC→ND | ND→ND、NCHW→ND、NHWC→ND | ND输入的rank取值范围为[0, 8];NCHW、NHWC输入的rank必须为4。 |
| Atlas A3系列产品 Atlas A2系列产品 Atlas 200I/500 A2推理产品 Atlas推理系列产品 Atlas训练系列产品 |
FRACTAL_Z→FRACTAL_Z、C1HWNCoC0→C1HWNCoC0、NC1HWC0→NC1HWC0、ND→ND | ND→ND | 输入的rank取值范围为[0, 8]。 |
约束说明
-
图编译期用
-1表示未知维度、[-2]表示未知rank;两个输出始终为rank-0标量。执行期须先解析输入shape,再满足下述非空、同shape及格式约束。 -
x1与x2不支持空Tensor;rank为0时表示含1个元素的标量输入,rank大于0时每一维长度必须大于0。
-
x1与x2的执行期rank及每一维长度必须完全相同,不支持广播。shape
[2, 3]与[6]即使元素数相同也不合法。 -
算子节点的四个参数均须使用FLOAT类型,数据格式必须满足产品差异说明中的合法组合。
-
NaN、Inf及有限值平方上溢按FLOAT语义自然传播;两路累加器与两个输出互不污染,
x1中的非有限值不会影响y2,反之亦然。 -
本算子仅提供GE图模式注册,构建配置为
aclnn_exclude,不提供aclnn接口。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| 图模式调用 | test_geir_square_sum_all | 通过算子IR构图方式调用SquareSumAll算子。 |