天天看點

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

新智元報道

編輯:LRS

【新智元導讀】最近老黃掏出的顯示卡核彈Hopper H100可謂是風頭無兩,性能全面碾壓老前輩。但除了800億半導體,Hopper架構也是完全重新設計的,一起看看架構裡面還有啥細節?

在英偉達GTC 2022大會上,老黃更新了服役近兩年的安培微架構(Ampere),推出Hopper架構,并抛出一塊專為超算設計、包含800億個半導體的顯示卡Hopper H100,比老前輩A100顯示卡的540億半導體還要高出不少。

但光看名字和參數還不夠,Hopper到底牛在哪?

最近英偉達的架構開發師們釋出了一篇部落格,深入講解和分析了Hopper架構。文章作者包括英偉達首席GPU架構師Michael Andersch,GPU架構組傑出工程師Greg Palmer和Ronny Krashinsky,英偉達進階技術營銷總監Nick Stam,進階開發技術工程師Vishal Mehta等核心開發成員。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

Hopper牛在哪?

Hopper架構的名字來自Grace Hopper女士,她被譽為計算機軟體工程第一夫人、編譯語言COBOL之母,她是耶魯大學第一位數學女博士、世界上第三位程式員、全球首個編譯器的發明者,也是第一位發現「bug」的人。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

基于Hopper架構的英偉達Hopper H100張量核心GPU已經是第九代資料中心GPU了,相比上一代安培架構的A100 GPU,Hopper架構明顯強悍了很多,不僅半導體數量有明顯提升,制作工藝也從7納米提升到4納米,為大規模AI和HPC提供了一個數量級的性能飛躍。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

同時H100繼承了A100的主要設計重點,提升了對AI和HPC工作負載的擴充能力,并在架構效率方面進行了大幅改進。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

對于當今的主流人工智能和高性能計算模型,帶有InfiniBand互連的H100可提供比A100強30倍的性能。

并且新的NVLink Switch System在針對一些大型計算工作負載任務,比如需要在多個GPU加速節點上進行模型并行化時,能夠通過互聯調整負載,可以再次提高性能。在某些情況下,性能能夠在使用InfiniBand的H100基礎上再增加兩倍。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

可以說H100 GPU專為高性能計算和超大規模AI模型加速而生,AI模型的推理速度少說也能提升10倍。

Hopper晶片利用了Arm架構的靈活性,是一個完全重新設計、專為加速計算而設計的CPU和伺服器架構。H100能夠與英偉達Grace CPU搭配,借助超快英偉達chip-to-chip互聯,可以提供高達900GB/s的總帶寬,比PCIe Gen5還要快7倍。

在TB級資料的高性能計算下,和世界上最快的伺服器相比,新設計能夠提升10倍性能和30倍的總帶寬。

開發人員總結了一個長長的H100 GPU關鍵新特性清單。

首先H100有一個新的流式多處理器(SM, streaming multiprocessor),性能和效率都有所提升。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

新的第四代張量核心與A100相比,chip-to-chip的性能提升6倍,速度提升主要來自更快的SM,更多的SM數量,以及H100中更高的時鐘頻率。在每個SM上,與上一代16位浮點選項相比,Tensor Cores在同等資料類型上的MMA(矩陣乘積)計算速率是A100 SM的2倍,使用新的FP8資料類型的速率是A100的4倍。稀疏性1功能利用了深度學習網絡中的細粒度結構化稀疏性,使标準張量核心操作的性能提高了一倍。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

新的DPX指令對動态程式設計算法的加速比A100 GPU高7倍。在基因組學處理的Smith-Waterman算法,以及用于在動态倉庫環境中為機器人車隊尋找最佳路線的Floyd-Warshall算法上驗證後,證明了性能提升。

與A100相比,IEEE FP64和FP32的處理率在晶片間快了3倍,這是由于每個SM的clock-for-clock性能快了2倍,加上H100的額外SM數量和更高的時鐘。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

新的線程塊叢集功能能夠以大于單個SM上的單個線程塊的顆粒度對位置性進行程式設計控制。擴充了CUDA程式設計模型,為程式設計層次增加了一個層次,現在包括線程、線程塊、線程塊叢集和網格。叢集使多個線程塊可以在多個SM上并發運作,以同步和協作方式擷取和交換資料。

分布式共享記憶體允許在多個SM共享記憶體塊上進行SM到SM的直接通信,用于加載、存儲和原子學。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

新的異步執行功能包括一個新的張量記憶體加速器(TMA)單元,可以在全局記憶體和共享記憶體之間有效地傳輸大型資料塊。TMA還支援叢集中線程塊之間的異步拷貝。還有一個新的異步事務屏障,用于做原子資料移動和同步。

新的Transformer引擎采用了軟體和定制的英偉達Hopper Tensor Core技術的組合,專門用于加速轉化器模型的訓練和推理。Transformer引擎能夠智能管理并動态選擇FP8和16位計算,自動處理每一層中FP8和16位之間的重鑄和縮放,與上一代A100相比,在大型語言模型上的AI訓練速度提升了9倍,AI推理速度提升了30倍。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

HBM3記憶體子系統比上一代增加了近2倍的帶寬。H100 SXM5 GPU是世界上第一個采用HBM3記憶體的GPU,提供領先于同級别的3TB/秒的記憶體帶寬。

50 MB L2 高速緩存架構緩存了大量的模型和資料集,在重複通路時減少了對HBM3的通路。

與A100相比,第二代多執行個體GPU(MIG)技術為每個GPU執行個體提供了約3倍的計算能力和近2倍的記憶體帶寬。也是首次提供具有MIG級TEE的機密計算能力。支援多達七個獨立的GPU執行個體,每個執行個體都有專用的NVDEC和NVJPG單元。每個執行個體都包括自己的一套性能監控器,可與NVIDIA開發人員工具一起使用。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

新的機密計算(Confidential Computing)支援可以保護使用者資料,抵禦硬體和軟體攻擊,并在虛拟化和MIG環境中更好地隔離和保護虛拟機(VM)。H100實作了世界上第一個原生機密計算GPU,并以全PCIe線速向CPU擴充了可信執行環境(TEE)。

第四代NVLink在all-reduce操作上提供了3倍的帶寬,比上一代NVLink增加了50%的通用帶寬,多GPU IO的總帶寬為900 GB/秒,操作帶寬是PCIe第五代的7倍。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

第三代NVSwitch技術包括駐紮在節點内部和外部的交換機,用于連接配接伺服器、叢集和資料中心環境中的多個GPU。

節點内的每個NVSwitch提供64個第四代NVLink連結端口,以加速多GPU連接配接。交換機的總吞吐量從上一代的7.2 Tbits/秒增加到13.6 Tbits/秒。新的第三代NVSwitch技術還為多點傳播和NVIDIA SHARP網内還原的集體操作提供了硬體加速。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

新的NVLink Switch系統互連技術和基于第三代NVSwitch技術的新的二級NVLink Switches引入了位址空間隔離和保護,使多達32個節點或256個GPU能夠通過NVLink以2:1的錐形樹狀拓撲連接配接起來。

這些連接配接的節點能夠提供57.6TB/秒的all-to-all帶寬,并能夠提供驚人的FP8稀疏AI計算的exaFLOP。PCIe Gen 5能夠提供128GB/秒的總帶寬(每個方向64GB/秒),而第四代PCIe的總帶寬為64GB/秒(每個方向32GB/秒)。PCIe Gen5使H100能夠與最高性能的x86 CPU和SmartNICs或資料處理單元(DPU)連接配接。

CUDA程式設計模型都改了!英偉達架構師團隊撰文:Hopper為啥這麼牛?

更多技術細節可以通路原文檢視。總而言之,H100就是更快、更高、更強!(更貴)

參考資料:

https://developer.nvidia.com/blog/nvidia-hopper-architecture-in-depth/

繼續閱讀