当前位置: 首页 > news >正文

CANN/mat-chem-sim-pred:PID FOPDT 基础 GEMM 拟合基准测试

PidFopdtBasisGemmFit 测试报告

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

测试环境

  • 设备:Ascend910B3,device 3
  • 机器:node202
  • 构建:cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DSOC_VERSION=Ascend910B3
  • CPU 基线:64 线程完整 fit,包含dot = y_centered @ basis_t和 best reduce

测试命令

source /usr/local/Ascend/ascend-toolkit/set_env.sh cd prediction/ProcessControl/PIDModelFit/pid_fopdt_basis_gemm_fit cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DSOC_VERSION=Ascend910B3 cmake --build build -j 2 export LD_LIBRARY_PATH="$PWD/build:$PWD/build/lib:${LD_LIBRARY_PATH:-}" ./build/test_aclnn_pid_fopdt_basis_gemm_fit 3 ./build/benchmark_pid_fopdt_basis_gemm_pipeline 3 64 1024 256 5 2 64

正确性

smoke 已通过:

PidFopdtBasisGemmFit smoke best_sse=[1, 12] best_k=[1.5, 2] best_idx=[2, 1] PASSED

pipeline benchmark 与 CPU reference 对比:

max_abs_sse=0.00378418 max_rel_sse=0.00378418 max_abs_k=1.54972e-06 idx_diff_count=0

性能结果

B=64,N=1024,M=256

口径耗时对 CPU 64T 加速比
CPU 64T 完整 fit8.74037 ms1.00x
NPU resident e2e0.303587 ms28.79x
NPU cold e2e0.989354 ms8.83x

FOPDT 扩展规模:

配置CPU 64T 完整 fitNPU resident e2eNPU cold e2eresident 加速比cold 加速比
B=128,N=1024,M=51228.6413 ms0.308415 ms1.52882 ms92.87x18.73x
B=256,N=1024,M=51255.6340 ms0.306237 ms1.06366 ms181.67x52.30x
B=128,N=2048,M=51261.8390 ms0.371604 ms1.00696 ms166.41x61.41x

口径说明

  • resident e2e:输入已在 Device,只统计aclnnMatmul + custom reduce + best result D2H
  • cold e2e:统计输入 H2D、aclnnMatmul + custom reduce和 best result D2H。
  • dot[B, M]常驻 Device,不回传 Host,直接作为 reduce 算子的输入。

结论

FOPDT basis-GEMM pipeline 在 resident 和 cold e2e 两种口径下均显著快于 CPU 64 线程完整 fit,适合作为多回路、多候选 PID 模型辨识的 NPU 主线实现。

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

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

http://www.jsqmd.com/news/1124365/

相关文章:

  • 解密AI文档解析:3种高效处理复杂PDF的实战指南
  • WechatDecrypt解密工具:3步解锁你的加密微信聊天记录
  • 基于PyTorch的飞行昆虫深度学习识别系统开发
  • YOLOv4 网络结构实战:基于PyTorch 1.12 复现SPP与PANet模块
  • AI加速分子模拟:FAIR Chemistry OCP的完整解决方案与技术深度解析
  • 快速上手openeuler/riscv-kernel:5分钟搭建RISC-V统一内核开发环境
  • 如何快速掌握开源机械臂OpenArm:面向初学者的完整入门指南
  • Instatic静态网站PWA图标生成与配置完全指南
  • Pyfa终极教程:EVE Online舰船配装助手的完整使用指南
  • JHenTai项目构建与发布:从开发到上线的完整流程指南
  • Selenium2Library高级技巧:构建健壮高效的Robot Framework UI自动化测试
  • 技术实现深度解析:TrollFools MachO文件注入与iOS插件管理架构
  • 15分钟搞定黑苹果配置:OpCore Simplify让OpenCore EFI生成变简单
  • 基于深度学习的军事目标识别:从YOLO模型训练到TensorRT部署全流程实战
  • 使用PowerShell脚本深度优化Windows系统:禁用遥测、移除广告与AI集成
  • 7个核心功能揭秘:如何用CyberStrikeAI让安全测试像聊天一样简单
  • OpenCore Legacy Patcher终极指南:三步让老款Mac免费升级最新macOS
  • Runbook与SSHKit集成:安全远程服务器管理完全手册
  • FAIR Chemistry UMA模型:秒级催化材料筛选的AI革命
  • 如何为openeuler/riscv-kernel贡献代码:新手贡献者必读的10个步骤
  • 避免内存泄漏:Each定时器库的3种内存管理技巧与最佳实践
  • 如何使用DraggableContainer实现Vue3DraggableResizable元素吸附对齐
  • 告别混乱命名!E-Hentai-Downloader文件名自定义完全指南
  • Faro-Qwen-1.8B:如何用1.8B参数实现100K上下文长度的AI奇迹?[特殊字符]
  • Artoken 套件 OAuth 令牌劫持 M365 钓鱼攻击与闭环防御研究
  • Azure Functions Durable Extension开发者指南:从配置到部署的完整流程
  • Twitter API PHP 项目推荐
  • 5分钟学会Ventoy启动界面美化:打造个性化U盘启动盘
  • 如何免费提升BT下载速度:89个公共Tracker配置完整指南
  • STM32L021K4与DS28EC20 1-Wire EEPROM嵌入式存储方案详解