一窺NVIDIA「真正人工智慧」Volta的執行 - 3C

Table of Contents

一窺NVIDIA「真正人工智慧」Volta的執行單元細節

https://goo.gl/8nwZuj

畢竟是享有IEEE這響亮品牌「加持」的研討會,加上坐在台下的聽眾多半又不是呆頭呆腦
的「諸多媒體先進」,諸多在Hot Chips趁機宣揚國威並現場隔空較勁的晶片廠商,多半
都會講些和技術行銷簡報「很不一樣」的深度內容。

NVIDIA這次公佈了「人工智慧最佳化」GPU微架構Volta (GV100) 的執行單元細節,頗有
看頭,平日很難得看到繪圖晶片廠商願意打開「黑盒子」給大家品頭論足,尤其是扮演著
GPU關鍵靈魂,也就是NVIDIA從Fermi一路改名SM SMX SMM再改回SM的「多執行緒SIMD (或
SIMT) 處理器」,過去大家都在亂猜一通,現在總算有機會一窺其廬山真面目。


「分而治之」的NVIDIA產品發展策略

如果今天要筆者馬上評論「為何NVIDIA可以在高階繪圖市場壓倒AMD」,唯一可勉強擠出
的大概也只有一句話:NVIDIA集中足夠的資源,採取分散風險的多樣化產品研發計畫,而
不像同時經營CPU GPU兩條戰線、蠟燭兩頭燒的AMD,被迫雞蛋都放在同一個籃子內。

在2013年的NVIDIA時程表,原本Maxwell要直接演進到Volta。

https://media.cool3c.com/files/media/1/1/11_408.jpg

但2014年,在Volta前就多出一個Pascal了。

https://media.cool3c.com/files/media/1/2/12_355.jpg

所以2016年「汎用」的Pascal,2017年「專用」的Volta,打破了NVIDIA兩年推出一個嶄
新微架構的節奏,搞不好NVIDIA以後的「鐘擺」就以一年為期,也說不定。

https://media.cool3c.com/files/media/1/3/13_324.jpg

以事後諸葛的角度回顧NVIDIA「小步快跑」的決定,一點都不讓人感到意外,因為Volta
的確是NVIDIA史上第一個真正針對人工智慧量身訂做、兼顧「學習 / 訓練」與「推論 /
預測」的微架構。


逐步深入、抽絲剝繭Volta微架構的SM細節

Volta的單一SM規劃和「前前代」Maxwell雷同,切成四塊「次核心 (Sub-Core)」。其實
圖中少畫了載入儲存單元,但好像也無關緊要了。

https://media.cool3c.com/files/media/1/4/14_296.jpg

四塊次核心共用L1指令快取、L1資料快取 (與材質和區域共享記憶體共用128kB容量,
NVIDIA宣稱這樣比較有彈性)、與晶片共用的記憶體子系統 (6MB第二階快取和12GB HBM2
主記憶體)。

每個次核心單一時脈執行一個由32執行緒組成的「Warp」,想的簡單一點,一個Warp就代
表畫面上的一個小方格。

https://media.cool3c.com/files/media/1/5/15_274.jpg

次核心內的執行單元就是重頭戲了,Volta包含五種截然不同的獨立運算功能,這讓它能
夠在眾多GPU中鶴立雞群。

32位元浮點 (FP32):16組,「CUDA Core」的同義詞,如執行16位元半精度,輸出率將會
倍增。
特殊運算 (MUFU):4組,特殊功能單元,負責平方根、倒數、sine 和 cosine 等三角函
數。
64位元浮點 (FP64):8組,高效能運算必備品,消費市場就閹割或著根本看不到。
整數運算 (INT):16組,人工智慧一定用得到,看看Google第一代TPU就知道了。
張量運算核心 (Tensor Core):2組,執行4x4 16位元浮點乘積和,適用於特徵辨識的卷
積運算 (Convolutional Neural Network,CNN)。

值得注意的是,為了確保執行單元隨時有指令可跑,次核心具備「L0」指令快取。

https://media.cool3c.com/files/media/1/6/16_234.jpg

一顆GV100有640個Tensor Core:每個次核心2個 x 4個次核心 x 80個SM = 640個。

可理可證,GV100有5120個CUDA core,Fermi完全體GF110的整整「十倍」,時間過得真快


https://media.cool3c.com/files/media/1/7/17_218.jpg

最後,也是最重要的,Volta可實現更精細的執行緒執行資源管理,每個Warp的32執行緒
,都有其個別獨立的程式計數器 (Program Counter),更利於多工與虛擬化應用。

https://media.cool3c.com/files/media/1/8/18_201.jpg


無所不備則無所不寡

Volta (GV100) 這些補強,特別像獨立的64位元浮點單元、獨立的整數運算單元、與為了
強化推論 (Inference) 而生的16位元浮點乘積和張量 (Tensor) 運算單元「Tensor Core
」,都是對一般遊戲娛樂或高效能運算而言,敬謝不敏的化外之民,即使Pascal後期型號
(GP102 / GP104 / GP106) 也追加了對8位元短整數的支援性,但仍看不到Volta的車尾
燈,而那時的AMD,大概只能仆在馬路上,背後深深烙印著兩條被NVIDIA活活輾過的輪胎
痕。

同樣的「分工」精神,也早已成為NVIDIA自「讓GPU更接近汎用CPU」的Fermi微架構為起
點,產品規劃的重要特色:具備高效能64位元浮點運算的高階應用,都會有專屬的大型化
晶粒,像GF100、GF110、GK110、GK210、GP100、GV100等 (Maxwell世代沒這樣搞,算是
特例),以免消費市場壓根兒不需要的「外掛」,傷害產品競爭力,如不必要的多餘製造
成本與耗電量等。

很不幸的,就剛好就是AMD的弱點,想要單一設計面面俱到,下場就是兩邊都顧不到,
Vega就是很好的血淋淋例證。疑?怎麼又讓筆者想起Fusion了?


--

All Comments

George avatarGeorge2018-02-18
Noah avatarNoah2018-02-21
這作者其他篇都寫得沒上面那篇AMD演進好 XD
最詭異的還是INTEL漏洞那三篇 越寫越難讓一般人看懂
Noah avatarNoah2018-02-25
同時經營CPU GPU兩條戰線、蠟燭兩頭燒的AMD,被迫
Annie avatarAnnie2018-02-27
雞蛋都放在同一個籃子內 <<這邏輯好像怪怪der
Sandy avatarSandy2018-03-03
如果當初hinton跟他學生沒搞出結果 結論又不同惹
Agnes avatarAgnes2018-03-04
AMD只是走錯路,跟啥兩頭燒沒關係
Tracy avatarTracy2018-03-08
成王敗寇囉
Heather avatarHeather2018-03-10
不過目前來看AMD CPU+GPU最成功的大概也只有遊戲機
Iris avatarIris2018-03-12
它在CPU被IBM幫害到走黑歷史CMT
在GPU誤判以為內顯將獨大,獨顯轉弱
捨棄往高階投資,以為那會浪費錢。
Lucy avatarLucy2018-03-13
兩邊都壓錯寶而已。
Todd Johnson avatarTodd Johnson2018-03-14
如果一開始賭對方向,Zen早點出,
結果就完全不一樣了。
Xanthe avatarXanthe2018-03-16
CPU沒丟市佔就不用省錢影響GPU研發
但歷史不能重來,走歪了就是歪了
Belly avatarBelly2018-03-19
內顯那方向一開始其實沒那麼囧 問題是CPU太爛
然後中途又不知道幹麼跑去玩ARM SERVER
Jacky avatarJacky2018-03-24
IBM害人不淺(?
Hamiltion avatarHamiltion2018-03-28
APU會崩掉其實跟內顯不夠強關係不大 是CPU太爛
Bethany avatarBethany2018-04-01
Cpu太差的話,只有內顯好也沒用。
畢竟內顯不夠時,可以插獨顯挽救。
CPU太爛時,卻只能整台換掉。
Oscar avatarOscar2018-04-02
糟的是整個架構方向錯誤,升到頂,ipc還是爛。
Frederic avatarFrederic2018-04-03
所以才說同作者只有上面那篇AMD寫得很好
這篇很像是收了NV的錢在業配........
Steve avatarSteve2018-04-06
塞了Pascal 應該是要懷疑變慢 怎麼說鐘擺1年???
Jacob avatarJacob2018-04-11
還有g大講的 雞蛋同籃內 可是這跟CPU+GPU啥事?
Anonymous avatarAnonymous2018-04-12
真要說的話是AMD fusion沒搞好 讓TPC和AI市場被NV搶
Harry avatarHarry2018-04-13
走 AI或許不算失誤 因為算是新興市場 AMD完全落後者
但是目前TPC那塊就真的跟當年fusion的目標87%像
Sandy avatarSandy2018-04-16
整個AMD都是nvidia Intel的人 等著被獵人頭(咦?
Enid avatarEnid2018-04-20
當初連***都能挖AMD的牆腳了
Hedy avatarHedy2018-04-21
雞蛋放在同一個籃子裏是指 AMD 只能繼續抱著 GCN, n
V 可以像 Intel 一樣同時進行兩個微架構改進
Hardy avatarHardy2018-04-25
那只是因為推土機發展不順,導致公司資源之爭
Enid avatarEnid2018-04-27
要是有錢,同時開幾個方向也沒問題
Andy avatarAndy2018-05-01
如果當年推土機就是Zen架構,很多問題無藥而癒
Elvira avatarElvira2018-05-05
GCN也改不小,但他無法發揮也是AMD賭錯風向
以為DX11會很快被替換,說放同一籃子是事後諸葛
Liam avatarLiam2018-05-09
NV輕忽DX12/Vulkan也是放DX11籃子,只是他成功
所以你不會去嘴成功者,成王敗寇,大家都賭某些東
西
Elma avatarElma2018-05-10
成功有一百個父母,失敗成為孤兒。事後找靶子而已。
Skylar DavisLinda avatarSkylar DavisLinda2018-05-11
IBM: 我家附設孤兒院,歡迎各界技術合作人才交流
Joseph avatarJoseph2018-05-12
APU發展問題也是cpu太爛。不是業界沒需要
GPU資源不足,無法平行搞其他產品線
也是cpu太爛,要集中資源發展下代cpu架構
一切根源是推土機賠光市場對AMD影響太大。
Lily avatarLily2018-05-16
不論初代K10.5或後來推土機的APU都是CPU輸太多
Zenobia avatarZenobia2018-05-20
新年前最後一次推k大(?)
Lucy avatarLucy2018-05-23
K10完全沒達成當年K8升級目標 反而ZEN才像完全體
Jack avatarJack2018-05-26
GCN的問題其實追根究柢應該還是沒錢 前CEO在AMD存亡
時刻砍很凶 gamework基本上都放掉 本來賭當年AMD一
統console市場 遊戲廠只能低頭配合架構 但是事過境
遷大家都知道不是這麼簡單
Brianna avatarBrianna2018-05-29
K8當初後繼者的目標就已經放在整合北橋了 問題AM3一
路可以說活到ZEN出來
Rebecca avatarRebecca2018-06-02
其實GCN沒精簡 可是又能玩統包 大家受益小幅提升
Jessica avatarJessica2018-06-07
然後讓跨平台簡單 我真不覺得算啥問題
因為最近的風向又好像吹往這邊了 不管是挖礦跟AI
Carolina Franco avatarCarolina Franco2018-06-11
然後最近APU開箱 也有看到移植遊戲2400G跑贏1030
其實天平也是有移動的 (或著說之前就谷底 XD)
Ina avatarIna2018-06-16
Kepler其實也沒那麼強 是後面Maxwell才真的壓過AMD
加上那段時間AMD搞自爆 vulkan和DX12還沒被採用
Daph Bay avatarDaph Bay2018-06-20
影響不小的異步運算100%浪費掉
Donna avatarDonna2018-06-24
maxwell優勢也不是浮點運算,
是在MC與ROP那些固定運算管線
在AMD選擇不斷優化DX12 ACE時。
NV選擇優化與API無關的固定功能單位
領先搞定Tile區塊無損色彩壓縮技術
AMD是晚一代才實作色彩壓縮
Callum avatarCallum2018-06-27
事實證明投資效益很高,因為從
DX9-DX12全都受惠,不必痴等遊戲支援
Sandy avatarSandy2018-06-28
壓縮讓nv用較小傳輸量做同樣運算量
能減少不必要耗電。比較不撞功耗牆
Iris avatarIris2018-06-28
Volta一整個過譽了,tensor的效益遠低其他ASIC
Ivy avatarIvy2018-07-03
AMD從頭到尾也是因禍得福~異構差點死在半路~
James avatarJames2018-07-06
Nvidia因為CV在DeepLearning的發展順風順水
Liam avatarLiam2018-07-08
但是摩爾定律到尾聲~架構特化為王~NV遲早也是要走
Lucy avatarLucy2018-07-12
AMD的老路發展通用異構架構,AMD這次賭Vega戰略上
Delia avatarDelia2018-07-15
算是賭對了~就坐等通用架構開花結果吧
Belly avatarBelly2018-07-18
裡面提到那位intel跳amd再回intel,現在待nvidia的
架構師,叫Andy Glew