杠上了,Linus 再次怒噴英特爾
發(fā)布時間:2020-07-16 09:01:42
自上個月嚴(yán)辭拒絕 Intel 安全漏洞相關(guān)補丁之后,Linus Torvalds 再次對 Intel 開噴,直言 “我希望 AVX-512 趕緊‘去死’ ”,脾氣一如既再次怒噴英特爾
近日,Linux 內(nèi)核維護(hù)者 Linus Torvalds 對 Intel 的 Advanced Vector Extensions 512(AVX-512)指令集提出了一些激進(jìn)的看法,稱其為 “功率病毒”,其創(chuàng)建目的單純只是為了使 Intel 公司的 CPU 硬件在基準(zhǔn)測試中跑分更高。此外,Linus 還坦承了自己 “脾氣暴躁”,并且對 Intel 確實 “有偏見”。
AVX-512 是 Intel 公司在 2013 年發(fā)布的一套擴(kuò)展指令集,其指令寬度擴(kuò)展為 512 bit,每個時鐘周期內(nèi)可執(zhí)行 32 次雙精度或 64 次單精度浮點(FP)運算,專門針對圖像 / 音視頻處理、數(shù)據(jù)分析、科學(xué)計算、數(shù)據(jù)加密和壓縮和深度學(xué)習(xí)等大規(guī)模運算需求的應(yīng)用場景。
事情的經(jīng)過是 Intel 近日曝出了關(guān)于下一代 CPU 將采用大小核芯片設(shè)計的細(xì)節(jié),搭載這項技術(shù)的 Alder Lake 系列處理器將于明年正式推出。知名 Linux 技術(shù)網(wǎng)站 Phoronix 跟進(jìn)了這則消息,并透露 Alder Lake 將限制 AVX-512 等大型擴(kuò)展指令集,僅完全支持 AVX-2 和其他輕量級的擴(kuò)展指令集。如此一來,芯片大核的數(shù)據(jù)吞吐量和時鐘頻率更高,同時小核的能效更加顯著。也就是說,Intel 限制了某些指令集(比如 AVX512 / TSX / FP16)只能在大核上運行。
Linus 本人看到了這篇文章,并在該文章的討論中發(fā)表了自己的觀點:
我希望 AVX-512 趕緊 “去死”(dies a painful death),這樣 Intel 就可以開始解決實際的問題,而不是去嘗試創(chuàng)造這些花里胡哨的指令集,然后圍繞它們做一些自欺欺人的基準(zhǔn)測試。
我希望 Intel 能夠返璞歸真:讓他們的進(jìn)程再次正常運行,更多地專注于提升用戶基本體驗的常規(guī)代碼,而不是糾結(jié)于所謂的高性能運算或一些毫無意義的特殊情況下才會出現(xiàn)的問題。
我之前已經(jīng)說過這一點,我會再說一遍:在 x86 的鼎盛時期,當(dāng) Intel 一直向銀行大笑并殺死所有競爭對手時,在 FP 負(fù)載方面,其他廠商絕對都比 Intel 做得更好。Intel 的 FP 性能(相對而言)總是略遜一籌,但大家似乎都忽視了這一點。
因為所有人都只在乎所謂的基準(zhǔn)測試跑分結(jié)果。
不論是現(xiàn)在還是將來,AVX-512 的情況是不會改變的,是的,你們可以在 AVX-512 上找到需要的東西,但那些東西并不會帶來你們預(yù)期的收獲。
AVX-512 具有很明顯的缺點,我寧愿看到這些 CPU 芯片的性能用于其他更相關(guān)的事情。即使仍然要做 FP 運算(我寧可它們發(fā)生在 GPU 中,而不是在 AVX-512 中),或者像 AMD 那樣給我更多的內(nèi)核(具有良好的單線程性能,但沒有像 AVX-512 這樣的垃圾)。
我希望使用常規(guī)的整數(shù)代碼來達(dá)到功率的極限,而不是使用某些像 AVX-512 這樣的 “功率病毒”來達(dá)到最高頻率(因為人們最終還是要用它來跑 memcpy 的?。?,但這占據(jù)了大量的內(nèi)核資源(因為那些無用的垃圾單元占用了空間)。
是的,是的,我承認(rèn)我有偏見。我非常討厭 FP 基準(zhǔn)測試,盡管我意識到其他人會深切關(guān)注這玩意兒。我只是認(rèn)為 AVX-512 的存在完全是個錯誤,是我絕對不能忍受的事情。這是 Intel 犯下的一個錯誤的案例,這將導(dǎo)致市場碎片化加劇。
停止使用這種只適用于特殊情況的垃圾,讓所有人都在乎的系統(tǒng)核心盡其所能地運行好其基本的性能。然后做一個專為這些特殊情況準(zhǔn)備的 “FPU”,這樣所有人都會很高興的。AVX-2 真的已經(jīng)綽綽有余了。
是的,我的脾氣就是這么暴躁。
—— Linus Torvalds
總而言之,Linus 認(rèn)為 Intel 為了提高 CPU 的性能跑分,強行在 CPU 中塞入了像 AVX-512 這樣的東西,導(dǎo)致 CPU 內(nèi)核臃腫,為了提升少數(shù)特定使用場景下的運算性能而影響了大部分普通用戶的使用體驗。
早前有傳聞稱,Intel 可能放棄對 AVX-512 的支持,但 Alder Lake 仍然沒有砍掉,只是將 AVX-512 限制在了大核中。事實上,該擴(kuò)展指令集對主流家用臺式機市場的影響確實不大,但可能對數(shù)據(jù)中心和移動設(shè)備(或任何計算負(fù)載劇烈波動的場景)產(chǎn)生較大的影響。
Intel 于 2013 年推出了 AVX-512,其最初只是 Xeon Phi x200 和 Skylake-X 處理器產(chǎn)品線的一部分。但現(xiàn)在 AVX-512 已經(jīng)進(jìn)入包括 Ice Lake 在內(nèi)的諸多 Intel 旗下的主流 CPU 架構(gòu)。
值得一提的是,這早已不是 Linus 第一次沖 Intel 發(fā)飆。2018 年初,為了修補 Spectre 漏洞,Intel 工程師提供了一個間接分支限制推測(indirect branch restricted speculation, IBRS)功能的補丁。Linus 當(dāng)時就在郵件列表中公開指出 IBRS 會造成系統(tǒng)性能大幅降低,直言該補丁 “就是徹徹底底的垃圾”,“Intel 真的要做這個 X 一樣的東西?” 。
上個月,Linus 還嚴(yán)詞拒絕了 AWS 工程師提交的一個關(guān)于修復(fù) Intel 安全漏洞的補丁,并嘲諷其 “像一朵矯情的花一樣”。
一直以來,Linus 都在抗議 Intel 把 CPU 核心做得越來越臃腫冗雜。
自從把自己用了 15 年的 Intel CPU 換成 AMD Ryzen Threadripper 后,Linus 似乎在懟 Intel 的道路上越走越遠(yuǎn)了。