前段時(shí)間介紹超節(jié)點(diǎn)(最近很火的“超節(jié)點(diǎn)”,到底是干啥的?)的時(shí)候,有很多讀者追問NVLINK的細(xì)節(jié)。
今天干脆單獨(dú)開一篇,講講NVLink。
█ NVLink的誕生背景
上世紀(jì)80-90年代,計(jì)算機(jī)技術(shù)高速發(fā)展,逐漸形成了英特爾和微軟為代表的“Wintel”軟硬件體系。
在硬件上,基本上都是圍繞英特爾的x86 CPU進(jìn)行構(gòu)建。為了能讓計(jì)算機(jī)內(nèi)部能夠更好地傳輸數(shù)據(jù),英特爾牽頭設(shè)計(jì)了PCIe總線。
懂電腦的同學(xué),應(yīng)該對(duì)PCIe非常熟悉。我們的顯卡,還有早期的網(wǎng)卡和聲卡等,都是插在計(jì)算機(jī)主板PCIe插槽上工作的。
后來,隨著時(shí)間的推移,計(jì)算機(jī)CPU、內(nèi)存、顯卡的性能越來越強(qiáng)大,相互之間傳輸?shù)臄?shù)據(jù)量也越來越多,PCIe的能力開始出現(xiàn)瓶頸(盡管這個(gè)技術(shù)也在迭代),傳輸速率和時(shí)延逐漸無法滿足需求。
表現(xiàn)最突出的,是顯卡(GPU)的通信需求。
本世紀(jì)初,游戲產(chǎn)業(yè)發(fā)展迅速,顯卡的升級(jí)迭代也很快。當(dāng)時(shí),為了讓游戲體驗(yàn)更加流暢,甚至出現(xiàn)了同時(shí)安裝2塊顯卡的情況。
AMD(2006年收購了ATI)那邊,把這種多顯卡技術(shù)叫做Crossfire(交火)。
而英偉達(dá)這邊,則叫做SLI(Scalable Link Interface,可升級(jí)連接界面,也叫“速力”,2007年推出)。
除了個(gè)人消費(fèi)領(lǐng)域之外,科研領(lǐng)域?qū)︼@卡性能的需求也不斷增加。
科學(xué)家們使用顯卡,不是為了玩游戲,而是為了3D建模,以及執(zhí)行一些超算任務(wù)。
英偉達(dá)在不斷提升顯卡性能的同時(shí),發(fā)現(xiàn)PCIe協(xié)議嚴(yán)重限制了顯卡的對(duì)外數(shù)據(jù)傳輸。于是,他們開始考慮自創(chuàng)一套體系,用于取代PCIe協(xié)議。
2014年,英偉達(dá)基于SLI技術(shù),推出了用于GPU高速互連的新協(xié)議——NVLink(Nvidia Link)。
英偉達(dá)NVLink技術(shù)的早期合作對(duì)象,是IBM。
為什么不是英特爾或AMD呢?因?yàn)镻CIe是英特爾牽頭搞的,不太想搞NVLink。AMD算是英偉達(dá)競(jìng)爭(zhēng)對(duì)手,也不合適。
當(dāng)時(shí),IBM是超算領(lǐng)域的巨頭,而且在技術(shù)參數(shù)上和英偉達(dá)非常匹配,所以雙方進(jìn)行了合作。
英偉達(dá)在發(fā)布NVLink時(shí)指出:
GPU顯存的速度快但容量小,CPU內(nèi)存的速度慢但容量大。因?yàn)閮?nèi)存系統(tǒng)的差異,加速的計(jì)算應(yīng)用一般先把數(shù)據(jù)從網(wǎng)絡(luò)或磁盤移至CPU內(nèi)存,然后再復(fù)制到GPU顯存,數(shù)據(jù)才可以被GPU處理。
在NVLink技術(shù)出現(xiàn)之前,GPU需要通過PCIe接口連接至CPU,但PCIe接口太落后,限制了GPU存取CPU系統(tǒng)內(nèi)存的能力,對(duì)比CPU內(nèi)存系統(tǒng)要慢4-5倍。
有了NVLink之后,NVLink接口可以和一般CPU內(nèi)存系統(tǒng)的帶寬相匹配,讓GPU以全帶寬的速度存取CPU內(nèi)存,解決了CPU和GPU之間的互聯(lián)帶寬問題,從而大幅提升系統(tǒng)性能。
IBM POWER CPU的帶寬高于x86 CPU,PCIe瓶頸效應(yīng)更為明顯,所以,他們才非常積極想要和英偉達(dá)合作。
在GTC2014上,英偉達(dá)CEO黃仁勛對(duì)NVLink贊不絕口。他表示:“NVLink讓 GPU與CPU之間共享數(shù)據(jù)的速度快了5-12倍。這不僅是全球首例高速GPU互聯(lián)技術(shù),也為百億億次級(jí)計(jì)算鋪平了道路?!?/p>
2014年年底,美國能源部宣布將由IBM和英偉達(dá)共同建造兩臺(tái)新的旗艦超級(jí)計(jì)算機(jī),分別是橡樹嶺國家實(shí)驗(yàn)室的Summit系統(tǒng)和勞倫斯利弗莫爾國家實(shí)驗(yàn)室的Sierra系統(tǒng),引發(fā)行業(yè)的高度關(guān)注。
而NVLink,就是其中的關(guān)鍵技術(shù),用于IBM?POWER9 CPU與英偉達(dá)GPGPU(基于Volta架構(gòu))的連接。根據(jù)官方數(shù)據(jù),建成的超級(jí)計(jì)算機(jī)算力高達(dá)100Pflops。
除了超算之外,在智算領(lǐng)域,NVLink也迎來了機(jī)遇。
2012年,AI大佬杰弗里·辛頓帶著兩個(gè)徒弟搞出了深度卷積神經(jīng)網(wǎng)絡(luò)AlexNet,贏得ImageNet圖像識(shí)別大賽,徹底點(diǎn)爆了用GPU進(jìn)行AI計(jì)算這個(gè)路線,從而打開了新世界的大門。
在超算和智算雙重浪潮的助推下,英偉達(dá)的GPU、NVLink、CUDA等技術(shù),開始走向了全面爆發(fā)。
█ NVLink的技術(shù)演進(jìn)
NVLink能夠?qū)崿F(xiàn)更高的速率、更低的時(shí)延,各方面性能都明顯強(qiáng)于PCle。
接下來,我們看看它到底是個(gè)什么樣的連接方式。
英偉達(dá)GTC2014發(fā)布的是NVLink的首個(gè)版本——NVLink 1.0。在2016年(GTC2016)發(fā)布的P100芯片上,就搭載了NVLink 1.0技術(shù)。
NVLink是一種基于高速差分信號(hào)線的串行通信技術(shù)。
每塊P100 GPU集成了4條NVLink 1.0鏈路。每條NVLink 1.0鏈路由8對(duì)差分線(8個(gè)通道)組成。
NVLink鏈路和差分線
每對(duì)差分線(每個(gè)通道)的雙向帶寬是5GB/s。所以,每條NVLink 1.0鏈路的雙向帶寬是40GB/s。
因此,每塊P100 GPU的總雙向帶寬可達(dá)160GB/s,是PCIe3 x16(總帶寬大約32GB/s)的五倍。
NVLink還支持內(nèi)存一致性和直接內(nèi)存訪問(DMA),進(jìn)一步提高了數(shù)據(jù)傳輸效率和計(jì)算性能。
迄今為止,英偉達(dá)陸續(xù)推出了NVLink 1.0~5.0,參數(shù)我就不一一介紹了,可以看下面的表格:
NVLink1-4代際(圖片來自英偉達(dá)官網(wǎng))
再來看看拓?fù)浣Y(jié)構(gòu)。
最簡單的兩張卡直接互連,就是杠鈴?fù)負(fù)洌╞arbell topology)。雙PCIe GPU之間,可以通過NVLink Bridge設(shè)備實(shí)現(xiàn)。
四張GPU卡的話,可以使用十字交叉方形拓?fù)洌╟risscrossed square topology)。這是一種Full Mesh的網(wǎng)狀交叉互聯(lián)結(jié)構(gòu)。
8張GPU卡,就稍微有點(diǎn)復(fù)雜了。
在HGX-1系統(tǒng)中實(shí)現(xiàn)了一種 “hybrid cube mesh” 8 GPU互聯(lián)結(jié)構(gòu)。如下圖所示:
每一塊GPU都巧妙利用了其6條NVLink,與其他4塊GPU相連。8塊GPU以有限的NVLink數(shù)量,實(shí)現(xiàn)了整體系統(tǒng)的最佳性能。
這個(gè)圖看上去有點(diǎn)奇怪。實(shí)際上,如果把它以立體的方式呈現(xiàn),就很清晰了:
就是串聯(lián)的架構(gòu)。
當(dāng)時(shí)英偉達(dá)發(fā)布的超級(jí)計(jì)算機(jī)DGX-1,就是采用了上面這個(gè)架構(gòu)。
2016年,英偉達(dá)CEO黃仁勛給剛剛成立的OpenAI公司贈(zèng)送了世界上第一臺(tái)DGX-1超級(jí)計(jì)算機(jī),價(jià)值129000美元。
這臺(tái)DGX-1擁有2顆Xeon處理器和8顆Tesla P100 GPU,整機(jī)擁有170TFLOPs的半精度(FP16)峰值性能,還配備了512GB系統(tǒng)內(nèi)存和128GB GPU內(nèi)存。
這臺(tái)機(jī)器給OpenAI的早期起步提供了極大幫助,大幅縮短了他們的大模型訓(xùn)練周期。
Hybrid Cube Mesh架構(gòu)實(shí)現(xiàn)了單機(jī)內(nèi)的8卡互連,但也存在一些不足:它屬于一種串行連接,8塊GPU之間并非兩兩互聯(lián),每一塊GPU只與其他4塊GPU相連,且存在帶寬不對(duì)等的情況。
于是,2018年,為了實(shí)現(xiàn)8顆GPU之間的all-to-all互連,英偉達(dá)發(fā)布了NVSwitch 1.0。
NVSwitch,說白了就是“交換芯片”。它擁有18個(gè)端口,每個(gè)端口的帶寬是50GB/s,雙向總帶寬900GB/s。用6個(gè)NVSWitch,可以實(shí)現(xiàn)8顆V100的all-to-all連接。
引入NVSwitch的DGX-2,相比此前的DGX-1,提升了2.4倍的性能。
到NVLink 4.0的時(shí)候,DGX的內(nèi)部拓?fù)浣Y(jié)構(gòu)增加了NVSwitch對(duì)所有GPU的全向直連,DGX內(nèi)部的互聯(lián)結(jié)構(gòu)得到簡化。
2022年,英偉達(dá)將原本位于計(jì)算機(jī)內(nèi)部的NVSwitch芯片獨(dú)立出來,變成了NVLink交換機(jī)。這意味著,一個(gè)計(jì)算節(jié)點(diǎn)已經(jīng)不再僅限于1臺(tái)服務(wù)器,而是可以由多臺(tái)服務(wù)器和網(wǎng)絡(luò)設(shè)備共同組成。
目前,NVLink Switch已經(jīng)發(fā)展到4.0版本。
2022年,NVLink 4.0發(fā)布時(shí),英偉達(dá)把既有的NVLink定義為NVLink-network,然后又專門推出了NVLink-C2C(Chip to Chip,芯片到芯片之間的連接)。
NVLink-C2C是板級(jí)互連技術(shù)。它能夠在單個(gè)封裝中,將兩個(gè)處理器連接在一起,變成一塊超級(jí)芯片(Superchip)。
例如,英偉達(dá)的GH200,就是基于NVLink-C2C,將Grace CPU和Hopper GPU連接成Grace Hopper超級(jí)芯片。
Grace Hopper平臺(tái)的架構(gòu)
目前最新的NVLink代際,是NVLink 5.0,由英偉達(dá)在2024年與Blackwell架構(gòu)一同推出。單GPU可支持多達(dá)18個(gè)NVLink鏈接接,總帶寬達(dá)到1800GB/s,是NVLink 4.0的2倍,是PCIe 5帶寬的14倍以上。
具體參數(shù)前面表格有,小棗君就不多說了。
█ NVL72的整體架構(gòu)
接下來,我們重點(diǎn)看看基于NVLink 5.0打造的DGX GB200 NVL72超節(jié)點(diǎn)。這個(gè)超節(jié)點(diǎn)的架構(gòu)非常有代表性。
DGX GB200 NVL72,包含了18個(gè)GB200 Compute Tray(計(jì)算托架),以及9個(gè)NVLink-network Switch Tray(網(wǎng)絡(luò)交換托架)。如下圖所示:
每個(gè)Compute Tray包括2顆GB200超級(jí)芯片。每顆GB200超級(jí)芯片包括1個(gè)Grace CPU、2個(gè)B200 GPU,基于NVLink-C2C技術(shù)。
所以,整個(gè)機(jī)架就包括了36個(gè)Grace CPU(18×2),72個(gè)B200 GPU(18×2×2)。
8個(gè)DGX GB200 NVL72,又可以組成一個(gè)576個(gè)GPU的SuperPod超節(jié)點(diǎn),總帶寬超過1PB/s,高速內(nèi)存高達(dá)240TB。
NVL72機(jī)架的9個(gè)Switch Tray(網(wǎng)絡(luò)交換托架),就是9臺(tái)NVLink Switch交換機(jī)。
每臺(tái)NVLink Switch交換機(jī)包括2顆NVLink Switch4芯片,交換帶寬為28.8Tb/s × 2。
NVL72采用高速銅連接架構(gòu)設(shè)計(jì)。
在機(jī)架的背框中,有4組NVLink卡盒(NVLink Cartridge),也就是安費(fèi)諾Paladin HD 224G連接器(每個(gè)連接器有72個(gè)差分對(duì)),負(fù)責(zé)計(jì)算托架、網(wǎng)絡(luò)托架之間的數(shù)據(jù)傳輸。
在這些連接器中,容納了5000多根節(jié)能同軸銅纜(NVLink Cables,帶有內(nèi)置信號(hào)放大器),可以提供130TB/s的全對(duì)全總帶寬和260TB/s的集合通信(AllReduce)帶寬。
功耗方面,B200單顆芯片的功耗1000W,1顆Grace CPU和2顆B200組成的超級(jí)芯片GB200,功耗達(dá)到了2700W。整個(gè)DGX GB200 NVL72機(jī)架,功耗大約是120kW(重量大約是1.3噸)。
為了確保穩(wěn)定的供電,NVL72采用了新的增強(qiáng)型大容量母線排設(shè)計(jì)。升級(jí)后的母線排寬度與現(xiàn)有Open Rack Version 3(ORV3)標(biāo)準(zhǔn)相同,但深度更大,顯著提高了其電流承載能力。新設(shè)計(jì)支持高達(dá)1400安培的電流流動(dòng),是現(xiàn)行標(biāo)準(zhǔn)的2倍。
NVL72是液冷機(jī)架式系統(tǒng),采用了增強(qiáng)型免工具安裝(盲配)液冷分配管(歧管)設(shè)計(jì),以及新型可自動(dòng)對(duì)準(zhǔn)的免工具安裝(浮動(dòng)盲配)托盤連接。不僅可以提供120kW冷卻能力,還極大地簡化了安裝和運(yùn)維。
對(duì)外連接方面,NVL72配置了CX7或CX8網(wǎng)卡,通過400G或800G的IB網(wǎng)絡(luò)與外部進(jìn)行Scale Out互聯(lián),對(duì)應(yīng)每臺(tái)compute tray(計(jì)算托架)擁有2個(gè)OSFP 800G或1.6T端口。
值得一提的是,NVL72還包括BlueField-3數(shù)據(jù)處理單元(DPU),可以實(shí)現(xiàn)云網(wǎng)絡(luò)加速、可組合存儲(chǔ)、零信任安全和GPU計(jì)算彈性。
總而言之,GB200 NVL72確實(shí)是一個(gè)性能猛獸,也是打造萬卡、十萬卡GPU集群的利器。
憑借自身強(qiáng)大的算力,NVL72在推出市場(chǎng)后,很快引發(fā)了搶購熱潮。微軟、Meta等科技巨頭,都進(jìn)行了瘋狂采購。
據(jù)悉,GB200 NVL72服務(wù)器的平均單價(jià)約為300萬美元(約合2139萬元人民幣),較NVL36機(jī)柜的平均售價(jià)高出66%。英偉達(dá)又又又賺得盆滿缽滿了。
█?結(jié)語
好啦,以上就是關(guān)于英偉達(dá)NVLink的介紹。
目前,AI算力建設(shè)浪潮仍在持續(xù)。
除了英偉達(dá)之外,包括AMD、華為、騰訊、阿里等在內(nèi)的很多公司都在研究和推進(jìn)自己的節(jié)點(diǎn)內(nèi)部互連(Scale Up)技術(shù)標(biāo)準(zhǔn),也在打造更大規(guī)模的GPU集群。
如果大家感興趣的話,小棗君會(huì)另行介紹。
感謝大家的耐心閱讀,我們下期再見!