为什么m1能用3.2ghz的频率在单核性能打赢近5Ghz的锐龙7 5800x?

有答主让我提供证据,这边有两个评测的排名。分别是geekbench5和 cinebench R23 [图片] https://www.cpu-monk…
关注者
168
被浏览
320,896

57 个回答

虽然略胜,但打赢真说不上,各有胜负而已

这里主要使用Anandtech的几个单线程评测结果 [1]

CineBench R23 单线程
Speedometer 2.0

Geekbench单线程,A社就给了个总分,还是要看看子项的,反正GB官网一大堆成绩,随便挑两个对比就是了 [2] 。不过要注意找个黑苹果的,也就是CPU是5800X,操作系统是macOS的。要是找了Win或者Linux平台的话,5800X的得分要高一些,尽可能排除操作系统影响吧。

5800X对比M1的单线程细项
SPECint2006
SPECfp2006
SPECint2017 Rate-1
SPECfp2017 Rate-1

全部成绩汇总一下:

从这些测试项目综合来看,M1的确是稍微强于5950X的,但你要说真赢了,就算是归一后算术平均下来,也就胜出5%多点。

而且,按照Anandtech所说:

Since our A14 results, we’ve been able to track down Apple’s compiler setting which increases the 456.hmmer by such a dramatic amount – Apple defaults the “-mllvm -enable-loop-distribute=true” in their newest compiler toolchain whilst it needs to be enabled on third-party LLVM compilers. A 5950X with the flag enabled increases its score to 91.64, but also while seeing some regressions in other tests. We haven’t had time to re-test further platforms.

5950X的测试软件环境和M1还是不同的,包括SPEC的编译参数都未能一致,SPECint2006的456.hmmer子项如果用A社追踪到的Apple的默认编译参数重新编译再跑一遍,成绩可以从48分提升到91.64,虽然还是略输于M1,而且用这个参数编译的其它子项成绩会有所倒退。但如果用这个成绩重新计算的话,归一后的算数平均103.74%,几何平均102.24%——我其实很期待A社能够搞个黑苹果重新再测一遍——但很有可能这样还是不够公平,毕竟苹果从来没有为AMD优化过操作系统和编译器。


虽然上面A社成绩对比的Zen3是5950X,不过单核性能和5800X几乎一样的 [3]

5950X和5800X的单线程SPEC CPU 2006得分
5950X和5800X的单线程SPEC CPU 2006得分

从成绩来看,两个版本的SPEC,M1都是整数略输,浮点略胜。这是因为M1是四个128bit的NEON单元,而Zen3是两个256bit AVX单元,理论上同频性能一致,但M1还是比Zen3灵活很多,更容易发挥出性能,毕竟直到今天,256bit的AVX指令的普及率并不算高,单靠编译器优化很难完全发挥出AVX单元的性能。另外,HTML相关、程序编译的子项,M1也很有优势,这个我猜测是M1的大容量L1I和超宽ROB(应该还有更大容量的μOP Cache)更有利于格式文本处理中的正则表达式匹配算法。


Apple M1是怎么以3.2 GHz的低频达成这么强的性能的?

关于对M1的分析,之前在另一个问题详细分(xia)析(cai)过,这里就不重复了:



@salasin 你把我拉黑了?我还觉得你回答下的评论只是观念不同而已,言辞激烈点也不止于拉黑吧?不过还是多说两句,说完就算了。


既然是靠这个吃饭的,难道不是应该提前考虑业界发展,未雨绸缪么?明知道世道要变,还等到事到临头才去应对?回头刚买了一堆x86设备,发现自己要跑的应用在mac上更省电性能更好,换也不是不换也不是很好玩?


说实话,真要说高性能计算吧,Intel还真可以说一句“你大爷还是你大爷”,不管是linpack还是例如3dpm、yCruncher这类应用,只要数据结构适合SIMD,avx512加上mesh的SKL-X/SP,哪怕工艺落后一代,架构还是四五年前的,Zen2核心数量两倍甚至四倍也要输,按照Zen3的表现,估计也赢不了。随手找两个评测:


和HPC应用相比,3D渲染并行度极其良好,几乎是只看线程数量×单线程性能,不在乎Interconnect性能,连Memory Bond都很少碰到。说实话,在ARM的单核性能相当接近x86的今天,更低的功耗意味着同样的功耗限制下,可以容纳更多核心。除了应用兼容性外,可以预见到一旦高功耗场景的ARM生态普及,x86已经没有任何优势。偏偏3D渲染是极其性能渴求的应用,为了性能,兼容性是可以放弃的。这也是M1出来后,多家3D建模软件开发商都表达出适配M1的意愿的原因。


这种情况下,如果我像你一样吃3D渲染这行饭,现在我肯定去找软件开发商打探他们的后续计划,并且去做相应的准备,保证如果他们计划适配ARM架构的mac的话,制定相应的设备更新计划,保证只要开发商适配mac后可以第一时间切换。甚至现在用的软件没有适配计划,只要其它软件提供商有适配计划而且有证据证明性能更好,我会让设计师提前去适应新的软件。

参考

  1. ^ Anandtech:The 2020 Mac Mini Unleashed: Putting Apple Silicon M1 To The Test https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested
  2. ^ Geekbench:iMacPro1,1 vs Mac mini (Late 2020) - Geekbench Browser https://browser.geekbench.com/v5/cpu/compare/5413151?baseline=4931678
  3. ^ Anandtech:AMD Zen 3 Ryzen Deep Dive Review: 5950X, 5900X, 5800X and 5600X Tested https://www.anandtech.com/show/16214/amd-zen-3-ryzen-deep-dive-review-5950x-5900x-5800x-and-5700x-tested/9