蘋果的A13、高通的驍龍855這兩款手機中央處理器算力約等於電腦中央處理器的哪一款型號呢?

是沒得比較,還是算力連遠古時代的超威半導體(AMD)速龍X3 460都不如?

————問題編輯————

不考慮功耗的差異,只看二者的性能,用電腦中央處理器和圖形處理器的測試方法。


不提數據,就說實際使用

我用同樣的代碼,在jupyter里跑1000萬樣本的迭代刪減

小米6裝的是pydroid3,遊戲本戴爾G7和MBA15款裝的是anaconda。都是Python3.7.2。代碼都是基於numpy的矩陣計算。瀏覽器都是chrome(當然這個沒法比,內核都不一樣,只能說盡量了)。

用%timeit計時

遊戲本8300H,16G內存:3秒

15款MBA,8G內存:6秒

小米6:4.7秒

安卓是真可以寫Python,numpy,scipy,pandas都有。甚至還有機器學習的庫……(不建議嘗試

所以單論這個應用的話,835大概達到了8300H差不多70%的性能(作為對比,iOS和iPad OS上基本沒法跑Python,pythonista我買了,我有發言權

但是論到玩遊戲……

你懂的,

MBA大概10%。玩圍攻造車沒問題,運行時大概3幀

小米6無限接近於0%

更新一個,Matepad Pro Lte

如果立起來寫Python的話,實際空間比遊戲本大

jupyter寫Python,foobar藍牙LDAC聽歌,加微信

充一次電能用兩天


@幸福渠水到俺村 的回答使用的數據大概率是有問題的。

A76的麒麟980,編譯選項用了A53。A53是ARM的小核架構,不支持亂序執行,執行單元規模是 ALU×2/AGU×1/Neon×1;作為對比,A76是ALU×4/AGU×3/Neon×2。如果他寫的這個A53不是筆誤,這個選項編譯出來的程序在980上性能那麼差就很好理解了。

ARM的單線程SPEC 2017性能

今年3月份的時候,Anandtech對亞馬遜雲主機用的Graviton2做了一次評測[1],Graviton2是ARM的N1架構,核心架構和麒麟980的A76幾乎一致的。主要是面對伺服器市場,N1的整體架構可以支持64~128個核心,支持更多的內存通道和PCIe通道等。

用Graviton2的LLVM+Flang編譯器的得分和幸福渠水到俺村回答裡面的數據,做成圖表對比一下:

可以看到,除了500.perlbench、525.x264以外,其它子項的成績差距非常大。

加入同樣是Anandtech的另一個評測[2]中幾款x86 CPU的SPECInt 2017 Rate-1成績:

可以看到,x86桌面的幾款CPU,憑藉著高頻率,性能還是高很多的。

把得分除以頻率,然後以Graviton2的得分為標準歸一化處理一下:

除了perlbench以外,ARM的Graviton2全面領先x86。需要說明一下的是,Anandtech的文章中,Graviton2用了四種編譯器來編譯,我這裡選擇的是和x86接近的LLVM+Flang,但Anandtech編譯用的LLVM+Flang是ARM閉源的Allinea Studio中所帶的版本。不過從成績來看,SPECInt2017的成績大部分項目落後於開源的GCC以及Allinea Studio所帶的GCC版本,但在SPECfp2017上要比兩個GCC版本強。

所以,2020年的今天,x86和ARM相比,為了獲得絕對性能,提高頻率,架構上是存在一定的效率犧牲的,功耗更是嚴重浪費。此外,同樣基於ARM的Apple A系列,不惜成本的把執行單元規模增加到ALU×6/Neon×3,峰值IPC理論上可以比公版ARM公版架構再提升50%。

但如果在伺服器上,為了在相同的散熱、供電條件下,容納更多的核心,x86也不得不把頻率降低到一個相對比較低的水平,例如AMD的EPYC,64核的7742會降低到2.5~3.2 GHz,這時候就比同樣是2.5 GHz的Graviton2好不了多少,甚至可能更差了。事實上同樣是64核心,Graviton2的功耗設計是80~110W,而AMD的EPYC 7742的功耗要再高一倍達到225W,180W的EPYC 7702基準頻率還要進一步降低。

同樣的,在輕薄本上,受限於功耗限制,Intel十代的4~6核,AMD的6~8核,運行多線程應用的時候也不得不把頻率降低到3 GHz左右甚至更低,如果有ARM CPU廠家基於最新架構生產出8大核(小核不算)的CPU,是有可能超越x86的——蘋果就是這麼計劃的。


2020/6/15更新:

根據評論區 @我用第三人稱 知友提示,幸福渠水到俺村的數據來源於貼吧的某篇帖子[3]。事實上,發這篇貼的mcayke,在Anandtech對Graviton2測試之後,更換了編譯參數以及編譯器重新測試了多次[4][5],麒麟980的成績都有相當幅度的提升。這裡選擇了僅僅更換編譯參數為A76沖測得結果,重新製作上述對比圖:

僅僅更換編譯選項,麒麟980在多個項目中都有大幅提升

以麒麟980,A76選項編譯為基準歸一化對比

歸一化對比後,可以看到A76的麒麟980的IPC性能和一眾x86 CPU相比互有優劣,勝出的項目也不在少數。

參考

  1. ^https://www.anandtech.com/print/15578/cloud-clash-amazon-graviton2-arm-against-intel-and-amd
  2. ^Anandtech:AMD』s New EPYC 7F52 Reviewed https://www.anandtech.com/print/15715/amds-new-epyc-7f52-reviewed-the-f-is-for-frequency
  3. ^高通吧:今天用980把spec17跑全了 https://tieba.baidu.com/p/6506801380
  4. ^高通吧:【重測】kirin980的spec17成績 https://tieba.baidu.com/p/6542084236
  5. ^高通吧:【大發現】ndk竟然會拖慢代碼速度 https://tieba.baidu.com/p/6543717621


2019年11.28更新: 似乎我的第一句話引起了不少誤解,首先澄清一下,這並不是我的結論,而是專業評測機構anandtech的結論,當然a社的結論有一些問題,首先a社強調統一編譯器才有可比性,但是我不認同這種觀點。麻煩某些攻擊我回答的人先看完我的回答好嗎? 根據我回答里的SPEC2017測試成績推算。Skylake在同頻性能上是Cortex A76的1.88倍到1.9倍左右。A13最多只能在同頻性能里持平9900K,但是9900K頻率達到5G,也就是單核性能為A13的2x,多核性能大概達到12x左右。

在anandtech測試SPEC2006中,A13性能甚至接近9900K,但是現在SPEC2017以其驚人的測試壓力,進一步拉開了電腦中的x86和手機ARM晶元的算力差距。例如在同一LLVM編譯器以及同樣優化選項下,在SPEC2006里同頻性能幾乎和Skylake戰平的Cortex A76,在SPEC2017中差距擴大到接近50%,而使用intel編譯器的話,則達到驚人的88%,也就是說,算力差距還是得看測試壓力來決定,SPECint2017_rate的十個項目,一顆3G的Broadwell核心跑完一輪大概需要1個小時,得分4.55,可見壓力之大。(使用SPEC2017自帶的icc Example cfg文件,默認設置,內存分配函數為tcmalloc)

相對於2006,2017還去掉了被千夫所指的462量子模擬。這個項目通過調整數據結構以及內存訪問模型,可以由SIMD指令集獲取巨大的提升,對於這種優化合不合法,符不符合真實世界程序的性能。不同人持不同看法,爭議很大。因此2017乾脆去掉,換成了其他SIMD敏感的項目,如x264,這個程序本身帶有高度優化的彙編語言。SPEC2017引入的是C++版本,這樣可以確保無論怎麼調優,其成績都不會超過我們可以從真實的x264中獲取的最高性能。

下面是從貼吧里搜集到的數據,僅供參考,對比的CPU為海思麒麟980和E5 2620v4,由於移動端沒有Fortran編譯器,因此排除exchange2選項。

E5-2620v4 baserun:編譯器: intel C++ complier 2019,編譯選項:-O3 -ipo -xCORE-AVX2 -qopt-prefetch -no-prec-div -auto-p32

kirin 980 baserun:編譯器:Android NDK 編譯選項:-Ofast -march=cortex a53

——————2.15更新,我自己測試了家裡的電腦,i5 8500,關掉睿頻以保證頻率穩定,成績為關閉睿頻的結果,加入上面從貼吧收集來的數據里

可以見到Skylake的整數IPC比Broadwell-E提高了10%,打開睿頻後的成績是6.17,頻率不固定,在4.0和4.1之間跳動,加入exchange2後分別是4.97和6.59。

————————————————

需要說明的是內存分配函數方面,Android NDK環境中是jemalloc,這也是SPEC2017調優大家首選的分配庫函數,上圖中的E5 2620v4選取的是谷歌的tcmalloc分配器,這是另外一個資料庫類應用中使用廣泛的開源分配器。SPEC2017對內存分配函數非常敏感,jemalloc和tcmalloc均能比Ubuntu18.04默認內存分配函數的性能高8.6%,而英特爾在Parallel Studio XE 2019的update 1中帶有的qkmalloc可以使E5的性能提升到4.8左右。相比默認內存分配函數提升15%以上。這種提升甚至超過了以往英特爾微架構迭代帶來的提升。由於內存分配函數為系統庫函數。具體實現取決於操作系統,因此,SPEC2017毫無疑問受系統影響。對於蘋果系統,更需要將這一點考慮進去。

上面提到的是整數,不過我們最常講的算力,實際上是浮點計算能力,也就是GFLOPS,是高性能計算所必須的能力,衡量浮點計算能力的經典程序是LinPack,不過SPECfp應該更能體現出浮點計算能力的實際差距。因為並不是所有的科學計算都大量地依賴矩陣運算。但由於base跑分不能使用第三方BLAS庫,例如廣泛應用於科學計算和機器學習的MKL,因此,SPECfp的base成績與實際的HPC程序仍有較大差距。

除了著名的SPEC CPU 2017基準套件外。我們還可以對手機CPU與電腦CPU做一些相同的,基於現實世界的負載測試。例如比較簡單的WinRAR測試,相比SPEC2017的複雜度,該項測試更易進行。因為安卓手機與電腦的RAR軟體實際上是同一個,可以使用其自帶的基準測試評測單核性能,或者通過壓縮,解壓縮大文件來測試其實際應用的能力(如打包三段4G的視頻片段)。WinRAR的基準測試性能給個參考,i5 8250U 3.4G,單核成績是1510,麒麟980的Cortex A76架構是800左右,頻率2.6G,單核差距有將近1.9倍。

至於Geekbench,還是洗洗睡吧。魯大師都比他靠譜,我們用心想一想,同樣是7nm,一個在台式機裡面,頻率高達4.6G要用高端風冷乃至水冷壓制的3900X,一個散熱器都要一斤,和手機里的A13,一個2.66G,單核只有幾瓦,就算壓力大也就發發熱,還有雙層主板,夾心構造等debuff的玩意,這倆真是一個性能的東西?如果有人說出這種話,那他大概根本不了解集成電路的設計和優化。或者缺乏一些電路里需要涉及的物理知識。你可以向他推薦《計算機工程的物理基礎》。以避免滑向民科深淵

對於 @木頭龍 的數據。我之前也在貼吧看過,不過既然是伺服器,就採用anandtech的數據好了

利用anandtech的數據,我們就可以對比都在Vendor Complier下的一個成績。這次我們請出Xeon 6140,AMD Ryzen 3700X和Graviton2

編譯器分別是各自的Vendor Compiler,對於ARM,是Allinea Studio(基於GCC9.2.0),對於intel 是Parallel Studio XE 2019 update 3,對於AMD,是AOCC2.1(基於Clang-LLVM 9.0),Graviton 2數據來自anandtech,其他兩個由我自己實測

SPEC官網的數據,不同CPU廠家的編譯器從來都不同,基本都是各自的Vendor Complier在對比,統一編譯器沒有任何實際意義。特別是對於許多場合,彙編的重要性遠大於編譯器,例如x264,優化最好的編譯器都不會是gcc+NASM的對手,icc2019要比NASM慢整整1.8倍。現在我們統一為各自的Vendor Complier。

提一下,這裡的6140的IPC遠高於上面的i5 8500,原因我猜測,一是加入了xCORE-AVX512,一是update3里自帶的qkmalloc效率更高。還有一個可能是intel編譯器從19版更新到19 u3版的原因。

最後放一張Phoronix的測試圖作為結束。

64核的Graviton 2在Phoronix的裸金屬伺服器的實際應用測試中,性能遠遠落後於同規格的x86產品。僅和Xeon Gold 5220R這樣一顆24核的處理器表現相當。我覺得不用再多說什麼了。SPEC的編譯器基本說明不了任何問題。你們說intel的icc厲害,AMD的AOCC厲害,難道Allinea不會刷分?開源LLVM和閉源Allinea差距不大說明什麼問題?什麼問題都說明不了,只能說ARM在開源編譯器投入了更多精力罷了。

___下面是實測截圖

(PS: 供應商信息和伺服器型號為亂填。不用在意,伺服器確認睿頻已關,運行跑分時,分別通過/proc/cpuinfo與/sys/devices目錄下的信息進行頻率確認)

至於某些攻擊icc的人,我就呵呵,您不用不代表別人不用。多少科學計算軟體都是icc,Flang有人用?


先說答案:Apple A13 BionicQualcomm Snapdragon 865相當,相當於Intel Core i7-4510U或者是Intel Core i5-3210M

Qualcomm Snapdragon 855相當於AMD Athlon 300U或者Intel Core i3-6100U

下面是來源

只看移動端cpu:https://www.notebookcheck.net/Smartphone-Processors-Benchmark-List.149513.0.html

查看所有cpu:https://www.notebookcheck.net/Mobile-Processors-Benchmark-List.2436.0.html

最後:

最牛逼的移動端cpu是 Apple A12X Bionic排248位,相當於Intel Core i3-8130U,這個排位與第一個排名的排序對應且一致。

還有這麼多比較可供參考


你們都不看最後一句話的么?沒看完就張嘴罵人,不合適的嗷。

-------------

吃多少糧 出多少力

一個靠鋰電池那點電量就推著跑幾小時的小處理器

和一個老大體積的電源供著,背後時時刻刻連著國家電網的桌面CPU

你覺得這倆誰吃的多?

手機處理器滿載,你也就覺得手機發熱而已

線程撕裂者滿載了解一下?拿掉水冷,摸一下就是一層皮

要對比,應該能和那些什麼超低壓移動端,低端平板上的CPU比比吧


推薦閱讀:
相关文章