【轉(zhuǎn)】程序員大神Linus轉(zhuǎn)投AMD:我希望英特爾的AVX 512指令集「去死」
程序員大神Linus轉(zhuǎn)投AMD:我希望英特爾的AVX 512指令集「去死」
機(jī)器之心
數(shù)學(xué)等 2 個(gè)話題下的優(yōu)秀答主
關(guān)注
2020 科技數(shù)碼季
373 人贊同了該文章
「去死吧,AVX 512 指令集?!筁inux 提出者林納斯 · 托瓦茲(Linus Torvalds)說(shuō)道。
機(jī)器之心報(bào)道,參與:澤南。
Linux 首席架構(gòu)師,當(dāng)今全球最著名程序員之一 Linus Torvalds 最近在郵件列表中的言論再次引起一片嘩然。
在上周被披露的郵件列表中,有關(guān)英特爾將為下一代 CPU 架構(gòu) Alder Lake(和 Sapphire Rapids)啟用的編譯器指令引發(fā)了討論,Linus Torvalds 參與其中。
英特爾的下一代處理器架構(gòu) Alder Lake x86 平臺(tái)或?qū)⒂?2021 年與人們見(jiàn)面,與突出性能的 AMD 相比,英特爾希望通過(guò)和目前手機(jī)芯片理念類(lèi)似的「大小核設(shè)計(jì)」帶來(lái)能效上的大幅改進(jìn)。文檔披露了三種 CPU 設(shè)計(jì),其中最高的是 125W 的 8 + 8 + 1 配置(8 大核 + 8 低功耗核心 + 核顯),其次是 80W 的 8 + 8 + 1 配置,此外有一個(gè) 80W 的無(wú)小核配置(6 + 0 + 1)。
此前有消息說(shuō) Alder Lake 將不支持 AVX512 指令集,只有 AVX2 和其他版本,這可能是因?yàn)橛⑻貭栐谛略O(shè)計(jì)中需要考慮小核的承載能力。不過(guò)最近英特爾的內(nèi)部文件顯示,AVX512 等指令將僅限在大核中運(yùn)行。
有關(guān) AVX512 指令集,Linus 發(fā)表了這樣的一段言論:
我希望 AVX512 去死,然后英特爾就可以開(kāi)始去解決實(shí)際問(wèn)題了——而不是試圖去創(chuàng)造神奇的指令,然后圍繞它尋找基準(zhǔn)測(cè)試結(jié)果讓它看起來(lái)很好。
我希望英特爾能夠回歸本源:讓他們的進(jìn)程再次發(fā)揮作用,更專(zhuān)注于常規(guī)代碼,而不是 HPC(高性能計(jì)算)或其他意義不大的特例。
在那個(gè)時(shí)候,除了基準(zhǔn)測(cè)試,幾乎沒(méi)有人會(huì)關(guān)心這個(gè)問(wèn)題。
但同樣的事發(fā)生在 AVX512 上就變得不同了。是的,你可以在這里找到有用的東西,但它們并不符合廠商繪制的宏偉藍(lán)圖。
AVX512 有很明顯的缺點(diǎn)。我寧愿看到那些晶體管被用于其他更相關(guān)的事情。即使同樣是用于進(jìn)行浮點(diǎn)數(shù)學(xué)運(yùn)算(通過(guò) GPU 來(lái)做,而不是通過(guò) AVX512 在 CPU 上),或者直接給我更多的核心(有著更多單線程性能,而且沒(méi)有 AVX512 這樣的垃圾),就像 AMD 所做的一樣。
我希望通過(guò)常規(guī)的整數(shù)代碼來(lái)達(dá)到自己能力的極限,而不是通過(guò) AVX512 這樣的功率病毒來(lái)達(dá)到最高頻率(因?yàn)槿藗冏罱K還是會(huì)拿它來(lái)做 memory-to-memory copy),還占據(jù)了核心的很大面積。
沒(méi)錯(cuò),我當(dāng)然有偏見(jiàn)。我非常討厭浮點(diǎn)數(shù)基準(zhǔn)測(cè)試,而且我意識(shí)到現(xiàn)在人們都非常關(guān)心這個(gè)數(shù)據(jù)。我只是認(rèn)為 AVX512 是一個(gè)徹頭徹尾的錯(cuò)誤。這東西讓我如鯁在喉。這是英特爾方向搞錯(cuò)的一個(gè)很好的例子,可能只會(huì)讓市場(chǎng)碎片化。
停止這種只適用于特例的垃圾,讓所有核心都能實(shí)現(xiàn)人們最關(guān)心任務(wù)的最大性能,然后制造一個(gè)足夠好的「浮點(diǎn)數(shù)核心」來(lái)解決特殊問(wèn)題才是最好的。(在 CPU 上)AVX2 已經(jīng)足夠了。
是的,我就是這么暴躁。
——Linus
Linus 為什么突然對(duì) AVX512 一頓吐槽?一切還得從指令集的作用開(kāi)始說(shuō)起。
在計(jì)算機(jī)中,程序需要編譯成指令才能讓 CPU 識(shí)別并執(zhí)行運(yùn)算,指令集是指 CPU 能執(zhí)行的所有指令的集合,每個(gè)指令對(duì)應(yīng)一種操作。指令執(zhí)行能力是衡量 CPU 性能的重要指標(biāo),指令集也與 CPU 效率有密切關(guān)系。每種 CPU 都需要一個(gè)基本指令集,如英特爾和 AMD 的絕大部分處理器都使用 X86 指令集。
為了提高 CPU 在某些方面的性能,我們必須增加一些特殊的指令滿(mǎn)足需求,這些新增的指令就構(gòu)成了擴(kuò)展指令集。2008 年,英特爾在 Sandy Bridge 酷睿 CPU 架構(gòu)推出的同時(shí)發(fā)布了 AVX 指令集(Advanced Vector Extension,高級(jí)矢量擴(kuò)展指令集),聚焦矢量運(yùn)算,AVX 很快形成了一套完整的單指令多數(shù)據(jù)指令集規(guī)范,一些版本也得到了 AMD 的支持。
2013 年,英特爾發(fā)布了 AVX-512 指令集,其指令寬度擴(kuò)展為 512bit,每個(gè)時(shí)鐘周期內(nèi)可打包 32 次雙精度或 64 次單精度浮點(diǎn)運(yùn)算,因此在圖像 / 音視頻處理、數(shù)據(jù)分析、科學(xué)計(jì)算、數(shù)據(jù)加密和壓縮和深度學(xué)習(xí)等應(yīng)用場(chǎng)景中,會(huì)帶來(lái)更強(qiáng)大的性能表現(xiàn),理論上浮點(diǎn)性能翻倍,整數(shù)計(jì)算則增加約 33% 的性能。
AVX 所代表的單指令多數(shù)據(jù)(Single Instruction Multi Data,SIMD)指令集,是近年來(lái) CPU 提升 IPC(每時(shí)鐘周期指令數(shù))上為數(shù)不多的重要革新。隨著每次數(shù)據(jù)寬度的提升,CPU 的性能都會(huì)大幅提升,但同時(shí)晶體管數(shù)量和能耗也會(huì)有相應(yīng)的提升。因此在對(duì)功耗有較高要求的場(chǎng)景,如筆記本電腦或服務(wù)器中,CPU 運(yùn)行 AVX 應(yīng)用時(shí)需要降低頻率從而降低功耗。
隨著人工智能應(yīng)用的興起,新的 AVX512 指令對(duì)于加速 AI 模型的推斷顯得非常有效,但即使是對(duì)于 AI 的推斷過(guò)程來(lái)說(shuō),使用 GPU 效率還是比 CPU 高的,不過(guò) GPU 的成本也很高。所以,在技術(shù)的發(fā)展過(guò)程中,消費(fèi)者和英特爾這樣的處理器生產(chǎn)廠商同樣面臨著道路的選擇:是發(fā)展 CPU 的 AI 計(jì)算能力,還是尋求其他專(zhuān)用芯片,讓 CPU 做它「該做」的事?
我們知道,程序員大神 Linus 一生噴人無(wú)數(shù),C++、Java、英偉達(dá)都沒(méi)少被他指責(zé)過(guò)。不過(guò)這次,Linus Torvalds 的言論得到了不少人的支持。
「其實(shí)這次,Linus 說(shuō)得對(duì),Intel 當(dāng)然也知道他說(shuō)得對(duì),但明知他說(shuō)得對(duì),(暫時(shí))只能硬著頭皮搞下去?!乖谥跎希珸Pansz 這樣評(píng)價(jià)道。
不僅是說(shuō)說(shuō)就算了,Linus 還有自己的實(shí)踐。早在今年 5 月,Linus 就在一次公開(kāi)活動(dòng)中表示自己已改變了十五年來(lái)的習(xí)慣,轉(zhuǎn)投 AMD 了,他把自己的個(gè)人電腦換成了目前的最高配置,32 核心的 Threadripper 3970x。在一些第三方測(cè)試中,這款采用 7 納米制程的 CPU 性能超過(guò)了英特爾本世代旗艦產(chǎn)品 Core i9 10980XE。
Linus 表示自己用 AMD 芯片替換了原來(lái)的英特爾 Core i9 9900K,不得不說(shuō)這個(gè)換裝速度有點(diǎn)勤快?!肝彝ǔ?huì) DIY 自己的機(jī)器,繼續(xù)用上一臺(tái)配置的固態(tài)硬盤(pán)等組件,不過(guò)這一次(因?yàn)橐獡Q主板)我使用了全新的配置,」Linus 說(shuō)道。
不知幾年之后,是 AMD 宣布支持 AVX512,還是英特爾放棄這套指令集?
參考內(nèi)容:https://www.phoronix.com/scan.php?page=news_item&px=Linus-Torvalds-On-AVX-512
https://www.zhihu.com/question/406517759
發(fā)布于 2020-07-15 17:21
人工智能
英特爾 (Intel)
AMD(超威半導(dǎo)體)
發(fā)布一條帶圖評(píng)論吧
61 條評(píng)論
默認(rèn)
最新
徐致國(guó)
其實(shí)linus說(shuō)出了大部分程序員都不太敢說(shuō)的話:浮點(diǎn)性能過(guò)高卯用沒(méi)有。
處理一些在程序中為了方便用的浮點(diǎn)型能就夠了,大規(guī)模的浮點(diǎn)運(yùn)算大家自己會(huì)用gpu,加速器之類(lèi)的專(zhuān)用芯片。
2020-07-15?·?熱評(píng)
回復(fù)152
輸入名字
牙膏廠也不確定未來(lái)的大走向...只能先挺著。13年第一次用CUDA的時(shí)候,官方頁(yè)面還是在推科學(xué)計(jì)算,一個(gè)字的深度學(xué)習(xí),神經(jīng)網(wǎng)絡(luò)都沒(méi)提。 現(xiàn)在黃教主揮斥方穹意氣風(fēng)發(fā)的樣子,好像高瞻遠(yuǎn)矚提前布局了一萬(wàn)年,哪個(gè)不艷羨?512雖然看起來(lái)越來(lái)越雞肋,但萬(wàn)一呢?!
2020-07-16
回復(fù)26
知乎用戶(hù)nMP1go
請(qǐng)教:為什么大部分程序員不敢說(shuō)
2020-08-30
回復(fù)3
查看全部 8 條回復(fù)
果凍蝦仁
SIMD不是從08年AVX開(kāi)始引入的,九十年代就有了,從MMU到后來(lái)的SSE1、2、3、4系列,寄存器越加越多。本來(lái)AVX是下一代SSE,也就是SSE5,只不過(guò)AMD搶先發(fā)布了SSE5。Intel怒不可遏,改了名字叫AVX了。后來(lái)就繼續(xù)從AVX開(kāi)始重新命名了。
2020-07-15
回復(fù)63
果凍蝦仁
更正,MMU應(yīng)為MMX
2020-07-16
回復(fù)8
Jeff
好圖!
2020-07-15
回復(fù)1
秋雨辰
大神的意思是,多花點(diǎn)心思在代碼優(yōu)化上,算法上,而不是硬堆功耗。就是因?yàn)橛捕眩袁F(xiàn)在程序員們有些人拉胯。給程序員這個(gè)群體丟人了
2020-07-15
回復(fù)24
飛叔
別處報(bào)道一般把重點(diǎn)放在Linus希望英特爾“不要再去創(chuàng)造神奇的指令,好好解決真正問(wèn)題”,這里非要放在“希望英特爾的AVX 512指令集去死”(原話是慘死——dies a painful death)。機(jī)器之心這樣為了流量“震驚部化”不是好苗頭。
2020-07-15
回復(fù)129
Gimosolv
飛叔
其實(shí)我覺(jué)得他既然這么說(shuō)了,并不是杜撰的,拿來(lái)當(dāng)個(gè)標(biāo)題并沒(méi)有什么問(wèn)題。對(duì)你來(lái)說(shuō)重要的是技術(shù),但對(duì)媒體來(lái)說(shuō)他們也需要流量。
2020-07-19
回復(fù)3
XduEagle
評(píng)論區(qū)比原文精辟系列
2020-07-15
回復(fù)12
如此而已QAQ
他們都在說(shuō)啥,.......
2020-08-12
回復(fù)喜歡
貓貓彼爾德
一句話養(yǎng)活多少自媒體
2020-07-16
回復(fù)9
恨鐵不成鋼琴
原話是“痛苦的死亡”而不僅僅是“去死”
不過(guò)我的確是好奇
據(jù)我所知,AVX512出了有一年了吧
到底是我穿越了還是林老爺子穿越了呢?
2020-07-18
回復(fù)1
微風(fēng)吹動(dòng)了我頭發(fā)
Linus在這件事情上過(guò)于偏執(zhí)了。日常辦公/娛樂(lè)應(yīng)用程序中涉及到的浮點(diǎn)計(jì)算越來(lái)越多,這是大趨勢(shì)。將這一部分計(jì)算量拆分到別的硬件里計(jì)算,這從物理原理上就是增大延遲降低效率的做法(有別于gpu輸出直連顯示器不反饋給cpu,應(yīng)用程序中的浮點(diǎn)計(jì)算拆分給gpu/計(jì)算卡是需要返回給cpu再進(jìn)行接下來(lái)的運(yùn)算的)。
什么功能都往外拆,這是在作妖。誠(chéng)然cpu僅需保持最低限度的浮點(diǎn)計(jì)算力就夠了,但是看不見(jiàn)隨著時(shí)代發(fā)展,“最低限度”也在快速增長(zhǎng)嗎?
2020-08-23
回復(fù)7
AlphaCheetah
fxxk you, nvidia!!
2020-07-16
回復(fù)7
浉河區(qū)鄭大爺
Linus Torvalds破口大罵NVIDIA:“Fuck You”
2020-07-16
回復(fù)7
浉河區(qū)鄭大爺
bilibili.com/video/BV1F
2020-07-16
回復(fù)3
展開(kāi)其他 1 條回復(fù)
owen
這大哥脾氣挺大 ??
2020-07-15
回復(fù)3
SkyLight
so,NVIDIA,Fxxk YOU
2020-07-16
回復(fù)3
舊知交
2023年了,intel不支持AVX512 amd支持AVX512了
02-24
回復(fù)1
遠(yuǎn)望深思
未來(lái)推理端主要是在 服務(wù)器和手機(jī)上,對(duì)于服務(wù)器肯定還是Intel的CPU,手機(jī)則必然是ARM。 那么大概率,大家還是會(huì)用vulkan或者OpenCL這類(lèi)標(biāo)準(zhǔn)來(lái)加速推理過(guò)程而不是依賴(lài)什么AVX512。
2020-07-15
回復(fù)17
ever
2020-07-16
回復(fù)1
鬧鬧
ARM是大勢(shì)所趨,未來(lái)服務(wù)器也可能直接上ARM。從近年蘋(píng)果和微軟的動(dòng)作來(lái)看就知道了。CISC拉夸太多了。
2022-07-17
回復(fù)喜歡
展開(kāi)其他 1 條回復(fù)
豆芽
我覺(jué)得不會(huì)放棄。avx512在數(shù)值計(jì)算方面仍然應(yīng)用非常廣泛。
2020-07-15
回復(fù)5
qakcn
GPU它不香嗎。
2020-07-16
回復(fù)11
徐致國(guó)
Chin
優(yōu)化下讓它不出顯存始終在gpu內(nèi)跑就行了,gpu做不到的一般avx512也不行。
2020-07-16
回復(fù)9
查看全部 8 條回復(fù)
王雨蒙
顯卡 顯卡!這個(gè)活更適合丟給顯卡去做!老黃不是吃素的 這一塊NVIDIA做的非常漂亮 Intel非要用CPU去做這個(gè)活是不合時(shí)宜的
2020-07-16
回復(fù)3
檸檬
“F**k NVIDIA”
2020-07-16
回復(fù)2
YundaDong
然后linus的電腦壞了 linux內(nèi)核發(fā)布預(yù)計(jì)推遲
2022-11-02
回復(fù)喜歡
不攻自破的聯(lián)盟
最新消息 2021酷睿12英特爾放棄這套指令集
2021-10-27
回復(fù)喜歡
Franciswcy
然后amd把這玩意整進(jìn)去了
2022-08-30
回復(fù)喜歡
shasha
其實(shí)這只能說(shuō)明AMD知道了AVX512來(lái)臨的危機(jī),其實(shí)intel也是再次拿起管用的方法與友商保持距離。所以AMD僅抱怨是沒(méi)啥用的。
2021-07-03
回復(fù)喜歡
陳麥麥
能更好地fuch nVIDIA
2020-07-20
回復(fù)喜歡
Vincent Zhu
Intel多上幾個(gè)常規(guī)核就挺香的。
2020-07-17
回復(fù)喜歡
冷面包
為什么不提升一下頻率呢? 感覺(jué)上都在走彎路啊 提升頻率不是簡(jiǎn)單粗暴有效嗎?
2020-07-17
回復(fù)喜歡
周舟
奔騰4和推土機(jī)就做的這個(gè)事情啊,有用嗎?
2020-12-05
回復(fù)1
極地螢火
因?yàn)楹茈y提高...
2020-07-26