深入解讀:英偉達最強異構平臺

如果本文對你有幫助,歡迎關注、討論、點贊、收藏、轉發給朋友,讓我有持續創作的動力,讓我們一起相互學習共同進步。

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

NVIDIA GPU相關內容參考

NVIDIA GPU架構白皮書

和GPU技術專題下載連結、

深度報告:GPU研究框架

​、

CPU和GPU研究框架合集

深入解讀:英偉達最強異構平臺

圖 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 核心,以及每個核心 4×128 位寬的 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。

深入解讀:英偉達最強異構平臺

圖 11。 跨 NVLink 連線的 Grace Hopper 超級晶片的記憶體訪問

原文連結:

https://developer。nvidia。com/blog/nvidia-grace-hopper-superchip-architecture-in-depth/