CANN PID调优规则批处理基准测试
2026/7/4 21:32:13 网站建设 项目流程

PidTuningRuleBatch Benchmark Report

【免费下载链接】mat-chem-sim-pred面向工业领域,聚焦计算仿真、预测两大核心场景,构建面向流程工业"机理+数据"双轮驱动的领域计算层,推动AI for Science在材料化学领域的深度应用。项目地址: https://gitcode.com/cann/mat-chem-sim-pred

测试环境

  • NPU 环境:node202
  • SOC:Ascend910B3
  • NPU device:3
  • CANN:/usr/local/Ascend/ascend-toolkit
  • CPU 对比线程数:64
  • 数据类型:float32

测试口径

  • cpu_single_ms:单线程 C++ reference。
  • cpu_64_ms:64 线程 C++ reference。
  • npu_kernel_ms:输入已在 Device,仅统计算子执行时间。
  • npu_e2e_ms:包含 4 个输入 H2D、kernel、2 个输出 D2H。

输出:

pid_params[B, 3, 3] # Kp, Ki, Kd diagnostics[B, 3, 4] # valid, dead_time_ratio, aggressiveness, lambda_ratio

正确性

Smoke:

PidTuningRuleBatch smoke passed.

Python reference 覆盖:

  • vectorized reference 与逐条 loop reference 对齐。
  • 固定手算工况校验 Ziegler-Nichols、IMC、Cohen-Coon 输出。
  • 无效输入被过滤,pid_params清零且valid=0
  • 输出 shape 与有限性检查通过。

NPU 版本采用单核 launch 写回pid_params/diagnostics,避免轻量标量SetValue多核写同一 cache line 时可能出现的写回一致性问题;这类规则整定计算本身很轻,单核写回对 E2E 主链影响很小。

性能数据

BCPU singleCPU 64TNPU kernelNPU e2ee2e/CPU64
40960.275839 ms0.455669 ms0.0947986 ms0.170780 ms2.67x
81920.561186 ms0.525737 ms0.188849 ms0.261154 ms2.01x
163841.11962 ms0.905922 ms0.179909 ms0.248650 ms3.64x
655365.10277 ms0.503638 ms0.602354 ms1.38543 ms0.36x
26214424.7467 ms0.724268 ms2.35919 ms4.96856 ms0.15x
104857685.5412 ms3.31345 ms9.32408 ms26.1733 ms0.13x

结论

PidTuningRuleBatch是低算术强度的闭式公式算子。小 batch 下 NPU e2e 可以快于 CPU 64T;大 batch 下 CPU 多线程对这类简单公式已经很高效,单独调用时 NPU e2e 并不总是占优。

因此该算子的推荐定位是 FOPDT E2E 链路中的 device-side 候选生成阶段,而不是独立性能卖点。真正决定整定链路性能的阶段仍是 basis-GEMM 模型辨识、批量闭环 rollout 和后续融合指标计算。

【免费下载链接】mat-chem-sim-pred面向工业领域,聚焦计算仿真、预测两大核心场景,构建面向流程工业"机理+数据"双轮驱动的领域计算层,推动AI for Science在材料化学领域的深度应用。项目地址: https://gitcode.com/cann/mat-chem-sim-pred

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询