| Files | Last commit | Last update |
|---|---|---|
perf(square_sum_all): improve GPU alignment and precision coverage Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !4960 merge fix/square-sum-all-fp64-golden into master perf(square_sum_all): improve GPU alignment and precision coverage Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 SquareSumAll 原有 golden 在 FP64 完成平方和归约后又将结果降回 FP32,导致高精度参考值被量化。本 PR 保留 FP64 golden,并对大规模输入的归约拓扑和测试覆盖进行优化。 - N >= 8192 时使用 tiling key 1,采用 128 元素 grid-stride partial、分批输入搬运和显式 FP32 FMA 归约树,尽量对齐 GPU 累加顺序;较小输入保留原 key 0。 - Host Tiling 统一规划 UB、workspace、partial 数量和 uint16_t chunkCount 边界;超出安全范围时回退 key 0。 - 新增 GPU 对齐 Kernel 和 tiling key 定义,并扩充 Host Tiling 边界 UT。 - Kernel TTK 用例扩充至 1026 条,GEIR 用例扩充至 174 条;NCHW、NHWC 各增加 12 条分层用例。 - 修正生成器中的 key 1 最大元素数说明,使其与 Host/UT 的 14,495,293,440 元素边界一致。 - 修正 README 中 Atlas 200I/500 A2 的既有支持状态,并更新 dtype-aware cross-check 说明。 ## 关联的Issue 无。 ## 测试 - pre-commit:PASS。 - Ascend 950 Host UT:42/42 PASS。 - Ascend 950 单算子出包:PASS,ND/NCHW/NHWC/FRACTAL_Z/C1HWNCoC0/NC1HWC0 六个 Kernel binary 编译成功。 - 最终重新编译的六个 .o 与实体 TTK 已部署版本逐文件 SHA-256 一致。 - Kernel CSV 生成检查:1026 条,generated_csv_is_current=yes。 - GEIR CSV 生成检查:174 条,generated_csv_is_current=yes。 - 产品 direct kernel 与目标归约拓扑:连续三轮共 600 个输出,600/600 bitwise 一致。 - 最新 TTK release 100 例: - BINARY_MATCH:100/100。 - 原生 cross-check:86/100 case、185/200 output PASS。 - 剩余 15 个红输出仅由单元素标量 rmse ratio > 1.5 触发。 - 红项涉及的 28 个输出按正式 FP32 混合容差复核:28/28 PASS,最大绝对误差 0.002917343。 - 实体性能 200 例链式结果:folded G/N mean=2.239667、min=1.049003,满足 mean>=1.2、min>=0.1。 - TTK 本轮 BIN_PERF 仍为 UNKNOWN,因此性能结论来自实体 direct-kernel 夹测与发布基线逐例投影,不表述为 TTK release binary 直接计时。 - 提交前代码检查及独立盲审:无高风险或中风险阻塞项。 ## 文档更新 更新 README 产品支持表、golden cross-check 精度说明,以及 TTK 生成器中的 key 1 路由边界说明。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4960 | 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 | 9 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 | 9 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 | 9 days ago | |
feat(square_sum_all): add Ascend 950 support for ND, NCHW and NHWC Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !4555 merge feature/square-sum-all-ascend950 into master feat(square_sum_all): add Ascend 950 support for ND, NCHW and NHWC Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 - 新增 SquareSumAll 的 Ascend 950 / arch35 实现,分别计算两个同 shape FP32 张量的全元素平方和,输出两个 FP32 标量。 - 补齐 GE 图注册、InferShape/InferDataType、Host Tiling、RegBase Kernel、binary 配置及测试资产。 - Ascend 950 当前对外支持以下格式: - ND 输入对应 ND 输出,输入 rank 范围为 [0, 8]。 - NCHW、NHWC 输入必须为 rank 4,输出统一为 ND。 - x1、x2 必须同 shape、同格式,不支持广播和空 Tensor。 - Ascend 950 当前不支持 FRACTAL_Z、C1HWNCoC0、NC1HWC0。Host Tiling 会在 shape 校验和 Kernel 执行前提前拒绝。 - 私有格式对应的注册、6 条 binary 路由和 Kernel 实现资产继续保留,便于后续按版本放开,但本版本不声明支持。 - 跨核归约使用独占 workspace 和固定顺序合并,不使用原子累加。 - 本算子仅支持 GE 图模式,构建配置为 aclnn_exclude,不提供 aclnn 接口。 ## 关联的Issue #2754 ## 测试 - Host UT:36/36 PASS,其中 Tiling 26 条、InferShape 10 条;覆盖 ND/NCHW/NHWC 正向路径、三个私有格式拦截及非法格式组合。 - Ascend 950 release 包构建和部署成功,Host SO 校验一致,6 组 .o/.json binary 资产保留。 - TTK Kernel release: - NCHW、NHWC 两条公有格式用例 2/2 PASS。 - 均命中对应 binary,双输出精度 100%,内存检查通过。 - 私有格式负向板测: - NC1HWC0 binary 保持可匹配。 - Host Tiling 随后按预期返回 OPTILING_FAILURE / INVALID_TILING,Kernel 未执行。 - TTK GEIR:NCHW、NHWC 全链路 2/2 PASS,双输出精度均为 100%。 - 测试生成物一致性检查通过:Kernel 1004 条、GEIR 152 条;正向用例不包含私有格式。 - pre-commit、clang-format、ruff、codespell、OAT 和 README 链接检查全部通过。 ## 文档更新 - 更新 math/square_sum_all/README.md,仅声明 ND、NCHW、NHWC,并明确三个私有格式当前不支持、后续可能放开。 - 更新 docs/zh/op_list.md,登记 SquareSumAll。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4555 | 2 months ago | |
perf(square_sum_all): improve GPU alignment and precision coverage Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !4960 merge fix/square-sum-all-fp64-golden into master perf(square_sum_all): improve GPU alignment and precision coverage Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 SquareSumAll 原有 golden 在 FP64 完成平方和归约后又将结果降回 FP32,导致高精度参考值被量化。本 PR 保留 FP64 golden,并对大规模输入的归约拓扑和测试覆盖进行优化。 - N >= 8192 时使用 tiling key 1,采用 128 元素 grid-stride partial、分批输入搬运和显式 FP32 FMA 归约树,尽量对齐 GPU 累加顺序;较小输入保留原 key 0。 - Host Tiling 统一规划 UB、workspace、partial 数量和 uint16_t chunkCount 边界;超出安全范围时回退 key 0。 - 新增 GPU 对齐 Kernel 和 tiling key 定义,并扩充 Host Tiling 边界 UT。 - Kernel TTK 用例扩充至 1026 条,GEIR 用例扩充至 174 条;NCHW、NHWC 各增加 12 条分层用例。 - 修正生成器中的 key 1 最大元素数说明,使其与 Host/UT 的 14,495,293,440 元素边界一致。 - 修正 README 中 Atlas 200I/500 A2 的既有支持状态,并更新 dtype-aware cross-check 说明。 ## 关联的Issue 无。 ## 测试 - pre-commit:PASS。 - Ascend 950 Host UT:42/42 PASS。 - Ascend 950 单算子出包:PASS,ND/NCHW/NHWC/FRACTAL_Z/C1HWNCoC0/NC1HWC0 六个 Kernel binary 编译成功。 - 最终重新编译的六个 .o 与实体 TTK 已部署版本逐文件 SHA-256 一致。 - Kernel CSV 生成检查:1026 条,generated_csv_is_current=yes。 - GEIR CSV 生成检查:174 条,generated_csv_is_current=yes。 - 产品 direct kernel 与目标归约拓扑:连续三轮共 600 个输出,600/600 bitwise 一致。 - 最新 TTK release 100 例: - BINARY_MATCH:100/100。 - 原生 cross-check:86/100 case、185/200 output PASS。 - 剩余 15 个红输出仅由单元素标量 rmse ratio > 1.5 触发。 - 红项涉及的 28 个输出按正式 FP32 混合容差复核:28/28 PASS,最大绝对误差 0.002917343。 - 实体性能 200 例链式结果:folded G/N mean=2.239667、min=1.049003,满足 mean>=1.2、min>=0.1。 - TTK 本轮 BIN_PERF 仍为 UNKNOWN,因此性能结论来自实体 direct-kernel 夹测与发布基线逐例投影,不表述为 TTK release binary 直接计时。 - 提交前代码检查及独立盲审:无高风险或中风险阻塞项。 ## 文档更新 更新 README 产品支持表、golden cross-check 精度说明,以及 TTK 生成器中的 key 1 路由边界说明。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4960 | 2 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 2 months ago | ||
| 9 days ago | ||
| 9 days ago | ||
| 9 days ago | ||
| 2 months ago | ||
| 2 months ago |