硬科技:從Linux大神的抱怨瞧瞧Intel是不是真的做錯了(下)

2020.09.17 03:09PM

Intel Pentium Pro總工程師之一的Robert Colwell曾在其回憶錄寫得很清楚:研發1顆x86處理器,最大的困難點,在於是否可保證它相容絕大多數的現有應用程式。更不幸的是,基於軟體相容性考量,指令集這種東西是「易加難砍」,畢竟天底下沒人知道究竟有哪些軟體用到哪些指令,是不是還有新型的電腦跑著老舊的程式,更罔論古早那種「軟體利用處理器的Bug」的案例,像知名的HMA(高記憶體位址區域)與HIMEM.SYS驅動程式。

筆者沒事就會看到那種「在個人處理器,AVX-512砍掉就砍掉了,淡出就淡出,沒什麼大不了」的幼稚言論,講這種話的人到底有沒有用腦袋想過一件事:Intel真的這樣幹了,哪天AMD反過來全面支援AVX-512並標榜「我們的軟體相容性比Intel更好」反打Intel一槍,那該怎麼辦?順便一題,VIA Centaur睽違多年的全新x86處理器CHA,也具備AVX-512了,手腳竟然還比AMD還快。

硬科技:淺談x86的SIMD指令擴張史(上):MMX到SSE
硬科技:淺談x86的SIMD指令擴張史(中):SSE2到SSE4
硬科技:淺談x86的SIMD指令擴張史(下):AVX到AVX-512

那麼,自稱脾氣暴躁(Grumpy)的Linus Torvalds在抱怨什麼?講的白話一點,就是他覺得AVX-512這種針對高效能運算和人工智慧而特化的指令集,對大多數的應用場景都是無用的,如其耗費大量電晶體在上面並帶來降低時脈的麻煩,還不如像AMD這樣,提供更多的核心和更好的單執行緒效能。

不只Linux大神開砲,無獨有偶的,8月初的時候,某位參與過Pentium III到Core設計的前Intel工程師,也提出的類似的觀點。他認為Intel並未推出符合市場需求的產品,在筆電處理器支援沒多少用戶會碰到的AVX-512,根本是浪費晶片空間,不僅無用耗電,更讓核心數量輸給AMD。此外,沒那麼多人會用到SIMD指令集,在有限的晶片空間內應塞入更多的核心。

硬科技:AMD的CPU製程優勢和Intel的缺貨危機(上)
硬科技:AMD的CPU製程優勢和Intel的缺貨危機(下)

其實這也是當初AMD併購ATI推動Fusion大戰略的初衷:用GPU取代處理器的SIMD單元甚至整個浮點運算,只不過到現在距離成功還很遙遠就是了。

硬科技:簡報王與他們的產地:AMD Fusion篇
硬科技:集AMD技術之大成的超級電腦APU:EHP (上)
硬科技:集AMD技術之大成的超級電腦APU:EHP (下)

要筆者找最近的事實佐證,大概就是某筆電的非官方站長實測某款AMD Ryzen 7 Pro 4750U機種,效能狂電另一台使用Intel Core i7-9750H的對照組,而八核心的前者僅為低電壓15W版本,六核心的後者則是標準電壓45W,並且還沒有AVX-512。

如果博學的科科還有點印象,應當依稀記得AVX-512在2018年「實驗性質濃厚的Cannon Lake(10nm製程首發)」搶灘登陸個人電腦,也讓Core i3-8121U成為極度短命的產品並拖著Gen10內顯一同陪葬,但AVX-512也從此成為10nm微架構的標準配備(Ice Lake、Tiger Lake),或許Intel內部過度高估10nm製程的能耐,是往火藥桶丟入的一根火柴。

更糟的是,就算Intel強迫所有處理器產品「硬吃」AVX-512,也有版本混亂不堪的問題。Xeon Phi 7205 系列(代號 Knights Mill)強化深度學習多出的QVNNI(QFMA+VNNI),Cascade Lake強化推論效能而增加的VNNI(16 位元短整數),因應 Facebook等大客戶的深度學習需求,追加 BF16 浮點數格式,導致10nm製程新型處理器Ice Lake-SP的支援度不見得比舊款Cooper Lake-SP完整的糟糕狀況,聽說這件事還搞到Facebook,因為Cooper Lake-SP被腰斬了,害這個超級大客戶不得不用四處理器平台的Cooper Lake-P。

最扯的還在後頭,想陪那些ARM處理器廠商玩「大核配小核」遊戲的Intel,搞出了「明明有AVX-512還必須強迫封印」的世界奇觀。前陣子Intel向GNU編譯器套件GCC提交了新一代桌上型處理器Alder Lake(由大核Golden Cove與小核Gracemont所組成)的最佳化代碼,被人發現取消了支援AVX-512指令集。Intel近期正式發表的3D封裝混合架構處理器Lakefield(1顆Sunny Cove大核加上4顆Tremont小核),也被禁用AVX-512。原因也很簡單:Gracemont和Tremont這些為了Atom而生的小核,沒有AVX-512。

爬文至此,恐怕各位科科連思考AVX-512該何去何從的好奇心都瞬間揮發掉了。說穿了,AVX-512是Intel從「x86義和團」推動Larrabee為起點,一路發展出來的怪物,你不能說他毫無價值,但這場義和團之亂的餘波,至今仍深深的影響Intel。現在就讓我們關心AMD到底會不會支援AVX-512吧。

12 則回應

  • "如其耗費大量電晶體在上面並帶來降低時脈的麻煩"
    AMD:"Hold my beer"
    2023-06-14
  • 以前 80386 與浮點運算的 80387 是分開的,部份主板要預留 socket 。
    不常用的功能就拿掉,另設獨立晶片,少部份須求的客戶,就買為獨立晶片設計的主板。
    那就皆大歡喜。
    2020-09-19
  • 精簡指令集才是王道,用冷門指令集的軟體都該自我檢討。
    2020-09-19
  • 😆 完全看不懂
    2020-09-19
  • RISC 就精簡多了...相較CISC
    2020-09-19
  • 指令其實可以用軟件模擬的, 只是速度會慢很多, 其實INTEL CPU 就算同期, 都會有些型號在指令集上有差異, 你以為點解OS 和軟件為甚麼一直沒有兼容問題?
    那些模擬器基本不論甚麼型號的CPU 都可模擬出來, 你以為佢只係模擬隻GAME 咩?
    2020-09-19
  • 指令集缺少比較麻煩,不然幹嘛分RISC跟CISC
    2020-09-18
  • 指令集砍左是有的,AMD的3D NOW!

    手上無ZEN,勞煩用CPU-Z核實真確性

    後續: 剛去Wikipedia 做FC,它已被刪除了
    2020-09-18
  • 討厭亂加指令集....你要加就把 github 所有 library 加進去,不然只是濫用地位用來絆倒對手的工具
    2020-09-18
  • 這樣嗎? 玩Mod很多的遊戲也會
    2020-09-18
  • 所以時代從軟硬封閉走到軟硬開放,又要走回軟硬限定的修正道路嗎
    2020-09-18
  • 反壟斷存活一天
    intel就會擠一天牙膏
    不同製程一樣耗電
    居然會有相當的效能
    就知道他是刻意在擠牙膏(X
    2020-09-17