阿里妹導讀
本文從Nvidia GPU架構的發展歷程講起,重點介紹了各代架構的關鍵特性和技術進步提高了GPU間的通訊效率和並行處理能力。文章特別強調了這些技術在大模型時代的應用,如加速AI訓練和推理。阿里雲ECS例項機型部分介紹了當前在售的GPU例項規格族及其適用場景,指出阿里雲如何透過技術彌補了單卡算力不足的問題。
一、前言
目前很多關於大模型的文章和介紹都是在大模型的工程應用、演算法最佳化、Prompt工程、PAI、百鍊等多產品架構組合等。但是在關於這些AI/ML訓練任務的管理、任務流的分配、任務的排程關係,資料集的加速等支撐方面介紹比較分散。不同AI任務對於異構資源的排程、分配、隔離的需求是不同,不同的排程策略,對於任務的訓練時間、訓練結果也會產生差異。以及從客戶成本管理角度上看,在GPU卡越來越貴情景下,如何實現AI任務的排程對GPU等異構資源充分利用,實現GPU利用趨於飽和,儘可能減少idle的GPU core,實現效益最大化是至關重要的。

所以,可以將AI/ML劃分為:
業務應用:阿里雲AI、開源AI、使用者AI平臺;
AI任務:比如彈性訓練、彈性推理;
AI任務流管理平臺:kubeflow、Arena;任務排程、資料加速、任務流管理
異構資源的排程:異構資源管理、分配、隔離、拓撲感知,實現並滿足不同的AI任務並行需求
基礎異構資源:GPU等。
以及整體支撐的AI倉庫資料和AI觀測。
本系列主要聚焦在介紹基礎異構資源、異構資源排程和AI任務流管理平臺。
本篇文章會從基礎異構資源中的GPU進行介紹,主要介紹Nvidia GPU的機構發展史、以及除了SM core之類的算力增強,為什麼要引入NVLink、NVSwitch,為什麼要進行L1/共享頻寬合併,阿里雲ECS目前的異構機型和適用場景等。
二、Nvidia GPU
2.1.架構演進

2.2.主要架構
2.2.1.Pascal(2016)

關鍵特性包括:
• CUDA core:每個 SM 包含 64 個單精度(FP32)CUDA core,分為兩個處理塊,每個塊有 32 個 FP32 CUDA core。雖然這比 Maxwell SM 的 CUDA core數量少了一半,但它保持了類似的暫存器檔案大小和 warp/執行緒塊佔用率。
• 暫存器和執行緒:儘管每個 SM 的 CUDA core較少,但 GP100 擁有更多的 SM(60個),因此總暫存器數量更多,並支援更多的執行緒、warp 和執行緒塊同時執行。
每個SM具有FP16計算的Cuda core 64個, FP32的Cuda core 32個.所以一個GP100總的core是:
FP16: 64*60=3840, FP32:32*60=1920個
• 共享記憶體:由於 SM 數量增加,GP100 GPU 的總共享記憶體量也增加了,聚合共享記憶體頻寬實際上翻倍。
• 高效執行:改進後的 SM 中共享記憶體、暫存器和 warp 的比例使得程式碼執行更加高效,具有更多的 warp 可供指令排程器選擇,更高的載入啟動次數以及每執行緒到共享記憶體的更高頻寬。
• 高階排程:每個 warp 排程器(每個處理塊一個)能夠在每個時鐘週期排程兩個 warp 指令。
• 新功能:可以處理 16 位和 32 位精度的指令和資料,FP16 操作吞吐量最高可達 FP32 操作的兩倍。(DPunit 單元是 Core 的一半)

Tesla P100 引入了 NVIDIA 的新型高速介面 NVLink,它能夠提供高達 160 GB/s 的雙向頻寬,是 PCIe Gen 3 x16 頻寬的 5 倍。上圖顯示了 NVLink 如何在一個混合立方網格拓撲中連線八個 Tesla P100 加速器,從圖中可以看到,任意一個GPU都有4個NVLink與其他的GPU相連。下圖展示了GPU互聯的路徑:
-
其中NVLINK表示兩個GPU是透過NVLink連結,可以利用總頻寬160GB/s頻寬(雙向),單個GPU-to-GPU之間頻寬是40GB/s(雙向),單向是20GB/s;
-
PCIE表示需要走PCIE— CPU— PCIE 連結,在Pasca架構,是第三代PCIE,理論最大頻寬是16GB/s(單向)
-
雖然NVLInk 1.0 GPU-to-GPU單向只有20GB/s,相比較PCIE的16GB/s提高幅度沒有很震撼。但是需要清楚的是NVLINK只是G2G獨享,但是PCIE的單向16GB/s是兩個GPU,2張NIC網絡卡共用的,真正用於GPU-to-GPU資料傳輸的其實遠遠達不到16GB/s。

NVLink:表示最大雙向40GB/s
PCIE:表示最大雙向32GB/s
所以可以看到,如果GPU需要使用PCIE方式去讀取其他GPU上的資料,必然資料傳輸速度受到了PCIE的影響。從物理架構層面受到PCIE連結頻寬限制,AI任務排程方面要儘可能讓任務排程到NVLink的關聯GPU上。
詳情可參加nvidia官網介紹:https://images.nvidia.com/content/pdf/tesla/whitepaper/pascal-architecture-whitepaper-v1.2.pdf
2.2.2.Volta(2017)

關鍵特性:
-
第二代 NVIDIA NVLink:單GPU支援六條 NVLink 鏈路,總頻寬300 GB/s。
-
HBM2 記憶體,16 GB HBM2 記憶體子系統,頻寬 900 GB/s。
-
L1和共享記憶體合併,由4個紋理單元共享,可以看到記憶體L1/L2分級和擴容都是為了避免資料從記憶體或硬碟讀取,記憶體分級也是任務運算的瓶頸之一。
-
Volta 多程序服務 (MPS),提供QOS和隔離。(這一部分會在下一篇文章結合ACK容器GPU算力排程一起說明)
-
GV100,含有6個GPC,每個GPC擁有7個TPC,14個SM。每個SM擁有:64 個 FP32core+64 個INT32 core+32個 FP64core+8個 Tensor core+4個紋理單元。含84個SM 的完整GV100GPU,總共擁有 5376個 FP32 core、5376 個 INT32 core、2688個 FP64 core、672個 Tensor core以及 336個紋理單元。
-
V100 GPU 包含640個 Tensor core:每個SM有8個core,SM內的每個處理塊(分割槽)有2個core。在VoltaGV100中,每個 Tensor core每時鐘執行64次浮點 FMA 運算,一個5M中的8個 Tensor core每時鐘總共執行512次 FMA 運算(或1024次單個浮點運算)。每個 HBM2 DRAM 堆疊由一對記憶體控制器控制。完整的GV100 GPU 總共包含6144KB 的L2快取。Tesla V100 加速器擁有80個SM。
-
新的張量core使 Volta 架構得以訓練大型神經網路,GPU 並行模式可以實現深度學習功能的通用計算,最常見卷積/矩陣乘(Conv/GEMM)操作,依舊被編碼成融合乘加運算 FMA(Fused Multiply Add),硬體層面還是需要把資料按照:暫存器-ALU-暫存器-ALU-暫存器方式來回來回搬運資料,因此專門設計 Tensor Core 實現矩陣乘計算。
-
NVLInk 2.0 GPU-to-GPU單向提高到25GB/s,相比較1.0提高了5GB/s,但是每個GPU可以連結Link數量提高了到了6條,所以單GPU雙向最大頻寬來到了25*2*6=300GB/s,相比Pascal架構提升了一倍左右。同時,引入NVSwitch1.0 旨在提高 GPU 之間的通訊效率和效能。NVSwitch1.0 可以支援多達 16 個 GPU 之間的通訊,可以實現 GPU 之間的高速資料傳輸。可以看到Nvidia除了瘋狂的堆SM和core,也在想盡一切辦法提升GPU-to-GPU之間的頻寬,使資料儘可能在GPU間快速讀取。隱約可以遇見,如何繞開PCIE,繞開CPU和核心切換是AI時代的瓶頸,畢竟大模型時代,資料量是幾何倍數的增長。
2.2.2.1. NVLINK:第一代GPU-to-GPU


NVLink1:表示最大雙向50GB/s
NVLink2:表示最大雙向100GB/s
PCIE:表示最大雙向32GB/s
由此可以看見Volat架構正在努力的將GPU變成一個整體的GPU對外提供GPU能力,但是不通GPU之間的資料傳輸還是不一樣的,這個對於任務排程GPU計算資源提出了挑戰。
詳情可參加nvidia官網介紹:https://www.nvidia.cn/content/dam/en-zz/zh_cn/Solutions/Data-Center/volta-gpu-architecture/Volta-Architecture-Whitepaper-v1.1-CN.compressed.pdf
2.2.3.Turing(2018)

關鍵特性:
-
包含 2,560 個 CUDA core和 320 個 Tensor core。
-
繼承自 Volta 架構的增強 MPS 功能:Turing 繼承並進一步優化了 Volta 架構中首次引入的多程序服務功能,Tesla T4 上的 MPS 在小批次推理任務中提供了更好的效能,減少了啟動延遲,提高了服務質量(QoS),並且能夠處理更多的併發客戶端請求。
-
大幅提升的記憶體配置:Tesla T4 配備了 16 GB 的 GPU 記憶體和 320 GB/s 的記憶體頻寬,這幾乎是其前代產品 Tesla P4 GPU 的兩倍。
-
每個SM的紋理處理器都引入了wrap進行scheduler排程,並且每個紋理處理器都有自己的暫存器進行資料切換。
-
Turing 架構中的 Tensor Core(張量core)增加了對 INT8/INT4/Binary 的支援,加速神經網路訓練和推理函式的矩陣乘法core。一個 TU102 GPU 包含 576 個張量core,每個張量core可以使用 FP16 輸入在每個時鐘執行多達 64 個浮點融合乘法加法(FMA)操作。SM 中 8 個張量core在每個時鐘中總共執行 512 次 FP16 的乘法和累積運算,或者在每個時鐘執行 1024 次 FP 運算,新的 INT8 精度模式以兩倍的速率工作,即每個時鐘進行 2048 個整數運算。
可以看到Turing架構主要是Volta的改版,主要引入了光線追蹤的功能,而這個功能更多的是利用在3D大型遊戲領域。
T4最適合:小型模型的推理。關鍵特性:
-
比 L4 更舊且速度較慢。
-
適合小規模實驗和原型設計。例如,可以用T4 開始專案,然後在生產環境中使用 L4 或 A10 執行相同的程式碼。
參考:
https://images.nvidia.com/aem-dam/en-zz/Solutions/design-visualization/technologies/turing-architecture/NVIDIA-Turing-Architecture-Whitepaper.pdf
2.2.4.Ampere(2020)

關鍵特徵:
-
每一個SM含有4個第三代Tensor Cores,每一個擁有256個FP16/FP32,意味著每一個SM擁有1025個。L1共享記憶體增加到了192KB。其中A100增加到了108SM。
-
多例項 GPU (MIG):允許 A100 Tensor Core GPU 安全地分割成最多 7 個獨立的 GPU 例項,每個例項的處理器在整個記憶體系統中都有單獨且相互隔離的路徑,片上交叉埠、L2 快取、記憶體控制器和 DRAM 地址匯流排都被唯一地分配給一個單獨的例項,確保單個使用者的工作負載可以在可預測的吞吐量和延遲下執行,同時具有相同的 L2 快取分配和 DRAM 頻寬,即使其他任務正在讀寫快取或 DRAM 介面。使用者可以將這些虛擬 GPU 例項當成真的 GPU 進行使用,為雲計算廠商提供算力切分和多使用者租賃服務。(這一部分會在下一篇文章結合ACK容器GPU算力排程一起說明)
-
第三代 NVLink:第三代 NVLink 的資料速率為 50 Gbit/sec 每對訊號,並首次引入NVLink switch full to mesh 的概念。
-
PCIe Gen 4:支援 PCIe Gen 4,提供 31.5 GB/s 的頻寬。40 GB HBM2 和 40 MB L2 快取:
2.2.4.1. NVLink:第三代

上圖是一個8個A100組網稱的一個大型GPU。可以看到引入了6個NvSwitch的概念。每個GPU連結每個NvSwitch2個Link,每個LInk單向25GB/s,雙向50GB/s。由於NvSwitch的池化作用,所以理論上任何一個GPU與其他GPU進行資料交換的理論速度達到了雙向50*12=600GB/s。

NVLink12:表示最大雙向600GB/s
在Ampere架構,Nvidia利用引入的NvSwitch實現了GPU full mesh組網,實現了8卡或4卡整體對外組網提供一致性服務的能力。

除了GPU之間視訊記憶體的互動,我們還需要注意到PCIE、NIC和GPU之間的組網方式。
解決了GPU之間的資料交換速度不一致情況,我們看一下外部清理。一般情況下,8張NIC網絡卡,兩兩bond對外以一張網絡卡形式對外提供服務。所以其實理論上在系統層面會把8張物理網絡卡識別為4張軟體層面網路裝置(NIC0-NIC4)。所以這裡又會涉及到NIC和NIC之間、NIC 和CPU之間。

PCIE:表示資料只需要經過PCIE交換,A100使用第四代PCIE,雙向達到64GB/s
SYS:表示資料需要經過CPU處理,有上下文和核心切換

PCIE:表示資料只需要經過PCIE交換,A100使用第四代PCIE,雙向達到64GB/s
CPU:表示資料經過的是同一個CPU處理,只需要跨PCIE和 PCIE host bridge
SYS:表示資料需要經過CPU處理,有上下文和核心切換
可以看到資料的遠距離呼叫和切換,對於任務的執行,耗時、計算等都會產生影響,而這個影響是物理層面的瓶頸,只能儘可能的想盡辦法將任務排程得更‘近’一點。
2.2.4.2. 多級頻寬
最下面為這次架構升級所引入 NVLink 技術,它主要來最佳化單機多塊 GPU 卡之間的資料互連訪問。在傳統的架構中,GPU 之間的資料交換受到CPU 和 PCIe 匯流排的瓶頸。

再往上一層為 L2 Cache 快取和 DRAM,它負責的是每塊 GPU 卡內部的儲存。L2 Cache 快取作為一個快取記憶體,用於儲存經常訪問的資料,以減少對 DRAM 的訪問延遲。DRAM 則提供了更大的儲存空間,用於儲存 GPU 計算所需的大量資料。這兩者的協同工作,使得 GPU 能夠高效地處理大規模資料集。
再往上一層為共享記憶體和 L1 Cache,它們負責 SM 中資料儲存,共享記憶體允許同一 SM 內的執行緒快速共享資料,透過共享記憶體,執行緒能夠直接訪問和修改共享資料,從而提高了資料訪問的效率和平行計算的效能。
而最上面是針對具體的計算任務 Math 模組,負責 GPU 數學處理能力。Math 模組包括 Tensor Core 和 CUDA Core,分別針對不同的計算需求進行最佳化。Tensor Core 是專為深度學習等計算密集型任務設計的,能夠高效地執行矩陣乘法等張量運算。而 CUDA Core 則提供了更廣泛的計算能力,支援各種通用的 GPU 計算任務。
在 Ampere 之前的 GPU 架構中,如果要使用共享記憶體(Shared Memory),必須先把資料從全域性記憶體(Global Memory)載入到暫存器中,然後再寫入共享記憶體。這不僅浪費了寶貴的暫存器資源,還增加了資料搬運的時延,影響了 GPU 的整體效能。

如上圖所示,Ampere 架構中提供非同步記憶體複製機制,透過新指令 LDGSTS(Load Global Storage Shared),實現全域性記憶體直接載入到共享記憶體,避免了資料從全域性記憶體到暫存器再到共享記憶體的繁瑣操作,從而減少時延和功耗。
另外,A100 還引入了軟體層面的 Sync Copy,這是一種非同步複製機制,可以直接將 L2 Cache 中的全域性記憶體傳輸到 SMEM 共享記憶體,然後直接執行,減少了資料搬運帶來的時延和功耗。
A100最適合:訓練和推理較大模型(70 億到 700 億引數)。關鍵特性:
-
NVIDIA 的主力 GPU,適用於 AI、資料分析和高效能計算(HPC)任務。
-
提供 40GB 和 80GB 兩種版本。
-
對於記憶體受限的工作負載(如在小批次上執行大模型),A100 可能比 H100 更具成本效益。
A10最適合:小型到中型模型(70 億引數或以下,如大多數基於擴散的影像生成模型)的推理,以及小型模型的小規模訓練。關鍵特性:
-
與 A100 架構相同,因此大多數能在 A100 上執行的程式碼也能在 A10 上執行。
-
小型工作負載的效能與成本比率良好。
參考:
https://images.nvidia.cn/aem-dam/en-zz/Solutions/data-center/nvidia-ampere-architecture-whitepaper.pdf
https://developer.download.nvidia.com/video/gputechconf/gtc/2020/presentations/s21730-inside-the-nvidia-ampere-architecture.pdf
2.2.5.Ada Lovelace(2022)

關鍵特徵:
-
AD102包含12個GPC,72個TPC,144個SM。
-
每個SM包含128 個 CUDA core,一個第三代 RT Core,四個第四代 Tensor core,四個紋理單元,256 KB 暫存器檔案,128 KB 的 L1/共享記憶體,可以根據圖形或計算工作負載的需求配置為不同的記憶體大小。
-
RT Core 在 Turing 和 Ampere GPU 中:包含專用硬體單元,用於加速資料結構遍歷,執行關鍵的光線追蹤任務。
L4最適合:小型到中型模型(70 億引數或以下,如大多數基於擴散的影像生成模型)的推理。關鍵特性:
-
成本效益高,但仍具備強大效能。
-
VRAM 容量與 A10 相同,但記憶體頻寬僅為一半。
-
效能比 T4 高出 2 到 4 倍。
參考:https://images.nvidia.cn/aem-dam/Solutions/Data-Center/l4/nvidia-ada-gpu-architecture-whitepaper-v2.1.pdf
2.2.6.Hopper(2022)

關鍵資訊:
-
結合軟體和定製的 Hopper Tensor core:專門設計用於加速 Transformer 模型訓練和推理。智慧管理 FP8 和 16 位計算,自動處理重鑄和縮放,提供高達 9 倍的 AI 訓練速度和 30 倍的大型語言模型推理速度。
-
提供近 2 倍的頻寬提升:H100 SXM5 GPU 是首款採用 HBM3 記憶體的 GPU,提供 3 TB/s 的記憶體頻寬。
-
50 MB L2 快取:快取大量模型和資料集,減少對 HBM3 的重複訪問。
-
第二代MIG技術,提供約 3 倍的計算能力和近 2 倍的記憶體頻寬。
-
每個 GPU 例項支援多達 7 個獨立的例項,每個例項有自己的效能監控工具。(這個為雲產生切分GPU給多個租戶創造條件)
-
第四代NVLink:提供 3 倍的頻寬提升:總頻寬為 900 GB/s,是 PCIe Gen 5 的 7 倍。
-
第三代NVLink Switch,最多可連線 32 個節點或 256 個 GPU。
-
提供 128 GB/s 的總頻寬:每個方向 64 GB/s,是 PCIe Gen 4 的兩倍
-
SM提供256 KB 的共享記憶體和 L1 資料快取,允許直接 SM 間通訊,用於載入、儲存和原子操作,跨越多個 SM 共享記憶體塊,引入TMA。

在第 4 代 Tensor Core 中,一個顯著的創新是引入了 Tensor Memory Accelerator(TMA),這一功能被稱為增量記憶體加速。這一硬體化的資料非同步載入機制使得全域性記憶體的資料能夠更為高效地非同步載入到共享記憶體,進而供暫存器進行讀寫操作。傳統的 Warp-Level 程式設計模式要求所有執行緒都參與資料搬運和計算過程,這不僅消耗了大量的資源,還限制了計算規模的可擴充套件性。而單執行緒 schedule 模型則打破了這一束縛,它允許 Tensor Core 在不需要所有執行緒參與的情況下進行運算。這種設計大大減少了執行緒間的同步和協調開銷,提高了計算效率。
H100最適合:訓練和推理非常大的模型(700 億引數及以上),基於 Transformer 的架構,低精度(8 位)推理。關鍵特性:
-
截至2024年底在售的最強大的 NVIDIA 資料中心 GPU。
-
大多數工作負載比 A100 快約兩倍,但更難獲取且價格更高。
-
最佳化用於大型語言模型任務,提供超過 3 TB/s 的記憶體頻寬,對於需要快速資料傳輸的 LLM 推理任務至關重要。
-
包含專門用於低精度(FP8)操作的計算單元。
參考:https://resources.nvidia.com/en-us-tensor-core
2.2.7.Blackwell
目前據說已經推遲到2025上半年商業化,已經跳票好多次,目前官方還沒有釋出詳細的白皮書資訊。以下資訊來自官方Breif說明。
-
新型 AI 超級晶片:Blackwell 架構 GPU 具有 2080 億個電晶體,採用專門定製的臺積電 4NP 工藝製造。所有 Blackwell 產品均採用雙倍光刻極限尺寸的裸片,透過 10 TB/s 的片間互聯技術連線成一塊統一的 GPU。
-
第二代 Transformer 引擎:將定製的 Blackwell Tensor Core 技術與英偉達 TensorRT-LLM 和 NeMo 框架創新相結合,加速大語言模型 (LLM) 和專家混合模型 (MoE) 的推理和訓練。
-
NVLink 5.0:為了加速萬億引數和混合專家模型的效能,新一代 NVLink 為每個 GPU 提供 1.8TB/s 雙向頻寬,支援多達 576 個 GPU 間的無縫高速通訊,適用於複雜大語言模型。
-
RAS 引擎:Blackwell 透過專用的可靠性、可用性和可服務性 (RAS) 引擎增加了智慧恢復能力,以識別早期可能發生的潛在故障,從而更大限度地減少停機時間。
-
安全 AI:內建英偉達機密計算技術,可透過基於硬體的強大安全性保護敏感資料和 AI 模型,使其免遭未經授權的訪問。
-
解壓縮引擎:擁有解壓縮引擎以及透過 900GB/s 雙向頻寬的高速鏈路訪問英偉達 Grace CPU 中大量記憶體的能力,可加速整個資料庫查詢工作流,從而在資料分析和資料科學方面實現更高效能。

參考:
https://resources.nvidia.com/en-us-blackwell-architecture
2.3.NVLink和NVSwitch
隨著邁入大模型主導的時代,訓練這些複雜的大型模型絕非易事,不僅因為需要耗費大量的GPU資源和時間成本,還因為單個GPU的記憶體容量有限,無法獨自承載許多大型模型的資料量。為了解決這一挑戰,業界轉向了多GPU協作訓練的方式,即分散式計算,分散式通訊的概念是將多個計算單元(如伺服器或GPU)互聯,讓它們能夠協同工作以完成一個共同的任務。這種方式依賴於節點間的高效通訊機制。
PCI express每一代頻寬都是前一代的2倍,PCIE gen 5 x16 即為64GB/s,而且目前能生產PCIE gen5 和gen6的廠商全球僅有2-3家,產能極其有限。

H100的32位浮點計算能力為67TFLOPS,如果每個浮點都是用來從GPU外搬運資料,而不是複用舊的資料,則需要67 * 10 ^ 3 * 32 Gbps的頻寬,268000GB/s。顯然這個頻寬遠遠超過了PCIE的能力,同時由於客戶複用資料的水準是有一定瓶頸的,那麼為了避免更多的計算單元閒置浪費,就需要更多的頻寬去做資料處理。
NVLink 是雙向直接 GPU-GPU 互連,NVLink 5.0連線主機和加速處理器的速度高達每秒 1800GB/s,這是傳統 x86 伺服器的互連通道——PCIe 5.0 頻寬的 14 倍多。英偉達 NVLink-C2C 還將 Grace CPU 和 Hopper GPU 進行連線,加速異構系統可為數萬億和數萬億引數的 AI 模型提供加速效能。

NVLINK互聯前文已經在【主要架構】中說明,此處不再詳細闡述。
NVLink代表了一種前沿的互聯標準,它不僅包括匯流排設計,還涵蓋了通訊協議,旨在最佳化CPU與GPU之間,以及多個GPU之間的直接連線。透過採用點對點架構和序列傳輸技術,NVLink能夠提供比傳統介面更高效的資料交換能力。而NVSwitch則進一步推進了這一技術,它是一種專為高效能計算設計的高速互連解決方案。作為一款獨立的NVLink晶片,NVSwitch能夠支援多達18個NVLink連線,從而實現多GPU配置中的極速資料流通,極大地促進了複雜計算任務的並行處理效率。

利用NVSwitch,可以打破GPU2GPU的單點連結實現full mesh的GPU全項鍊接,詳情請見【2.2.4 Ampere】

如上圖所示,在沒有 NVSwitch 的配置中,GPU 之間的連線是透過 NVLinks 來實現的,而不同GPU之間的NVLink的數量是不一樣的。所以任意兩個 GPU 之間的最大頻寬受限於他們之間的 NVLink 數量和頻寬。但是利用NVSwitch,可以打破GPU2GPU的單點連結實現full mesh的GPU全項鍊接,實現任意GPU間的一致性性。詳情請見【2.2.4 Ampere】
參考:
https://www.nvidia.cn/data-center/nvlink/
2.4.CUDA

GPU資源使用涉及兩個方面:cuda river和cuda toolkit(runtime和libraries)。程式呼叫GPU資源其實是呼叫cuda toolkit,具體底層GPU資源的利用其實是由cuda river去驅動。(不恰當的比喻:可以把cuda driver當作contained,toolkit是kubelet。pod建立其實是發訊號給kubelet,具體pod如何創建出來是由containered去實現的)

這裡其實細分可以化成3個層級概念:
CUDA Toolkit: 這裡是面向開發者、應用程式暴露的直接呼叫GPU能力的runtime,libraries
CUDA user-mode driver:使用者態cuda驅動
CUDA kernel-mode driver:核心態驅動
所以這裡涉及幾個需要關注的部分:GPU卡所能支援的CUDA Driver的版本, 以及CUDA Driver版本和CUDA Toolkit的相容性:
GPU卡和CUDA Driver版本的資訊表
Download The Latest Official NVIDIA Drivers:https://www.nvidia.com/en-us/drivers/
Toolkit和Nvidia驅動版本兼容表
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
CUDA 12.5 Update 1 Release Notes
參考:
1. Why CUDA Compatibility — CUDA Compatibility r555 documentation
https://docs.nvidia.com/deploy/cuda-compatibility/
三、阿里雲異構計算例項機型
阿里雲目前在售的GPU例項族、使用的GPU型別、架構和適用場景,部分資料總結自官方文件。

如果官網沒提供GPU型號,可以參考第三方網站:https://pcr.cloud-mercato.com/providers/virtual-machines?provider=alibaba&sort=gpu_number&page=4
阿里雲的7-8代機器也提供了將多個機器利用eRDMA方式組成一個GPU叢集適配單卡算力的不足,但是整體看這個最大160Gb/s,相比較Hopper 的NvSwitch 3.0 256GPU互聯,G2G的450GB/s,還是有比較大差距。大資料下的計算場景需要考慮到資料搬運受頻寬限制的瓶頸。
四、小結
本篇主要簡單介紹了Nvidia 異構架構的演進歷史、阿里雲ECS例項機型、適用場景。透過上述介紹,應該初步瞭解了Nvidia歷代架構除了各種增強單GPU內的SM,最佳化L1/共享快取、HBM,還費勁心思去最佳化PCIE、NVLink、NVSwitch等GPU-to-GPU之間的鏈路。所有的這些架構上的最佳化,都是為了適應目前大模型時代“大資料規模、大引數規模、大算力需求”帶來的分散式計算對海量資料快速處理搬運的需求,最終目的是為了提高單位時間內的GPU負荷率,降低資源浪費。
下一篇會開始會從【異構資源調】出發。而從這裡開始,雲的客戶就需要關注並最佳化AI任務的在GPU卡上的資源排程配置、GPU卡的隔離、QoS保障、NUMA感知等;多個GPU節點混合組網對外提供更強GPU能力下,由大引數、大資料帶來的網路組網和GDR、RDMA的需求;以及AI時代下,ACK AI套件對機器GPU資源的感知、分配和排程。這些最終目的都透過增大資料的快速讀取和搬運,實現加快AI訓練/推理的任務的同時,減少GPU空閒,提高GPU的利用率,從排程層儘可能榨乾GPU資源。
構建AI總結助手,實現智慧文件摘要
本方案使用阿里雲百鍊平臺,集成了先進人工智慧技術的解決方案,旨在幫助使用者高效地管理和分析資訊。透過搭建AI總結助手,使用者可以利用自然語言處理和機器學習技術,自動提取文件中的關鍵資訊,從而提高工作效率,減少人力成本。
點選閱讀原文檢視詳情。