目录

AMD vs Intel

misaraty 更新 | 2022-11-15
前言
AMD和Intel CPU Benchmarks如何呢?

CPU跑分对比

./Cinebench-R20-(Multi-Core).png
Cinebench R20 (Multi-Core)

./High-End-CPUs-Intel-vs-AMD.png
High End CPUs - Intel vs AMD

./桌面CPU天梯榜.png
桌面CPU天梯榜

小结

AMD与Intel的差距近些年越来越小,甚至在消费级市场上还超越了后者,同时还极具性价比。

这一事实将加速有着“挤牙膏”之称的Intel加速消费级市场上CPU的更新换代。

科学计算的选择

既然AMD cpu核心数这么多,如2020年的3990X具备64核心数;那么AMD是否可以加速计算物理、计算化学、计算材料学等领域中第一性原理计算呢?

会,但不如预期那么高。

由于题主的CPU是AMD,所以我怀疑可能是平台的关系。随便Google一下发现了一些人在抱怨,Matlab在AMD的CPU上执行速度并不理想,甚至满于低一档Intel CPU。例如,有人发现同样的代码,在AMD 2990WX(32核64线程@3.5GHZ, 64G RAM)上需要2200s,而在 Intel 8700k (6核12线程@4.0GHZ, 32GRAM)上只需要600s,3.5x倍的速度。

原因大概有二:

Threadripper 虽然核心数比较多,但是单核新能还是不如Intel,而Matlab中很多函数没有经过多核优化,单核心能就非常关键了Matlab。

很多函数是只对Intel优化的,比如严重依赖MKL,而Intel自己的编译器“故意”让同样的代码在AMD CPU上执行缓慢。

1


在AMD平台上,Intel编译器也能提供良好的性能。至少在3700X上测得的SPEC2006分数比Clang要高得多。并且Intel也承诺了MKL数学库在非Intel的x86 CPU上也具有出色的性能。所以不必担心负优化的问题,下面是2012年的一个测试,分析了Intel编译器在AMD和Intel CPU上的表现。

2


使用openBLAS数学库后,AMD 芯片计算效率有显著提升,但是对于AMD Ryzen 2990WX,单程序数值计算并行效率随核数增大反而降低,对原子数较小的体系,计算效率随核数增加下降明显,最优核数反倒仅使用4核计算时获得,此时性能大于为Intel 7980 XE的1/3,随着原子体系增大,如对57原子体系,AMD 这款cpu最优核数为12,此时性能约为Intel 7980XE的1/2。

3


Intel编译器和数学库有巨大优势,就算cpu本身性能差点,科学计算时大多也能反超。

4

小结
综上,如果进行多核并行的数值计算,AMD多核、高主频优势会打折扣,即使使用Intel® Parallel Studio XE编译器;但AMD采用Intel compiler比GCC快;同时,AMD可以使用自家的AOCC编译器

文档

总结

  • 若是办公娱乐用途,目前的AMD高端处理器性能高、性价比也高,可以考虑。

  • 若处理器部署在计算服务器中,推荐还是选择INTEL处理器。


  1. Matlab/NumPy/C++Eigen 速度差距为什么很大? ↩︎

  2. Intel编译器在amd的cpu上跑效果怎么样? ↩︎

  3. AMD Ryzen Threadripper 2990WX和Intel 9980XE 用于第一性原理计算对比 ↩︎

  4. 为什么AMD在这里不香 ↩︎