NVLink是Nvidia開發(fā)的一項(xiàng)用于GPU之間點(diǎn)對點(diǎn)高速互聯(lián)的技術(shù),其旨在突破PCIe互聯(lián)帶寬的限制,實(shí)現(xiàn)GPU芯片間低延遲、高帶寬的數(shù)據(jù)互聯(lián),使得GPU間更加高效地協(xié)同工作。在NVLink技術(shù)問世之前(2014年前),GPU之間的互聯(lián)需要通過PCIe switch來實(shí)現(xiàn),如下圖所示。GPU發(fā)出的信號需要先傳遞到PCIe switch, PCIe switch中涉及到數(shù)據(jù)的處理,CPU會對數(shù)據(jù)進(jìn)行分發(fā)調(diào)度,這些都會引入額外的網(wǎng)絡(luò)延遲,限制了系統(tǒng)性能。彼時,PCIe協(xié)議已經(jīng)發(fā)展到Gen 3, 單通道的速率為8Gb/s, 16通道的總帶寬為16GB/s (128Gbps,1 Byte= 8 bits ),隨著GPU芯片性能的不斷提升,其互聯(lián)帶寬成為瓶頸。
(圖片來自https://en.wikichip.org/wiki/nvidia/nvlink)
2014年,NVLink 1.0發(fā)布,并應(yīng)用在P100芯片上,如下圖所示。兩顆GPU之間有4條NVlink, 每個link中包含8個lane, 每條lane的速率是20Gb/s, 因此整個系統(tǒng)的雙向帶寬為160GB/s,是PCIe3 x16帶寬的5倍。
(圖片來自https://en.wikichip.org/wiki/nvidia/nvlink)
單個NVLink內(nèi)部含有16對差分線,對應(yīng)兩個方向各8條lane的信道,如下圖所示,差分對的兩端為PHY,內(nèi)部包含SerDes。
(圖片來自https://www.nextplatform.com/2016/05/04/nvlink-takes-gpu-acceleration-next-level/)
基于NVLink 1.0,可以形成4個GPU的平面mesh結(jié)構(gòu),兩兩之間形成點(diǎn)對點(diǎn)直連,而8個GPU則對應(yīng)cube-mesh,進(jìn)而可以組成DGX-1服務(wù)器,這也對應(yīng)常見的8卡配置,如下圖所示,需要注意的是,此時8個GPU并沒有形成all-to-all連接。
(圖片來自https://developer.nvidia.com/blog/dgx-1-fastest-deep-learning-system/)
2017年,Nvidia推出了第二代NVLink技術(shù)。兩顆GPU V100之間含6條NVLink, 每個link中包含8個lane, 每條lane的速率提升到25Gb/s, 整個系統(tǒng)的雙向帶寬變?yōu)?00GB/s,帶寬是NVLink 1.0的近2倍。與此同時,為了實(shí)現(xiàn)8顆GPU之間的all-to-all互聯(lián),Nvidia推出了NVSwitch技術(shù)。NVSwitch 1.0含有18個port, 每個port的帶寬為50GB/s, 整體帶寬為900GB/s。每個NVSwitch預(yù)留了兩個port, 用于連接CPU。使用6個NVSwitch即可實(shí)現(xiàn)8顆GPU V100的all-to-all連接,如下圖所示。
(圖片來自https://en.wikichip.org/wiki/nvidia/nvswitch)
DGX-2系統(tǒng)則采用兩個上圖中的板子構(gòu)建而成,如下圖所示,實(shí)現(xiàn)了16顆GPU芯片的all-to-all連接。
(圖片來自https://en.wikichip.org/wiki/nvidia/nvswitch)
2020年,NVLink 3.0技術(shù)誕生,兩顆GPU A100芯片之間存在12條NVLink, 每條NVLink含有4條lane, 單條lane的速率為50Gb/s, 因此整個系統(tǒng)的雙向帶寬提升到600GB/s,總帶寬相比NVLink 2.0提升了1倍。由于NVLink的數(shù)目增加了,NVSwitch的port數(shù)目也相應(yīng)增加到36個,每個port的速率為50GB/s。由8顆GPU A100與4個NVSwitch組成了DGX A100, 如下圖所示。
(圖片來自http://www.eventdrive.co.kr/2020/azwell/DGX_A100_Azwellplus.pdf)
2022年,NVLink技術(shù)升級到第四代,兩個GPU H100芯片間通過18條NVLink互聯(lián),每條link中含2條lane, 每條lane支持100Gb/s PAM4的速率,因此雙向總帶寬提升到900GB/s。NVSwitch也升級到第三代,每個NVSwitch支持64個port,每個port的速率為50GB/s。DGX H100由8顆H100芯片與4顆NVSwitch芯片構(gòu)成,如下圖所示。圖中每個NVSwitch的另一側(cè)與多個800G OSFP光模塊相連。以左側(cè)第一個NVSwitch為例,其與GPU相連側(cè)的單向總帶寬為4Tbps (20NVLink*200Gbps),與光模塊相連側(cè)的總帶寬為也為4Tbps (5*800Gbps),兩者大小相等, 是非阻塞(non-blocking)網(wǎng)絡(luò)。需要注意的是,光模塊中的帶寬是單向帶寬,而在AI芯片中一般習(xí)慣使用雙向帶寬。
(圖片來自https://blog.apnic.net/2023/08/10/large-language-models-the-hardware-connection/)
下表整理了每一代NVLink的指標(biāo)參數(shù)。
而PCIe每一代的參數(shù)如下表所示,
從單條lane的速率來看,NVLink整體比同一時期的PCIe的指標(biāo)高1倍左右,而總帶寬的優(yōu)勢更是明顯,NVLink是PCIe總帶寬的5倍左右。一直在超越,從未停止。
NVLink經(jīng)過近十年的發(fā)展,已經(jīng)成為Nvidia GPU芯片中的一個核心技術(shù),是其生態(tài)系統(tǒng)中的重要一環(huán),有效解決了GPU芯片之間高帶寬、低延遲的數(shù)據(jù)互聯(lián)難題,改變了傳統(tǒng)的計(jì)算架構(gòu)。但由于該技術(shù)是Nvidia獨(dú)有,其它AI芯片公司只能采用PCIe或者其它互聯(lián)協(xié)議。與此同時,Nvidia正在探索利用光互連實(shí)現(xiàn)GPU之間的連接,如下圖所示,硅光芯片與GPU共封裝在一起,兩顆GPU芯片間通過光纖連接。
-
gpu
+關(guān)注
關(guān)注
28文章
4729瀏覽量
128890 -
PCIe
+關(guān)注
關(guān)注
15文章
1234瀏覽量
82582 -
PHY
+關(guān)注
關(guān)注
2文章
301瀏覽量
51732
原文標(biāo)題:NVLink的演進(jìn)
文章出處:【微信號:算力基建,微信公眾號:算力基建】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論