You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyTorch C++ 1.5.1在Ubuntu aarch64平台运行速度偏慢问题咨询

PyTorch 1.5.1 aarch64性能问题解答

关于arm64版本和x64版本的优化程度差异

你使用的PyTorch 1.5.1是2020年发布的版本,该版本对arm64架构的优化程度远低于x86_64版本:

  • x86_64版本在该迭代阶段已经积累了多年的优化沉淀,全量算子都适配了AVX、AVX2等x86专属指令集,核心算子还有大量手写汇编优化,性能表现已经非常成熟
  • 同期arm64版本的适配还处于早期阶段,大部分算子仅实现了通用逻辑,未做NEON指令集的针对性优化,很多场景下会直接走性能较低的兜底实现,本身就和x64版本存在明显性能差距

关于数学库替换带来的性能影响

你提到的MKL替换为OpenBLAS+Eigen是导致性能差距的核心原因之一:

  • MKL是英特尔针对x86架构深度定制的数学计算库,针对深度学习核心的矩阵乘法、卷积等算子做了极端优化,性能远高于通用开源数学库
  • PyTorch 1.5.1 arm64版本默认绑定的OpenBLAS,在arm64架构下的矩阵运算性能仅为同算力x86平台MKL的30%~50%,刚好匹配你测试得到的1/3性能差。另外该版本尚未集成ARM官方的Compute Library(ACL),没有用到arm平台专属的数学库优化,进一步拉大了性能差距

优化建议

  • 先检查当前PyTorch aarch64的编译参数,确认已开启-O3优化、NEON指令集支持,同时确认链接的是多线程版本的OpenBLAS,默认编译的单线程OpenBLAS性能会低40%以上
  • 如果必须沿用PyTorch 1.5.1版本,可以手动对接ARM Compute Library作为算子后端,核心运算性能可以提升1倍以上
  • 如果允许升级框架版本,建议升级到PyTorch 2.0及以上版本,该版本的arm64适配已经成熟,默认集成ACL后端,和同算力x64版本的性能差距可以缩小到20%以内

内容的提问来源于stack exchange,提问作者Gerald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 06:06:02