NVIDIA Grace Hopper Superchip 架構(gòu)是第一個真正的異構(gòu)加速平臺,適用于高性能計算(HPC) 和AI工作負載。它利用 GPU 和 CPU 的優(yōu)勢加速應(yīng)用程序,同時提供迄今為止最簡單、最高效的分布式異構(gòu)編程模型。科學(xué)家和工程師可以專注于解決世界上最重要的問題。
圖 1. Grace Hopper 與 x86+Hopper 的最終用戶應(yīng)用程序性能模擬(來源:NVIDIA Grace Hopper 架構(gòu)白皮書) ? 在本文中,您將全面了解 Grace Hopper 超級芯片,并重點介紹 NVIDIA Grace Hopper 帶來的性能突破。 ?
強大的可擴展 HPC 和大型 AI 工作負載的性能和生產(chǎn)力
NVIDIA Grace Hopper Superchip 架構(gòu)將NVIDIA Hopper GPU的突破性性能與NVIDIA Grace CPU的多功能性結(jié)合在一起,在單個超級芯片中與高帶寬和內(nèi)存一致的 NVIDIA NVLink Chip-2-Chip (C2C)互連相連,并且支持新的NVIDIA NVLink 切換系統(tǒng)。 ?
圖 2. NVIDIA Grace Hopper Superchip 邏輯概述 ? NVIDIA NVLink-C2C 是一種 NVIDIA 內(nèi)存一致性、高帶寬和低延遲的超級芯片互連。它是 Grace Hopper Superchip 的核心,提供高達 900 GB/s 的總帶寬。這比加速系統(tǒng)中常用的 x16 PCIe Gen5 通道高 7 倍。 ? NVLink-C2C 內(nèi)存一致性提高了開發(fā)人員的生產(chǎn)力和性能,并使 GPU 能夠訪問大量內(nèi)存。CPU 和 GPU 線程現(xiàn)在可以同時透明地訪問 CPU 和 GPU 駐留內(nèi)存,使您能夠?qū)W⒂?a href="http://ttokpm.com/v/tag/2562/" target="_blank">算法而不是顯式內(nèi)存管理. ? 內(nèi)存一致性使您能夠僅傳輸所需的數(shù)據(jù),而不是將整個頁面遷移到 GPU 或從 GPU 遷移出來。它還通過啟用來自 CPU 和 GPU 的本機原子操作(native atomic operations)來啟用跨 GPU 和 CPU 線程的輕量級同步原語(lightweight synchronization primitives)。具有地址轉(zhuǎn)換服務(wù) (ATS:Address Translation Services ) 的 NVLink-C2C 利用 NVIDIA Hopper 直接內(nèi)存訪問 (DMA) 復(fù)制引擎來加速跨主機和設(shè)備的可分頁內(nèi)存的批量傳輸。 ? NVLink-C2C 使應(yīng)用程序能夠超額訂閱( oversubscribe) GPU 的內(nèi)存,并在高帶寬下直接使用 NVIDIA Grace CPU 的內(nèi)存。每個 Grace Hopper Superchip 具有高達 512 GB 的 LPDDR5X CPU 內(nèi)存,GPU 可以直接高帶寬訪問比 HBM 可用內(nèi)存多 4 倍的內(nèi)存。結(jié)合 NVIDIA NVLink 開關(guān)系統(tǒng),在多達 256 個連接 NVLink 的 GPU 上運行的所有 GPU 線程現(xiàn)在可以在高帶寬下訪問高達 150 TB 的內(nèi)存。第四代 NVLink 支持使用直接加載、存儲和原子操作訪問對等內(nèi)存,使加速應(yīng)用程序能夠比以往更輕松地解決更大的問題。 ? 與 NVIDIA 網(wǎng)絡(luò)技術(shù)一起,Grace Hopper 超級芯片為下一代 HPC 超級計算機和人工智能工廠提供了配方??蛻艨梢猿袚?dān)更大的數(shù)據(jù)集、更復(fù)雜的模型和新的工作負載,從而比以前更快地解決它們。 ?
NVIDIA Grace Hopper 超級芯片的主要創(chuàng)新如下:
英偉達 Grace CPU:
多達 72 個 Arm Neoverse V2 內(nèi)核,每個內(nèi)核具有 Armv9.0-A ISA 和 4 個 128 位 SIMD 單元。
高達 117 MB 的 L3 緩存。
高達 512 GB 的 LPDDR5X 內(nèi)存,提供高達 546 GB/s 的內(nèi)存帶寬。
多達 64 個 PCIe Gen5 通道。
NVIDIA 可擴展一致性結(jié)構(gòu) (SCF) 網(wǎng)格和分布式緩存,內(nèi)存帶寬高達 3.2 TB/s。
單個 CPU NUMA 節(jié)點可提高開發(fā)人員的工作效率。
NVIDIA Hopper GPU:
與 NVIDIA A100 GPU 相比,多達 144 個帶有第四代張量核心、Transformer Engine、DPX 和 3 倍高 FP32 和 FP64 的 SM。
高達 96 GB 的 HBM3 內(nèi)存提供高達 3000 GB/s 的速度。
60 MB 二級緩存。
NVLink 4 和 PCIe 5。
英偉達 NVLink-C2C:
Grace CPU 和 Hopper GPU 之間的硬件一致性互連。
高達 900 GB/s 的總帶寬,450 GB/s/dir。
擴展 GPU 內(nèi)存功能使 Hopper GPU 能夠?qū)⑺?CPU 內(nèi)存尋址為 GPU 內(nèi)存。每個 Hopper GPU 可以在超級芯片內(nèi)尋址多達 608 GB 的內(nèi)存。
NVIDIA NVLink 切換系統(tǒng):
使用 NVLink 4 連接多達 256 個 NVIDIA Grace Hopper 超級芯片。
每個連接 NVLink 的 Hopper GPU 都可以尋址網(wǎng)絡(luò)中所有超級芯片的所有 HBM3 和 LPDDR5X 內(nèi)存,最高可達 150 TB 的 GPU 可尋址內(nèi)存。
性能、可移植性和生產(chǎn)力的編程模型
具有 PCIe 連接加速器的傳統(tǒng)異構(gòu)平臺要求用戶遵循復(fù)雜的編程模型,該模型涉及手動管理設(shè)備內(nèi)存分配和與主機之間的數(shù)據(jù)傳輸。 ? NVIDIA Grace Hopper Superchip 平臺是異構(gòu)的且易于編程,NVIDIA 致力于讓所有開發(fā)人員和應(yīng)用程序都可以訪問它,而不受所選編程語言的影響。 ? Grace Hopper Superchip 和平臺的構(gòu)建都是為了讓您能夠為手頭的任務(wù)選擇正確的語言,而NVIDIA CUDA LLVM 編譯器API 使您能夠?qū)⒛矚g的編程語言帶到具有相同代碼級別的 CUDA 平臺 -生成質(zhì)量和優(yōu)化作為 NVIDIA 編譯器和工具。 ? NVIDIA 為 CUDA 平臺(圖 3)提供的語言包括加速標準語言,如 ISO C++、ISO Fortran 和 Python。該平臺還支持基于指令的編程模型,如 OpenACC、OpenMP、CUDA C++ 和 CUDA Fortran。NVIDIA HPC SDK支持所有這些方法,以及一組豐富的用于分析和調(diào)試的加速庫和工具。 ?
圖 3. NVIDIA Grace Hopper Superchip 編程模型 ? NVIDIA 是 ISO C++ 和 ISO Fortran 編程語言社區(qū)的成員,這使得符合 ISO C++ 和 ISO Fortran 標準的應(yīng)用程序能夠在 NVIDIA CPU 和 NVIDIA GPU 上運行,無需任何語言擴展。有關(guān)在 GPU 上運行符合 ISO 標準的應(yīng)用程序的更多信息,請參閱使用標準并行 C++ 進行多 GPU 編程和使用 Fortran 標準并行編程實現(xiàn) GPU 加速。 ?
該技術(shù)在很大程度上依賴于 NVIDIA NVLink-C2C 和 NVIDIA 統(tǒng)一虛擬內(nèi)存提供的硬件加速內(nèi)存一致性。如圖 4 所示,在沒有 ATS 的傳統(tǒng) PCIe 連接 x86+Hopper 系統(tǒng)中,CPU 和 GPU 具有獨立的每進程頁表,系統(tǒng)分配的內(nèi)存不能直接從 GPU 訪問。當(dāng)程序使用系統(tǒng)分配器分配內(nèi)存但頁面條目在 GPU 的頁表中不可用時,從 GPU 線程訪問內(nèi)存將失敗。 ?
圖 4. 具有不相交頁表的 NVIDIA Hopper 系統(tǒng) ? 在基于 NVIDIA Grace Hopper Superchip 的系統(tǒng)中,ATS 使 CPU 和 GPU 能夠共享單個每個進程的頁表,從而使所有 CPU 和 GPU 線程能夠訪問所有系統(tǒng)分配的內(nèi)存,這些內(nèi)存可以駐留在物理 CPU 或 GPU 內(nèi)存上。CPU 堆、CPU 線程堆棧、全局變量、內(nèi)存映射文件和進程間內(nèi)存可供所有 CPU 和 GPU 線程訪問。 ?
圖 5. NVIDIA Grace Hopper 超級芯片系統(tǒng)中的地址轉(zhuǎn)換服務(wù) ? NVIDIA NVLink-C2C 硬件一致性使 Grace CPU 能夠以緩存行粒度緩存 GPU 內(nèi)存,并使 GPU 和 CPU 無需頁面遷移即可訪問彼此的內(nèi)存。 ? NVLink-C2C 還可以加速 CPU 和 GPU 在系統(tǒng)分配內(nèi)存上支持的所有原子操作。范圍內(nèi)的原子操作得到完全支持,并且可以跨系統(tǒng)中的所有線程實現(xiàn)細粒度和可擴展的同步。 ? 運行時在第一次接觸時使用物理內(nèi)存支持系統(tǒng)分配的內(nèi)存,無論是在 LPDDR5X 還是 HBM3 上,取決于 CPU 或 GPU 線程是先訪問它。從操作系統(tǒng)的角度來看,Grace CPU 和 Hopper GPU 只是兩個獨立的 NUMA 節(jié)點。系統(tǒng)分配的內(nèi)存是可遷移的,因此運行時可以更改其物理內(nèi)存支持以提高應(yīng)用程序性能或應(yīng)對內(nèi)存壓力。 ? 在 NVIDIA Grace Hopper 上,這些應(yīng)用程序明顯受益于 NVLink-C2C 提供的更高帶寬、更低延遲、更高原子吞吐量和內(nèi)存一致性硬件加速,無需任何軟件更改。 ?
Superchip 架構(gòu)特點
以下是 NVIDIA Grace Hopper 架構(gòu)的主要創(chuàng)新: ?
NVIDIA Grace CPU
NVIDIA Hopper GPU
NVLink-C2C
NVLink Switch System
Extended GPU memory
NVIDIA Grace CPU
隨著 GPU 的并行計算能力每一代都增加三倍,快速高效的 CPU 對于防止現(xiàn)代工作負載的串行和僅 CPU 部分主導(dǎo)性能至關(guān)重要。 ? NVIDIA Grace CPU 是第一款 NVIDIA 數(shù)據(jù)中心CPU,它是從頭開始構(gòu)建的,用于創(chuàng)建 HPC 和 AI超級芯片。Grace 提供多達 72 個帶有Armv9.0-A ISA的 Arm Neoverse V2 CPU 內(nèi)核,以及每個內(nèi)核 4×128 位寬的 SIMD 單元,并支持 Arm 的Scalable Vector Extensions 2 (SVE2) SIMD 指令集。 ? NVIDIA Grace 提供領(lǐng)先的每線程性能,同時提供比傳統(tǒng) CPU 更高的能效。72 個 CPU 內(nèi)核在SPECrate 2017_int_base上提供高達 370(估計)的分數(shù),確保高性能以滿足 HPC 和 AI 異構(gòu)工作負載的需求。 ?
圖 6. Grace Hopper 超級芯片中的 NVIDIA Grace CPU 與 AMD Milan 7763 的最終用戶應(yīng)用程序性能和節(jié)能模擬顯示,Grace CPU 的速度提高了 2.5 倍,而能耗降低了 4 倍 ? 機器學(xué)習(xí)和數(shù)據(jù)科學(xué)中的現(xiàn)代 GPU 工作負載需要訪問大量內(nèi)存。通常,這些工作負載必須使用多個 GPU 將數(shù)據(jù)集存儲在 HBM 內(nèi)存中。 ? NVIDIA Grace CPU 提供高達 512 GB 的 LPDDR5X 內(nèi)存,可在內(nèi)存容量、能效和性能之間實現(xiàn)最佳平衡。它提供高達 546 GB/s 的 LPDDR5X 內(nèi)存帶寬,NVLink-C2C 以 900 GB/s 的總帶寬可供 GPU 訪問。
? 單個 NVIDIA Grace Hopper 超級芯片為 Hopper GPU 提供總計 608 GB 的快速可訪問內(nèi)存,幾乎是 DGX-A100-80 中可用的慢速內(nèi)存總量;上一代的八 GPU 系統(tǒng)。 ? 圖 7 所示的 NVIDIA SCF 使這成為可能,這是一種網(wǎng)狀結(jié)構(gòu)和分布式緩存,可提供高達 3.2 TB/s 的總二分帶寬,以實現(xiàn) CPU 內(nèi)核、內(nèi)存、系統(tǒng) I/O 和 NVLink 的全部性能- C2C。CPU 內(nèi)核和 SCF 緩存分區(qū) (SCC) 分布在整個網(wǎng)格中,而緩存交換節(jié)點 (CSN) 通過結(jié)構(gòu)路由數(shù)據(jù)并充當(dāng) CPU 內(nèi)核、緩存內(nèi)存和系統(tǒng)其余部分之間的接口。 ?
圖 7. SCF 邏輯概述 ?
NVIDIA Hopper GPU
NVIDIA Hopper GPU是第九代 NVIDIA 數(shù)據(jù)中心 GPU。與前幾代 NVIDIA Ampere GPU 相比,它旨在為大規(guī)模 AI 和 HPC 應(yīng)用程序提供數(shù)量級的改進。Hopper GPU 還具有多項創(chuàng)新:
新的第四代張量核心在更廣泛的 AI 和 HPC 任務(wù)中執(zhí)行比以往更快的矩陣計算。
與上一代 NVIDIA A100 GPU 相比,新的 Transformer 引擎使 H100 在大型語言模型上的 AI 訓(xùn)練速度提高了 9 倍,AI 推理速度提高了 30 倍。
空間和時間數(shù)據(jù)局部性和異步執(zhí)行的改進功能使應(yīng)用程序能夠始終保持所有單元忙碌并最大限度地提高能效。
安全多實例 GPU (MIG )將 GPU 劃分為隔離的、大小合適的實例,以最大限度地提高較小工作負載的服務(wù)質(zhì)量 (QoS)。
圖 8. NVIDIA Hopper GPU 實現(xiàn)下一代 AI 和 HPC 突破 ? NVIDIA Hopper 是第一個真正的異步 GPU。其張量內(nèi)存加速器 (TMA) 和異步事務(wù)屏障使線程能夠重疊和流水線獨立的數(shù)據(jù)移動和數(shù)據(jù)處理,使應(yīng)用程序能夠充分利用所有單元。 ? 線程塊集群、分布式共享內(nèi)存和線程塊重新配置等新的空間和時間局部性功能為應(yīng)用程序提供了對更大量共享內(nèi)存和工具的快速訪問。這使應(yīng)用程序能夠更好地重用片上數(shù)據(jù),從而進一步提高應(yīng)用程序性能。 ?
圖 9. NVIDIA Hopper GPU 異步執(zhí)行使獨立數(shù)據(jù)移動與計算重疊(左)。新的空間和時間局部性功能提高了應(yīng)用程序性能(右) ?
NVLink-C2C:用于超級芯片的高帶寬、芯片到芯片互連
NVIDIA Grace Hopper 通過 NVIDIA NVLink-C2C 將 NVIDIA Grace CPU 和 NVIDIA Hopper GPU 融合到單個超級芯片中,這是一個 900 GB/s 的芯片到芯片相干互連,可以使用統(tǒng)一的編程模型對 Grace Hopper 超級芯片進行編程。 ? NVLink Chip-2-Chip (C2C) 互連在 Grace CPU 和 Hopper GPU 之間提供高帶寬直接連接,以創(chuàng)建 Grace Hopper Superchip,該超級芯片專為 AI 和 HPC 應(yīng)用程序的嵌入式加速而設(shè)計。 ? 憑借 900 GB/s 的雙向帶寬,NVLink-C2C 以更低的延遲提供 7 倍于 x16 PCIe Gen 鏈路的帶寬。NVLink-C2C 每傳輸比特僅使用 1.3 皮焦耳,比 PCIe Gen 5 節(jié)能 5 倍以上。 ? 此外,NVLink-C2C 是一種連貫的內(nèi)存互連,具有對系統(tǒng)范圍的原子操作的本機硬件支持。這提高了對非本地內(nèi)存的內(nèi)存訪問性能,例如 CPU 和 GPU 線程訪問駐留在其他設(shè)備中的內(nèi)存。硬件一致性還提高了同步原語的性能,減少了 GPU 或 CPU 相互等待的時間,并提高了總系統(tǒng)利用率。 ? 最后,硬件一致性還簡化了使用流行編程語言和框架的異構(gòu)計算應(yīng)用程序的開發(fā)。 ?
NVLink 開關(guān)系統(tǒng)
NVIDIA NVLink 開關(guān)系統(tǒng)結(jié)合了第四代 NVIDIA NVLink 技術(shù)和全新的第三代 NVIDIA NVSwitch。NVSwitch 的單級最多可連接八個 Grace Hopper 超級芯片,胖樹拓撲結(jié)構(gòu)中的第二級最多可將 256 個 Grace Hopper 超級芯片與 NVLink 聯(lián)網(wǎng)。Grace Hopper Superchip 對以高達 900 GB/s 的速度交換數(shù)據(jù)。 ? 該網(wǎng)絡(luò)擁有多達 256 個 Grace Hopper 超級芯片,可提供高達 115.2 TB/s 的全對全帶寬。這是NVIDIA InfiniBand NDR400 整體帶寬的 9 倍。 ?
圖 10. NVIDIA NVLink 4 NVSwitch 的邏輯概述 ? 第四代 NVIDIA NVLink 技術(shù)使 GPU 線程能夠使用正常的內(nèi)存操作、原子操作和批量傳輸來處理 NVLink 網(wǎng)絡(luò)中所有超級芯片提供的高達 150 TB 的內(nèi)存。MPI、NCCL或NVSHMEM等通信庫在可用時透明地利用 NVLink 開關(guān)系統(tǒng)。 ?
擴展 GPU 顯存
NVIDIA Grace Hopper Superchip 旨在加速具有超大內(nèi)存占用空間的應(yīng)用程序,其容量大于單個超級芯片的 HBM3 和 LPDDR5X 內(nèi)存容量。有 ? 高帶寬 NVLink-C2C 上的擴展 GPU 內(nèi)存 (EGM) 功能使 GPU 能夠高效地訪問所有系統(tǒng)內(nèi)存。EGM 在多節(jié)點 NVSwitch 連接系統(tǒng)中提供高達 150 TB 的系統(tǒng)內(nèi)存。使用 EGM,可以分配物理內(nèi)存以供多節(jié)點系統(tǒng)中的任何 GPU 線程訪問。所有 GPU 都可以以 GPU-GPU NVLink 或 NVLink-C2C 的最低速度訪問 EGM。 ? Grace Hopper Superchip 配置中的內(nèi)存訪問通過本地高帶寬 NVLink-C2C 以 900 GB/s 的速度進行。遠程內(nèi)存訪問是通過 GPU NVLink 執(zhí)行的,并且根據(jù)正在訪問的內(nèi)存,還可以使用 NVLink-C2C(圖 11)。借助 EGM,GPU 線程現(xiàn)在可以以 450 GB/s 的速度訪問 NVSwitch 結(jié)構(gòu)上的所有可用內(nèi)存資源,包括 LPDDR5X 和 HBM3。 ?
圖 11. 跨 NVLink 連接的 Grace Hopper 超級芯片的內(nèi)存訪問 ?
編輯:黃飛
?
評論
查看更多