GPU-CPU Superchip把CPU和GPU放到了一塊電路板上,上一次CPU和GPU走這么近的時候,還是集成顯卡“寄生”在CPU時候。
肉眼可見的是,左側(cè)應(yīng)該是Hopper GPU芯片,周圍幾個看著像是顯存顆粒。右側(cè)應(yīng)該是Grace CPU,周圍有很多像供電單元一樣的東西。
Grace CPU是英偉達的第一個數(shù)據(jù)中心CPU,擁有最多72個Arm Neoverse V2核心,支持最多512GB的LPDDR5X內(nèi)存,每個CPU的內(nèi)存帶寬可達546GB/s。
Hopper是英偉達第九代數(shù)據(jù)中心GPU,主要面向大規(guī)模AI和HPC應(yīng)用,相較于上一代Ampere 有很多提升。
Grace和Hopper之間通過一個叫NVLink Chip-2-Chip(C2C)的互聯(lián)技術(shù)連在了一起,提供高達900 GB/s的總帶寬(單向是450GB/s),是x16的PCIe Gen5的7倍,可以為兩個芯片提供內(nèi)存一致性、高帶寬和低延遲的通信。
英偉達在文檔里寫道,NVLink C2C所提供的內(nèi)存一致性優(yōu)勢,可以提高開發(fā)者的生產(chǎn)力,可以提高性能,可以提高GPU的可訪問的內(nèi)存容量。
所謂提高生產(chǎn)力,是指在NVLink C2C的幫助下,CPU和GPU現(xiàn)在可以同時且透明地訪問對方的內(nèi)存,這使得開發(fā)者可以專注于算法設(shè)計,而不用花時間做內(nèi)存管理。
NVLink C2C所提供的內(nèi)存一致性,允許開發(fā)者只傳輸他們需要的數(shù)據(jù),而不需要把整個頁面數(shù)據(jù)遷移到GPU或從GPU遷出。
這里提供的內(nèi)存一致性,還支持通過CPU和GPU的原子操作,來實現(xiàn)GPU和CPU線程之間的輕量級同步原語,方便開發(fā)者控制多個線程之間的協(xié)作和通信。
此外,配合地址轉(zhuǎn)換服務(wù)(ATS),NVLink C2C可以利用NVIDIA Hopper DMA引擎,來快速地在主機和設(shè)備之間傳輸大量的內(nèi)存數(shù)據(jù)。
在NVLink C2C的幫助下,應(yīng)用程序可訪問的內(nèi)存不止GPU所提供的96GB,可用的還有來自Grace CPU的內(nèi)存,每一個Grace Hopper Superchip可提供最多512GB的LPDDR5X的CPU內(nèi)存。
加起來就是512+96=608GB!
另外,NVLink C2C還支持NVLink Switch System,這使得一塊Hopper GPU不僅可以訪問本地Grace CPU的內(nèi)存,還能透過交換機訪問遠端的Hopper GPU以及遠端的Grace CPU的內(nèi)存。
也就是說,每一個Hopper GPU都可以訪問集群里的所有內(nèi)存。值得注意的是,NVLink Switch和NVLink C2C的帶寬一樣是900GB/s的,這為跨節(jié)點的內(nèi)存訪問一致性提供了基礎(chǔ)。
由于NVLink可連接最多256張Grace Hopper Superchip,算下來,最多可以訪問150TB(256x608GB)的內(nèi)存。
總之,NVLink C2C能讓應(yīng)用程序能夠更容易地直接讀取、儲存數(shù)據(jù),更方便地進行原子操作,有助于處理更大、更復(fù)雜的問題。
Grace Hopper Superchip屬于是一種異構(gòu)加速平臺,適用于HPC和AI負(fù)載,它對技術(shù)領(lǐng)域的主要貢獻是:提供了迄今為止最簡單、最高效的異構(gòu)編程模型,為解決復(fù)雜問題的人提供了便利。
上圖展示的是基于Grace Hopper Superchip的一個HGX Grace Hopper Superchip節(jié)點,單節(jié)點的TDP高達1000瓦,風(fēng)冷散熱和水冷散熱都行。
這么一個東西要怎么用呢?大體上有兩種組織形式:
第一種是只用InfiniBand,配合英偉達的Bluefield-3 DPU,本質(zhì)上還是傳統(tǒng)的RDMA加速網(wǎng)絡(luò),這種適合橫向擴展的機器學(xué)習(xí)和高性能計算工作負(fù)載。
另一種,在用了InfiniBand的基礎(chǔ)上,還在顯卡那一頭用NVLink Switch System把顯卡連在了一起,這種連接256個Grace Hopper Superchip的完全體適合用來解決世界上規(guī)模最大,最具挑戰(zhàn)性的AI訓(xùn)練和HPC工作負(fù)載。
上圖對比了CPU+顯卡傳統(tǒng)組合,Grace Hopper一體的組合以及配上了NVLink Switch的Grace Hopper三者之間的對比。
對比之下,CPU-GPU靠16通道的PCIe 5.0連接的速度與有了NVLink C2C的Grace Hopper相比實在是太慢了。
而GPU-GPU之間通過InfiniBand的傳輸速度跟基于NVLink 4的NVLink Switch相比,也差距甚遠。
上圖展示了Grace Hopper與x86處理器加GPU傳統(tǒng)組合的性能表現(xiàn)差異。
得益于NVlink C2C的加速作用,CPU到GPU的速度更快了,自然語言處理(NLP)場景的處理時間縮短了4倍。
得益于NVlink C2C和NVlink Switch的加速作用,CPU到GPU的速度更快了,使得DLRM推薦系統(tǒng)的處理時間有明顯縮短。
在圖神經(jīng)網(wǎng)絡(luò)場景中,得益于NVlink C2C的加速作用,Grace Hopper的性能表現(xiàn)也很強。
這張圖顯示的是純x86處理器和有了GPU加速之后的對比情況,由于GPU-CPU之間的帶寬限制,GPU的提升很有限,而有了Grace處理器的加速和NVLink C2C的加速效果之后,性能提高了4.25倍。
看到這里,應(yīng)該已經(jīng)大致感受到Grace Hopper SuperChip的厲害的部分,由于筆者對這些專業(yè)軟件不太熟,也就不現(xiàn)學(xué)現(xiàn)賣介紹了。
本文旨在自己學(xué)習(xí)記錄和幫同樣想了解Grace Hopper SuperChip先睹為快,想了解更多細節(jié)的朋友可以直接看原文檔。
https://resources.nvidia.com/en-us-grace-cpu/nvidia-grace-hopper