談?wù)凬VLink那些事
來(lái)源:知乎,作者夏晶晶
長(cháng)Nvlink的誕生
Nvlink誕生于超算 :) 是的,超算。在A(yíng)I出盡風(fēng)頭之前,IT領(lǐng)域真正的技術(shù)探索其實(shí)都是依賴(lài)于超算驅動(dòng)的,這是一個(gè)類(lèi)似于攀登珠穆朗瑪峰并沿途下蛋的持續性技術(shù)改良的模式 :) 和當下AI驅動(dòng)技術(shù)動(dòng)輒就顛覆的模式相差蠻大,說(shuō)不上誰(shuí)優(yōu)誰(shuí)劣,最終都是優(yōu)勝劣汰吧。Nvlink的初始技術(shù)相當大部分來(lái)源于IBM,是的,IBM幾乎是一切技術(shù)的源頭??紤]到IBM那些年在美國的超算市場(chǎng)逐漸下滑,曾經(jīng)的Blue Gene黯然失色,而Nvidia又恰好想在技術(shù)上更進(jìn)一步,他們的結合以IBM的高傲大概率是Nvidia主動(dòng)貼上去的,但也算得上郎有情妾有意,不過(guò)分手的時(shí)候也大概率Nvidia賺得最大。IBM和Nvidia曾經(jīng)是有過(guò)一段如膠似漆的日子。最簡(jiǎn)單的,你看業(yè)界的文檔標注IO帶寬的時(shí)候,只有兩家是乘以二把TX和RX算到一起的,例如正常我們談200G網(wǎng)口的時(shí)候,這網(wǎng)口就是8組25Gbps的Serdes,但IBM和Nvidia是唯二把這個(gè)IO標成400G的 :) 后來(lái)被NVIDIA收養的Mallenox應該很不習慣。Nvidia GPGPU的片上總線(xiàn)NoC看上去也有很多IBM的影子,我經(jīng)常把IBM的NOC論文中的行為套到Nvidia上,幾乎都對。應該還有很多,我們能夠找到關(guān)于這段感情遺留的痕跡。嗯,回到Nvlink,它提出的主旨很簡(jiǎn)單,就是突破PCIe的屏障,達成GPU-GPU及CPU-GPU的高效數據交互,當年正是intel把持pcie最?lèi)毫拥那闆r,PCIe device之間的數據直通需要經(jīng)過(guò)CPU才行(基于所謂訪(fǎng)問(wèn)安全的約束)。所以,那是2016年的秋天,橙黃橘綠,IBM的Power8和Nvidia的P100完成了基于Nvlink的靈與肉的結合,2+4,沒(méi)有PCIe,產(chǎn)品是HPC。Nvlink的演進(jìn)
- - Pascal的Nvlink1.0的IO速率是20Gbps,8Lane per Port,每個(gè)Port 320Gbps(雙向),這其實(shí)是一代不完全成熟的產(chǎn)品,因為這個(gè)Port的速率很獨特,GPGPU內部微架構團隊可能也還沒(méi)有完全接納。
- - Volta的Nvlink2.0的IO速率是25Gbps,8Lane per Port,每個(gè)Port 400Gbps(雙向),從此時(shí)開(kāi)始,GPGPU對這個(gè)數字就鎖定了。
- - Ampere的Nvlink3.0的IO速率是50Gbps,4Lane per Port,每個(gè)Port 400Gbps(雙向)。
- - Hopper的Nvlink4.0的IO速率是100Gbps,2Lane per Port,每個(gè)Port 400Gbps(雙向)。
- - Blackwill的Nvlink5.0,沒(méi)發(fā)布,但以此類(lèi)推,大致就是IO速率200Gbps,1Lane per Port,每個(gè)Port 400Gbps。
DGX和HGX
大狗熊和黑狗熊,很多人傻傻分不清。
Nvidia最初推出的是DGX,2016年發(fā)布的第一代DGX-1,這玩意兒其實(shí)是一個(gè)單機,嚴格來(lái)講,小型機。雖然當年數據中心建設雖然如火如荼,但Nvidia還是希望能以一個(gè)硬件system的模式,把一個(gè)Box賣(mài)給客戶(hù),并獲得足夠高的利潤。君不見(jiàn),這玩意兒渾身內外都涂滿(mǎn)中東土豪的金色,差點(diǎn)就想告訴你你買(mǎi)了一塊大金磚。NvSwitch的演進(jìn)
Nvlink至今到Hopper發(fā)展了四代,而Nvswitch至今有三代 :)也就是說(shuō)第一代Pascal時(shí)期其實(shí)是沒(méi)有Switch的,當年的一機八卡,是一種類(lèi)似Cube的直連系統。多卡系統做Reduce怎么都是跑不掉的,oh,holy shit,當年分析Cube直連系統,算Ring Reduce的路徑覆蓋最大化可真玩死哥了。我感覺(jué)應該很多人和我一樣,紛紛給Nvidia留言了“fxxk”、“Damn”等信息,握爪。- - Pascal只有DGX-1
- - Volta有DGX-1和DGX-2
- - Ampere及Hopper只有DGX-2
- - 什么時(shí)候會(huì )有DGX-3呢?
Nvidia固然從IBM得到了很多,但是最終它并沒(méi)有辜負這段感情。
Nvlink-Network的誕生
Nvlink-Network和Nvlink是兩個(gè)東西,是兩個(gè)東西,是兩個(gè)東西。為什么好好的有Nvlink了,還搞Nvlink-Network ?這個(gè)問(wèn)題的源頭來(lái)自HGX的形態(tài),為什么DGX/HGX-2 V100有8P和16P兩種機器銷(xiāo)售?但DGX/HGX-2 A100卻只有8P唯一形態(tài) ?下圖是Nvidia官方的Nvswitch互聯(lián)圖。為什么?難度微軟給OpenAI提供的是一機八卡的HGX做訓練,所以中國做AI的所有人,所有人都認為只能做一機八卡了?哦,你畫(huà)了幾十萬(wàn)美元買(mǎi)的A100八卡板,他的NvSwitch3.0芯片,都在哭o(╥﹏╥)o啊,18個(gè)Port,其中兩個(gè)Port永遠地留給了那個(gè)男人,但是還有8個(gè)Port是懸空的啊,懸空的啊。嗯,中國購買(mǎi)的所有NvSwitch3.0芯片,都只使能了8/18的Port。。。。。。。老板,快開(kāi)除那些不上進(jìn)的家伙。這個(gè)世界上根本就沒(méi)有16P的A100,對吧?不對啊,有一家有,如下,Google的A2-MegaGPU-16g實(shí)例,這是我在世上唯一找到官方的A100 16P系統。
微軟和AWS都沒(méi)有看到A100的16P實(shí)例,先不忙裁人,這事必有蹊蹺 :)我不是Nvidia的架構師,不知道詳情是什么。我只能猜測一個(gè)答案。Nvlink這個(gè)協(xié)議其實(shí)不適合跨Board,對Cable不適。大概率,Nvlink是做Nvidia做計算的同學(xué)主導的,類(lèi)似Intel的UPI,做計算的人做IO,往往都圖個(gè)簡(jiǎn)單粗暴,沒(méi)有做強大的糾錯碼,也沒(méi)有出錯重傳的設計,遇到丟包直接全機藍屏。勇敢地說(shuō),我是計算的,我做互聯(lián)也是這德行 :)Nvlink1的速率是20G,Nvlink2的速率是25G,Nvlink3的速率是50G,Nvlink4的速率是100G,真的都是整數哦,你看,只有做計算的人才干的出來(lái),網(wǎng)絡(luò )的人不會(huì )這么莽的。做網(wǎng)絡(luò )的同學(xué)會(huì )用26.5625G、53.125G、106.25G,這種完全無(wú)厘頭的頻點(diǎn),這也是大多數Cable和Optical Fiber的頻點(diǎn)。此外,16P的A100系統,兩個(gè)單板之間需要互聯(lián)64x6 = 384 Lane需要互聯(lián),無(wú)論是cable還是Connector,大致上都有非常巨大的工程問(wèn)題。為什么Google搞定了?為什么技術(shù)不能復制到全世界?不知道。但我猜Mallenox的同學(xué)被Nvidia包養之后,來(lái)了IO的同學(xué),一看,這隊友是在送人頭 ?扶了一把。所以,就有了Nvlink-Network。Nvlink-NetWork大致上是按照網(wǎng)絡(luò )的方法做了協(xié)議改造,對,你打開(kāi)Hopper驅動(dòng),歷歷在目,100G頻點(diǎn)之外,多了一個(gè)106.25G,IB的Sharp也被融合到Nvlink-Network放到了Nvswitch內部(驅動(dòng)都沒(méi)變)。收購Mallenox是Nvidia最成功的聯(lián)合了吧。雖然從近期GH200的故事來(lái)看,Nvlink-Network的領(lǐng)域在逐步擴大,已經(jīng)到了256,下一跳,肉眼可見(jiàn)的范圍內,Nvlink-Network會(huì )吃掉IB。以色列人可能也無(wú)所謂吧,畢竟股票賺了那么多。。。。。。。
最后露一個(gè)值個(gè)幾萬(wàn)塊的Nvlink-Network的秘密 :)Hopper的Nvlink帶寬是900GB,要在這么巨大的帶寬上同時(shí)滿(mǎn)帶寬支持Nvlink-Network需要的特性,包括重傳、糾錯、編碼等,GPU寶貴的Silicon面積會(huì )被耗掉非常多,至少1000個(gè)CUDA Core起步吧 :)我給的答案是:只有GPGPU+Nvswitch才能組合出完整的Nvlink-Network,懂的自然懂。
Nvlink-C2C的誕生
先說(shuō)結論:Nvlink-C2C是個(gè)錯誤的技術(shù)路徑。我仿佛記得Nvlink-C2C的主架構師Wei wei是我大學(xué)同學(xué) ?有這么個(gè)模糊印象。如果單純從技術(shù)的角度,Nvlink-C2C真的是一個(gè)恰到好處的設計,挺佩服的。增之一分則太長(cháng),減之一分則太短,信號速率低了,PCB會(huì )變貴,信號速率高了,功耗會(huì )變高。但是Nvlink-C2C從系統來(lái)講,并不是個(gè)好選擇。總遇到有些人,把NVIDIA當作宗教信仰一樣崇拜,把黃教主說(shuō)的就當做圣言。嗨。- - 為什么要綁定Grace+Hopper的1:1配比?那下一代Grace+Blackwell也是1:1 ?
- - 為什么每個(gè)GPU只能配搭500GB DDR容量?GPU這么貴,就不能一顆GPU搭兩顆CPU帶1TB DDR嗎?
- - 為什么要配搭高價(jià)銷(xiāo)售?愛(ài)馬仕賣(mài)中國人就一定要配貨銷(xiāo)售嗎?
- - 為什么不就用Nvlink?Nvlink C2C是900GB帶寬,也就x36Lane的Nvlink4罷了。
- - 資源池化、池化、池化知道不?
-End-
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。