| Files | Last commit | Last update |
|---|---|---|
refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6053 merge ccc_0929 into master refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 对 add、mul、pow、real_div、sub 五个数学算子的代码进行统一的代码风格规范化(clang-format),包括: - 统一命名空间/类的括号风格与缩进 - 统一指针、引用修饰符位置(如 const char* const) - 规范函数声明与调用的换行对齐 - 统一注释风格及文件结尾换行符 - 修正 real_div 配置注释中的拼写错误(build-in → built-in) 本次改动仅涉及代码格式调整,不包含任何功能或逻辑变更。 ## 关联的Issue - #3464 ## 测试 无功能变更,仅代码格式调整,未新增测试。 ## 文档更新 无。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码风格规范化 See merge request: cann/ops-math!6053 | 29 days ago | |
refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6053 merge ccc_0929 into master refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 对 add、mul、pow、real_div、sub 五个数学算子的代码进行统一的代码风格规范化(clang-format),包括: - 统一命名空间/类的括号风格与缩进 - 统一指针、引用修饰符位置(如 const char* const) - 规范函数声明与调用的换行对齐 - 统一注释风格及文件结尾换行符 - 修正 real_div 配置注释中的拼写错误(build-in → built-in) 本次改动仅涉及代码格式调整,不包含任何功能或逻辑变更。 ## 关联的Issue - #3464 ## 测试 无功能变更,仅代码格式调整,未新增测试。 ## 文档更新 无。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码风格规范化 See merge request: cann/ops-math!6053 | 29 days ago | |
Mul AICPU kernel 内存优化及边界修复 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !5442 merge fix/mul-aicpu-memory into master Mul AICPU kernel 内存优化及边界修复 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 本 PR 优化 Mul AICPU 同 dtype 路径,并修复边界行为: - 使用定长广播计划和 flat、短内维 tile、stride 三条直接写出引擎替代 Eigen Tensor 广播,消除随输出规模增长的临时张量。 - 14 种 dtype 使用 NEON/SSE2 与标量尾部;复数块、尾、左右 scalar 和双向 tile 使用同一四乘式及操作数顺序。 - uint16 提升到 uint32_t 后乘;有符号整数显式保留低位,避免整数提升 UB 和 -ftrapv 中止。 - 校验 rank、负维、shape 乘积和输出广播 shape,并覆盖合法原地别名;x86 host const 的 float stride driver 精确关闭 ivopts,规避旧 GCC ICE。 - CodeCheck 跟进:合并两段重复坐标进位循环;将超大 GetMulDiffTypeCalls() 拆为 11 个短 row builder 并保留延迟初始化;UT 位模式转换改为检查返回值的 memcpy_s;混合 dtype 110 个映射逐项不变。 ## 关联的 Issue #3024(Greater / SplitV / Mul AICPU kernel 内存优化) ## 最终实测 基线固定为 canndev 最新 origin/master ad5b00d92f9b958189123c8d576517662c23a60c 的 Mul;本 PR 最终源码为最新 ops-math master 上的单提交。 ### 精度与安全 | 验证集 | 结果 | |---|---| | 常规同 dtype | 30 shape x 14 dtype,420/420 与 canndev 输出逐位一致 | | 混合 dtype | 20/20 kernel 成功且独立正确性标志通过 | | ARM 特殊值 | 420/420 候选成功;34 个基线结果差异档与 26 个基线 -ftrapv 中止档共 60/60 与 Torch 2.7.1+cpu 逐元素一致 | | uint16 边界 | 46340、46341、65535;覆盖 scalar、向量块、尾、广播、tile、stride | | 严格编译 | -O2 -Wall -Wextra -Werror -ftrapv 通过 | 最终 cpp 在 aarch64 GCC 13.3.0 下编译成功,未复现旧 GCC ICE;ARM 常规值 420/420 与 canndev 逐位一致,heap 420/420 无上升。 ### 性能 Kunpeng-920 aarch64,GCC 13.3.0,生产参数 -O2 -std=c++17 -ftrapv、ABI=0,固定 CPU3;baseline/candidate 使用相同编译链和交错 ABBA 顺序。比值为 candidate/canndev,严格门槛为 95% 区间上界不超过 1/0.97=1.03093。 | 批次 | 覆盖 | 直接通过 | 复测 | FAIL | 最终未决 | 点估计范围 | |---|---:|---:|---:|---:|---:|---:| | 同 dtype 完整矩阵 | 294 档 x 6 轮 | 288 | 6 | 0 | 0 | 0.00721-1.03693 | | 混合 dtype | 20 档 x 6 轮 + 32 轮复测 | 16 | 4 | 0 | 0 | 最终 0.71578-0.97685 | 6 个未决档均追加独立 32 轮 A/B 与同档 32 轮 canndev A/A;5 档直接通过。唯一剩余的 same_mid/uint64 32 轮为 1.01496 [0.99854, 1.03166],因上界仍高于门槛 0.00073,继续追加独立 128 轮,最终为 1.00642 [0.99945, 1.01345]。最终 PASS=294、FAIL=0、UNRESOLVED=0。 混合 dtype 六轮有 4 档因区间过宽进入复测;完整 20 档追加 32 轮后 20/20 通过,最大区间上界 1.00807,最终 PASS=20、FAIL=0、UNRESOLVED=0。 本地 x86 全矩阵 A/A 对同一 canndev 二进制仍产生 1 档假“超过 3% 回退”,因此该批 x86 数据只作诊断,不参与放行结论,也未从 A/B 中扣减 A/A。 ### 内存与体积 - ARM malloc 族探针:同 dtype 420/420 的峰值、分配次数和退出保留量均未上升,候选峰值 352-680 B、基线 352-43,488 B;混合 dtype 20/20 候选峰值 376-464 B、基线 376-488 B,分配次数 20/20 减少,正确性标志 20/20 为 1。 - 输出元素从 1,536 扫到 15,360,000,候选额外堆峰值恒为 400 B。 - 6 个进程 RSS 场景各 32 轮:5 档显著下降,mixed20 与基线等价;大张量 sweep_15360000/complex128 中位数由 487,274 KiB 降至 486,924 KiB。 - 相同 x86 编译参数下 kernel 对象 text 下降 90.000%。 6 个进程 RSS 场景各 32 轮的最终结果: | shape / dtype | canndev KiB | final KiB | final / canndev | 95% CI | |---|---:|---:|---:|---:| | same_mid / float | 63,748 | 63,430 | 0.9951 | [0.9943, 0.9958] | | same_mid / double | 120,124 | 119,858 | 0.9979 | [0.9975, 0.9983] | | inner_bcast_C3 / uint16 | 8,190 | 7,616 | 0.9353 | [0.9303, 0.9404] | | rank8_alt / complex128 | 8,324 | 7,986 | 0.9595 | [0.9537, 0.9654] | | sweep_15360000 / complex128 | 487,274 | 486,924 | 0.9993 | [0.9992, 0.9994] | | mixed20 | 7,464 | 7,472 | 0.9964 | [0.9908, 1.0019] | ### 端到端上板 - 最终三文件上传后在 aarch64 重新执行原生 AICPU UT,46/46 通过。 - build.sh --pkg、独立安装和构建库/安装库一致性检查通过。 - 910B3 graph 使用 uint16 覆盖 11 条执行路径,11/11 输出正确;11 条日志同时包含 aicpu_custom_scheduler、最终 mul_aicpu.cpp:1328 和 DT_UINT16。 - eager 使用 double,1/1 输出正确;日志统计 MulAiCpu=62、MulAiCore=0,并命中最终 kernel 的 DT_DOUBLE 日志。 - 临时 example dtype 修改已恢复,不在 PR 文件中。 ### UT 与门禁 - ops-math AICPU UT:46/46。 - pre-commit:提交前、提交时、提交后二次运行均通过;OAT 3/3 文件通过。 - CodeCheck 本地门禁:重复块、50 NBNC、危险 API、G.CNS.02-CPP、格式、git diff --check 与 -ftrapv 专项均通过。 - PR 仅包含一个提交和 mul_aicpu.cpp、mul_aicpu.h、test_mul_aicpu.cpp 三个文件;验证报告未提交。 - 最终 head de77b55fb5e2 的 workflow f5cda8b904fb450fbc71e060c7b457d9 已完成,PR 标签为 ci-pipeline-passed;当前 mergeable=true、conflict_passed=true。 ## 文档更新 无仓内文档改动;详细验证报告和原始数据仅保留在仓外。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5442 | 1 month ago | |
refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6053 merge ccc_0929 into master refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 对 add、mul、pow、real_div、sub 五个数学算子的代码进行统一的代码风格规范化(clang-format),包括: - 统一命名空间/类的括号风格与缩进 - 统一指针、引用修饰符位置(如 const char* const) - 规范函数声明与调用的换行对齐 - 统一注释风格及文件结尾换行符 - 修正 real_div 配置注释中的拼写错误(build-in → built-in) 本次改动仅涉及代码格式调整,不包含任何功能或逻辑变更。 ## 关联的Issue - #3464 ## 测试 无功能变更,仅代码格式调整,未新增测试。 ## 文档更新 无。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码风格规范化 See merge request: cann/ops-math!6053 | 29 days ago |
| Files | Last commit | Last update |
|---|---|---|
| 29 days ago | ||
| 29 days ago | ||
| 1 month ago | ||
| 29 days ago |