英偉達最強異構平台,深入解讀!
2年前

NVIDIA Grace Hopper Superchip 架構是第一個真正的異構加速平台,適用於高性能計算(HPC) 和AI工作負載。它利用 GPU 和 CPU 的優勢加速應用程序,同時提供迄今爲止最簡單、最高效的分布式異構編程模型。科學家和工程師可以專注於解決世界上最重要的問題。


圖 1. Grace Hopper 與 x86+Hopper 的最終用戶應用程序性能模擬(來源:NVIDIA Grace Hopper 架構白皮書)


在本文中,您將全面了解 Grace Hopper 超級芯片,並重點介紹 NVIDIA Grace Hopper 帶來的性能突破。


強大的可擴展 HPC 和大型 AI 工作負載的性能和生產力


NVIDIA Grace Hopper Superchip 架構將NVIDIA Hopper GPU的突破性性能與NVIDIA Grace CPU的多功能性結合在一起,在單個超級芯片中與高帶寬和內存一致的 NVIDIA NVLink Chip-2-Chip (C2C)互連相連,並且支持新的NVIDIA NVLink 切換系統。

圖 2. NVIDIA Grace Hopper Superchip 邏輯概述

NVIDIA NVLink-C2C 是一種 NVIDIA 內存一致性、高帶寬和低延遲的超級芯片互連。它是 Grace Hopper Superchip 的核心,提供高達 900 GB/s 的總帶寬。這比加速系統中常用的 x16 PCIe Gen5 通道高 7 倍。

NVLink-C2C 內存一致性提高了开發人員的生產力和性能,並使 GPU 能夠訪問大量內存。CPU 和 GPU 线程現在可以同時透明地訪問 CPU 和 GPU 駐留內存,使您能夠專注於算法而不是顯式內存管理.

內存一致性使您能夠僅傳輸所需的數據,而不是將整個頁面遷移到 GPU 或從 GPU 遷移出來。它還通過啓用來自 CPU 和 GPU 的本機原子操作(native atomic operations)來啓用跨 GPU 和 CPU 线程的輕量級同步原語(lightweight synchronization primitives)。具有地址轉換服務 (ATS:Address Translation Services ) 的 NVLink-C2C 利用 NVIDIA Hopper 直接內存訪問 (DMA) 復制引擎來加速跨主機和設備的可分頁內存的批量傳輸。

NVLink-C2C 使應用程序能夠超額訂閱( oversubscribe) GPU 的內存,並在高帶寬下直接使用 NVIDIA Grace CPU 的內存。每個 Grace Hopper Superchip 具有高達 512 GB 的 LPDDR5X CPU 內存,GPU 可以直接高帶寬訪問比 HBM 可用內存多 4 倍的內存。結合 NVIDIA NVLink 开關系統,在多達 256 個連接 NVLink 的 GPU 上運行的所有 GPU 线程現在可以在高帶寬下訪問高達 150 TB 的內存。第四代 NVLink 支持使用直接加載、存儲和原子操作訪問對等內存,使加速應用程序能夠比以往更輕松地解決更大的問題。

與 NVIDIA 網絡技術一起,Grace Hopper 超級芯片爲下一代 HPC 超級計算機和人工智能工廠提供了配方。客戶可以承擔更大的數據集、更復雜的模型和新的工作負載,從而比以前更快地解決它們。

NVIDIA Grace Hopper 超級芯片的主要創新如下:

    英偉達 Grace CPU:

    多達 72 個 Arm Neoverse V2 內核,每個內核具有 Armv9.0-A ISA 和 4 個 128 位 SIMD 單元。

    高達 117 MB 的 L3 緩存。

    高達 512 GB 的 LPDDR5X 內存,提供高達 546 GB/s 的內存帶寬。

    多達 64 個 PCIe Gen5 通道。

    NVIDIA 可擴展一致性結構 (SCF) 網格和分布式緩存,內存帶寬高達 3.2 TB/s。

    單個 CPU NUMA 節點可提高开發人員的工作效率。

NVIDIA Hopper GPU:

    與 NVIDIA A100 GPU 相比,多達 144 個帶有第四代張量核心、Transformer Engine、DPX 和 3 倍高 FP32 和 FP64 的 SM。

    高達 96 GB 的 HBM3 內存提供高達 3000 GB/s 的速度。

    60 MB 二級緩存。

    NVLink 4 和 PCIe 5。

英偉達 NVLink-C2C:

    Grace CPU 和 Hopper GPU 之間的硬件一致性互連。

    高達 900 GB/s 的總帶寬,450 GB/s/dir。

    擴展 GPU 內存功能使 Hopper GPU 能夠將所有 CPU 內存尋址爲 GPU 內存。每個 Hopper GPU 可以在超級芯片內尋址多達 608 GB 的內存。

NVIDIA NVLink 切換系統:

    使用 NVLink 4 連接多達 256 個 NVIDIA Grace Hopper 超級芯片。

    每個連接 NVLink 的 Hopper GPU 都可以尋址網絡中所有超級芯片的所有 HBM3 和 LPDDR5X 內存,最高可達 150 TB 的 GPU 可尋址內存。

性能、可移植性和生產力的編程模型

具有 PCIe 連接加速器的傳統異構平台要求用戶遵循復雜的編程模型,該模型涉及手動管理設備內存分配和與主機之間的數據傳輸。

NVIDIA Grace Hopper Superchip 平台是異構的且易於編程,NVIDIA 致力於讓所有开發人員和應用程序都可以訪問它,而不受所選編程語言的影響。

Grace Hopper Superchip 和平台的構建都是爲了讓您能夠爲手頭的任務選擇正確的語言,而NVIDIA CUDA LLVM 編譯器API 使您能夠將您喜歡的編程語言帶到具有相同代碼級別的 CUDA 平台 -生成質量和優化作爲 NVIDIA 編譯器和工具。

NVIDIA 爲 CUDA 平台(圖 3)提供的語言包括加速標准語言,如 ISO C++、ISO Fortran 和 Python。該平台還支持基於指令的編程模型,如 OpenACC、OpenMP、CUDA C++ 和 CUDA Fortran。NVIDIA HPC SDK支持所有這些方法,以及一組豐富的用於分析和調試的加速庫和工具。

圖 3. NVIDIA Grace Hopper Superchip 編程模型

NVIDIA 是 ISO C++ 和 ISO Fortran 編程語言社區的成員,這使得符合 ISO C++ 和 ISO Fortran 標准的應用程序能夠在 NVIDIA CPU 和 NVIDIA GPU 上運行,無需任何語言擴展。有關在 GPU 上運行符合 ISO 標准的應用程序的更多信息,請參閱使用標准並行 C++ 進行多 GPU 編程和使用 Fortran 標准並行編程實現 GPU 加速。

該技術在很大程度上依賴於 NVIDIA NVLink-C2C 和 NVIDIA 統一虛擬內存提供的硬件加速內存一致性。如圖 4 所示,在沒有 ATS 的傳統 PCIe 連接 x86+Hopper 系統中,CPU 和 GPU 具有獨立的每進程頁表,系統分配的內存不能直接從 GPU 訪問。當程序使用系統分配器分配內存但頁面條目在 GPU 的頁表中不可用時,從 GPU 线程訪問內存將失敗。

圖 4. 具有不相交頁表的 NVIDIA Hopper 系統

在基於 NVIDIA Grace Hopper Superchip 的系統中,ATS 使 CPU 和 GPU 能夠共享單個每個進程的頁表,從而使所有 CPU 和 GPU 线程能夠訪問所有系統分配的內存,這些內存可以駐留在物理 CPU 或 GPU 內存上。CPU 堆、CPU 线程堆棧、全局變量、內存映射文件和進程間內存可供所有 CPU 和 GPU 线程訪問。

圖 5. NVIDIA Grace Hopper 超級芯片系統中的地址轉換服務

NVIDIA NVLink-C2C 硬件一致性使 Grace CPU 能夠以緩存行粒度緩存 GPU 內存,並使 GPU 和 CPU 無需頁面遷移即可訪問彼此的內存。

NVLink-C2C 還可以加速 CPU 和 GPU 在系統分配內存上支持的所有原子操作。範圍內的原子操作得到完全支持,並且可以跨系統中的所有线程實現細粒度和可擴展的同步。

運行時在第一次接觸時使用物理內存支持系統分配的內存,無論是在 LPDDR5X 還是 HBM3 上,取決於 CPU 或 GPU 线程是先訪問它。從操作系統的角度來看,Grace CPU 和 Hopper GPU 只是兩個獨立的 NUMA 節點。系統分配的內存是可遷移的,因此運行時可以更改其物理內存支持以提高應用程序性能或應對內存壓力。

在 NVIDIA Grace Hopper 上,這些應用程序明顯受益於 NVLink-C2C 提供的更高帶寬、更低延遲、更高原子量和內存一致性硬件加速,無需任何軟件更改。

Superchip 架構特點

以下是 NVIDIA Grace Hopper 架構的主要創新:

    NVIDIA Grace CPU

    NVIDIA Hopper GPU

    NVLink-C2C

    NVLink Switch System

    Extended GPU memory

    NVIDIA Grace CPU

隨着 GPU 的並行計算能力每一代都增加三倍,快速高效的 CPU 對於防止現代工作負載的串行和僅 CPU 部分主導性能至關重要。

NVIDIA Grace CPU 是第一款 NVIDIA 數據中心CPU,它是從頭开始構建的,用於創建 HPC 和 AI超級芯片。Grace 提供多達 72 個帶有Armv9.0-A ISA的 Arm Neoverse V2 CPU 內核,以及每個內核 4128 位寬的 SIMD 單元,並支持 Arm 的Scalable Vector Extensions 2 (SVE2) SIMD 指令集。

NVIDIA Grace 提供領先的每线程性能,同時提供比傳統 CPU 更高的能效。72 個 CPU 內核在SPECrate 2017_int_base上提供高達 370(估計)的分數,確保高性能以滿足 HPC 和 AI 異構工作負載的需求。

圖 6. Grace Hopper 超級芯片中的 NVIDIA Grace CPU 與 AMD Milan 7763 的最終用戶應用程序性能和節能模擬顯示,Grace CPU 的速度提高了 2.5 倍,而能耗降低了 4 倍

機器學習和數據科學中的現代 GPU 工作負載需要訪問大量內存。通常,這些工作負載必須使用多個 GPU 將數據集存儲在 HBM 內存中。

NVIDIA Grace CPU 提供高達 512 GB 的 LPDDR5X 內存,可在內存容量、能效和性能之間實現最佳平衡。它提供高達 546 GB/s 的 LPDDR5X 內存帶寬,NVLink-C2C 以 900 GB/s 的總帶寬可供 GPU 訪問。

單個 NVIDIA Grace Hopper 超級芯片爲 Hopper GPU 提供總計 608 GB 的快速可訪問內存,幾乎是 DGX-A100-80 中可用的慢速內存總量;上一代的八 GPU 系統。

圖 7 所示的 NVIDIA SCF 使這成爲可能,這是一種網狀結構和分布式緩存,可提供高達 3.2 TB/s 的總二分帶寬,以實現 CPU 內核、內存、系統 I/O 和 NVLink 的全部性能- C2C。CPU 內核和 SCF 緩存分區 (SCC) 分布在整個網格中,而緩存交換節點 (CSN) 通過結構路由數據並充當 CPU 內核、緩存內存和系統其余部分之間的接口。

圖 7. SCF 邏輯概述

NVIDIA Hopper GPU

NVIDIA Hopper GPU是第九代 NVIDIA 數據中心 GPU。與前幾代 NVIDIA Ampere GPU 相比,它旨在爲大規模 AI 和 HPC 應用程序提供數量級的改進。Hopper GPU 還具有多項創新:

    新的第四代張量核心在更廣泛的 AI 和 HPC 任務中執行比以往更快的矩陣計算。

    與上一代 NVIDIA A100 GPU 相比,新的 Transformer 引擎使 H100 在大型語言模型上的 AI 訓練速度提高了 9 倍,AI 推理速度提高了 30 倍。

    空間和時間數據局部性和異步執行的改進功能使應用程序能夠始終保持所有單元忙碌並最大限度地提高能效。

    安全多實例 GPU (MIG )將 GPU 劃分爲隔離的、大小合適的實例,以最大限度地提高較小工作負載的服務質量 (QoS)。

圖 8. NVIDIA Hopper GPU 實現下一代 AI 和 HPC 突破

NVIDIA Hopper 是第一個真正的異步 GPU。其張量內存加速器 (TMA) 和異步事務屏障使线程能夠重疊和流水线獨立的數據移動和數據處理,使應用程序能夠充分利用所有單元。

线程塊集群、分布式共享內存和线程塊重新配置等新的空間和時間局部性功能爲應用程序提供了對更大量共享內存和工具的快速訪問。這使應用程序能夠更好地重用片上數據,從而進一步提高應用程序性能。

圖 9. NVIDIA Hopper GPU 異步執行使獨立數據移動與計算重疊(左)。新的空間和時間局部性功能提高了應用程序性能(右)

NVLink-C2C:用於超級芯片的高帶寬、芯片到芯片互連

NVIDIA Grace Hopper 通過 NVIDIA NVLink-C2C 將 NVIDIA Grace CPU 和 NVIDIA Hopper GPU 融合到單個超級芯片中,這是一個 900 GB/s 的芯片到芯片相幹互連,可以使用統一的編程模型對 Grace Hopper 超級芯片進行編程。

NVLink Chip-2-Chip (C2C) 互連在 Grace CPU 和 Hopper GPU 之間提供高帶寬直接連接,以創建 Grace Hopper Superchip,該超級芯片專爲 AI 和 HPC 應用程序的嵌入式加速而設計。

憑借 900 GB/s 的雙向帶寬,NVLink-C2C 以更低的延遲提供 7 倍於 x16 PCIe Gen 鏈路的帶寬。NVLink-C2C 每傳輸比特僅使用 1.3 皮焦耳,比 PCIe Gen 5 節能 5 倍以上。

此外,NVLink-C2C 是一種連貫的內存互連,具有對系統範圍的原子操作的本機硬件支持。這提高了對非本地內存的內存訪問性能,例如 CPU 和 GPU 线程訪問駐留在其他設備中的內存。硬件一致性還提高了同步原語的性能,減少了 GPU 或 CPU 相互等待的時間,並提高了總系統利用率。

最後,硬件一致性還簡化了使用流行編程語言和框架的異構計算應用程序的开發。

NVLink 开關系統

NVIDIA NVLink 开關系統結合了第四代 NVIDIA NVLink 技術和全新的第三代 NVIDIA NVSwitch。NVSwitch 的單級最多可連接八個 Grace Hopper 超級芯片,胖樹拓撲結構中的第二級最多可將 256 個 Grace Hopper 超級芯片與 NVLink 聯網。Grace Hopper Superchip 對以高達 900 GB/s 的速度交換數據。

該網絡擁有多達 256 個 Grace Hopper 超級芯片,可提供高達 115.2 TB/s 的全對全帶寬。這是NVIDIA InfiniBand NDR400 整體帶寬的 9 倍。

圖 10. NVIDIA NVLink 4 NVSwitch 的邏輯概述

第四代 NVIDIA NVLink 技術使 GPU 线程能夠使用正常的內存操作、原子操作和批量傳輸來處理 NVLink 網絡中所有超級芯片提供的高達 150 TB 的內存。MPI、NCCL或NVSHMEM等通信庫在可用時透明地利用 NVLink 开關系統。

擴展 GPU 顯存

NVIDIA Grace Hopper Superchip 旨在加速具有超大內存佔用空間的應用程序,其容量大於單個超級芯片的 HBM3 和 LPDDR5X 內存容量。有

高帶寬 NVLink-C2C 上的擴展 GPU 內存 (EGM) 功能使 GPU 能夠高效地訪問所有系統內存。EGM 在多節點 NVSwitch 連接系統中提供高達 150 TB 的系統內存。使用 EGM,可以分配物理內存以供多節點系統中的任何 GPU 线程訪問。所有 GPU 都可以以 GPU-GPU NVLink 或 NVLink-C2C 的最低速度訪問 EGM。

Grace Hopper Superchip 配置中的內存訪問通過本地高帶寬 NVLink-C2C 以 900 GB/s 的速度進行。遠程內存訪問是通過 GPU NVLink 執行的,並且根據正在訪問的內存,還可以使用 NVLink-C2C(圖 11)。借助 EGM,GPU 线程現在可以以 450 GB/s 的速度訪問 NVSwitch 結構上的所有可用內存資源,包括 LPDDR5X 和 HBM3。


追加內容

本文作者可以追加內容哦 !

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。



標題:英偉達最強異構平台,深入解讀!

地址:https://www.breakthing.com/post/29995.html