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