正在閱讀:

800億晶體管核彈GPU架構(gòu)深入解讀,又是“拼裝貨”?

掃一掃下載界面新聞APP

800億晶體管核彈GPU架構(gòu)深入解讀,又是“拼裝貨”?

NVIDIA如何做到如此大幅的性能升級?Hopper架構(gòu)有何玄機?

文 | 芯東西  陳巍

編者注:NVIDIA在3月23日公布基于全新Hopper架構(gòu)的GPU H100,其多種精度下的AI性能達到上一代A100的3~6倍。NVIDIA如何做到如此大幅的性能升級?Hopper架構(gòu)有何玄機?千芯科技董事長陳巍博士對此加以解讀。

在2022年3月NVIDIA GTC大會上,NVIDIA創(chuàng)始人兼CEO黃仁勛介紹了一款基于全新Hopper架構(gòu)的H100 GPU,這是英偉達迄今用于加速人工智能(AI)、高性能計算(HPC)和數(shù)據(jù)分析等任務(wù)的最強GPU芯片。

▲Hopper架構(gòu)H100 GPU的主要升級

Hopper架構(gòu)以計算科學的先驅(qū)Grace Hopper的姓氏命名。黃教主稱:“Hopper H100是有史以來最大的代際飛躍。H100具有800億個晶體管,在性能上堪稱NVIDIA的“新核彈”。

那么,“新核彈”的核心是什么樣的?本文將深入解讀和分析Hopper架構(gòu)。

▲Hopper架構(gòu)的H100與前幾代GPU性能對比

注:Grace Hopper博士是哈佛Mark 1的首批程序員,被譽為編譯語言之母。據(jù)稱她發(fā)現(xiàn)了計算機程序中的第一個Bug,同時也創(chuàng)造了計算機世界最大的Bug——千年蟲。

01.Hopper的整體結(jié)構(gòu)拆解

NVIDIA Hopper架構(gòu)H100芯片采用臺積電4nm工藝(N4是臺積電N5工藝的優(yōu)化版),芯片面積為814平方毫米(比A100小14平方毫米)。

▲H100 Tensor Core GPU的性能規(guī)格

Hopper架構(gòu)可以視為由兩組對稱結(jié)構(gòu)拼接而成。(是不是有點類似我們之前介紹的蘋果UltraFusion架構(gòu)的拼接思路?不過這里的GPU還是單片的。回顧蘋果UltraFusion架構(gòu)可參見《蘋果芯片“拼裝”的秘方,在專利里找到了》文章。)

在頂層拓撲上,Hopper似乎與她的前輩Ampere架構(gòu)差別不大。圖中的Hopper架構(gòu)GPU由8個圖形處理集群(Graphics Processing Cluster,GPC)“拼接”組成。

▲Hopper架構(gòu)基本結(jié)構(gòu)

外周與多組HBM3封裝在一起(Chiplet技術(shù)),形成整個芯片模組——從模組上看又是個“拼裝貨”。片上的每個GPC又由9個紋理處理集群(Texture Processor Cluster,TPC)“拼接”組成。

由PCIe5或SMX接口進入的計算任務(wù),通過帶有多實例GPU(Multi-Instance GPU,MIG)控制的GigaThread引擎分配給各個GPC。GPC之間通過L2緩存共享中間數(shù)據(jù),GPC計算的中間數(shù)據(jù)通過NVLink與其他GPU連接/交換。每個TPC由2個流式多處理器(Streaming Multiprocessor,SM)組成。

Hopper架構(gòu)的性能提升和主要變化體現(xiàn)在新型線程塊集群技術(shù)和新一代的流式多處理器(具有第4代張量核心)。

▲線程塊集群和帶有集群的網(wǎng)格

Hopper架構(gòu)中引入了一種新的線程塊集群機制,該機制可以跨SM單元進行協(xié)同計算。H100 中的線程塊集群可在同一GPC內(nèi)的大量SM并發(fā)運行,這樣對較大的模型具有更好的加速能力。

02.新一代流式多處理器SM與FP8支持

Hopper架構(gòu)的新一代流式多處理器引入了FP8張量核心(Tensor Core)來加速AI訓練和推理。FP8張量核心支持FP32和FP16累加器,以及兩種FP8 輸入類型(E4M3和E5M2)。

▲流式多處理器SM

與FP16或BF16相比,F(xiàn)P8將數(shù)據(jù)存儲要求減半,吞吐量翻倍。我們在Transformer引擎的分析中還會看到使用FP8可自適應(yīng)地提升Transformer的計算速度。

每個SM包括128個FP32 CUDA核心、4個第4代張量核心(Tensor Core)。

進入SM單元的指令首先存入L1指令緩存(L1 Instruction Cache),然后再分發(fā)到L0指令緩存(L1 Instruction Cache)。與L0緩存配套的線程束排序器(Wrap Scheduler)和調(diào)度單元(Dispatch Unit)來為CUDA核心和張量核心分配計算任務(wù)。(注:GPU中最小的硬件計算執(zhí)行單位是線程束,簡稱Warp。)

▲FP8具有FP16或BF162 2倍吞吐量

每個SM通過使用4個特殊函數(shù)單元(Special Function Unit,SFU)單元進行超越函數(shù)和插值函數(shù)計算。

03.Hopper的張量核心與Transformer引擎

在GPU中,張量核心是用于矩陣乘法和矩陣累加 (Matrix Multiply-Accumulate,MMA) 數(shù)學運算的專用高性能計算核心,可為AI和HPC應(yīng)用程序提供突破性的性能加速。

張量核心是GPU中做AI加速的關(guān)鍵模塊,也是Ampere及之后GPU架構(gòu)與早期GPU的顯著區(qū)別所在。

Hopper的張量核心支持FP8、FP16、BF16、TF32、FP64和INT8 MMA數(shù)據(jù)類型。這一代張量核心的關(guān)鍵點是引入了Transformer引擎。

▲H100 FP16 Tensor Core的吞吐量是A100 FP16 Tensor Core的3倍

Transformer算子是主流的BERT到GPT-3等NLP模型的基礎(chǔ),且越來越多地應(yīng)用于計算機視覺、蛋白質(zhì)結(jié)構(gòu)預(yù)測等不同領(lǐng)域。

與上一代A100相比,新的Transformer引擎與Hopper FP8張量核心相結(jié)合,在大型NLP模型上提供高達9倍的AI訓練速度和30倍的AI推理速度。

▲新的Transformer引擎動態(tài)調(diào)整數(shù)據(jù)格式以充分運用算力

為了提升Transformer的計算效率,在這一新的Transformer引擎中使用了混合精度,在計算過程中智能地管理計算精度,在Transformer計算的每一層,根據(jù)下一層神經(jīng)網(wǎng)絡(luò)層及所需的精度,在FP8和其他浮點格式中進行動態(tài)格式轉(zhuǎn)換,充分運用張量核心的算力。

04.張量存儲加速器與異步執(zhí)行

Hopper架構(gòu)中新增加了張量存儲加速器(Tensor Memory Accelerator,TMA) ,以提高張量核心與全局存儲和共享存儲的數(shù)據(jù)交換效率。

在這一新的TMA操作中,使用張量維度和塊坐標指定數(shù)據(jù)傳輸,而不是簡單的按數(shù)據(jù)地址直接尋址。TMA通過支持不同的張量布局(1D-5D張量)、不同的存儲訪問模式、顯著降低了尋址開銷并提高了效率。

也就是說,原來是一個一個的撿豆子(數(shù)據(jù)),現(xiàn)在的方法就是一碗一碗的舀豆子。這樣的設(shè)計,是不是越來越接近DSA的尋址方式?

▲TMA的塊坐標尋址方式

當然,TMA操作是異步的,多個線程可以共享數(shù)據(jù)通道,排序完成數(shù)據(jù)傳輸。

TMA的一個關(guān)鍵優(yōu)勢是它可以在進行數(shù)據(jù)復(fù)制的時候,釋放線程的算力來執(zhí)行其他工作。

例如,在A100上,由線程本身負責生成所有地址執(zhí)行所有數(shù)據(jù)復(fù)制操作。但在Hopper中,TMA來負責生成地址序列(這個思路類似DMA控制器),接管數(shù)據(jù)復(fù)制任務(wù),讓線程去做其他事。

▲Hopper架構(gòu)的H100的基于TMA的存儲復(fù)制效率更高

05.結(jié)語:GPU走向領(lǐng)域?qū)S没?/h4>

總體而言,基于Hopper架構(gòu)的H100計算性能比Ampere架構(gòu)的A100提高了大約6倍。

性能大幅提升的核心原因在于引入FP8后的張量核心和針對NLP任務(wù)的Transformer引擎,特別是TMA技術(shù)減少了SM單元在數(shù)據(jù)復(fù)制時的無用功。

從設(shè)計哲學上看,針對數(shù)據(jù)中心的Hopper架構(gòu)中DSA(Domain Specific Architecture,特定領(lǐng)域架構(gòu))的想法越來越多,且流多處理器間的協(xié)作變多。大概老黃也覺得,GPU應(yīng)朝著領(lǐng)域?qū)S没姆较蛉グl(fā)展。

今年發(fā)布Hopper架構(gòu)相對Ampere架構(gòu)有較多的微觀進步,希望老黃下次能給我們帶來更多的技術(shù)驚喜。

參考文獻:《NVIDIA H100 Tensor Core GPU Architecture》白皮書,英偉達;《GPGPU芯片設(shè)計:原理與實踐》,陳巍、耿云川

本文為轉(zhuǎn)載內(nèi)容,授權(quán)事宜請聯(lián)系原著作權(quán)人。

英偉達

8.6k
  • 英偉達美股盤前跌超2%
  • 機構(gòu):GB200機柜供應(yīng)鏈仍需時間優(yōu)化,預(yù)計出貨高峰將延至2Q25至3Q25之間

評論

暫無評論哦,快來評價一下吧!

下載界面新聞

微信公眾號

微博

800億晶體管核彈GPU架構(gòu)深入解讀,又是“拼裝貨”?

NVIDIA如何做到如此大幅的性能升級?Hopper架構(gòu)有何玄機?

文 | 芯東西  陳巍

編者注:NVIDIA在3月23日公布基于全新Hopper架構(gòu)的GPU H100,其多種精度下的AI性能達到上一代A100的3~6倍。NVIDIA如何做到如此大幅的性能升級?Hopper架構(gòu)有何玄機?千芯科技董事長陳巍博士對此加以解讀。

在2022年3月NVIDIA GTC大會上,NVIDIA創(chuàng)始人兼CEO黃仁勛介紹了一款基于全新Hopper架構(gòu)的H100 GPU,這是英偉達迄今用于加速人工智能(AI)、高性能計算(HPC)和數(shù)據(jù)分析等任務(wù)的最強GPU芯片。

▲Hopper架構(gòu)H100 GPU的主要升級

Hopper架構(gòu)以計算科學的先驅(qū)Grace Hopper的姓氏命名。黃教主稱:“Hopper H100是有史以來最大的代際飛躍。H100具有800億個晶體管,在性能上堪稱NVIDIA的“新核彈”。

那么,“新核彈”的核心是什么樣的?本文將深入解讀和分析Hopper架構(gòu)。

▲Hopper架構(gòu)的H100與前幾代GPU性能對比

注:Grace Hopper博士是哈佛Mark 1的首批程序員,被譽為編譯語言之母。據(jù)稱她發(fā)現(xiàn)了計算機程序中的第一個Bug,同時也創(chuàng)造了計算機世界最大的Bug——千年蟲。

01.Hopper的整體結(jié)構(gòu)拆解

NVIDIA Hopper架構(gòu)H100芯片采用臺積電4nm工藝(N4是臺積電N5工藝的優(yōu)化版),芯片面積為814平方毫米(比A100小14平方毫米)。

▲H100 Tensor Core GPU的性能規(guī)格

Hopper架構(gòu)可以視為由兩組對稱結(jié)構(gòu)拼接而成。(是不是有點類似我們之前介紹的蘋果UltraFusion架構(gòu)的拼接思路?不過這里的GPU還是單片的。回顧蘋果UltraFusion架構(gòu)可參見《蘋果芯片“拼裝”的秘方,在專利里找到了》文章。)

在頂層拓撲上,Hopper似乎與她的前輩Ampere架構(gòu)差別不大。圖中的Hopper架構(gòu)GPU由8個圖形處理集群(Graphics Processing Cluster,GPC)“拼接”組成。

▲Hopper架構(gòu)基本結(jié)構(gòu)

外周與多組HBM3封裝在一起(Chiplet技術(shù)),形成整個芯片模組——從模組上看又是個“拼裝貨”。片上的每個GPC又由9個紋理處理集群(Texture Processor Cluster,TPC)“拼接”組成。

由PCIe5或SMX接口進入的計算任務(wù),通過帶有多實例GPU(Multi-Instance GPU,MIG)控制的GigaThread引擎分配給各個GPC。GPC之間通過L2緩存共享中間數(shù)據(jù),GPC計算的中間數(shù)據(jù)通過NVLink與其他GPU連接/交換。每個TPC由2個流式多處理器(Streaming Multiprocessor,SM)組成。

Hopper架構(gòu)的性能提升和主要變化體現(xiàn)在新型線程塊集群技術(shù)和新一代的流式多處理器(具有第4代張量核心)。

▲線程塊集群和帶有集群的網(wǎng)格

Hopper架構(gòu)中引入了一種新的線程塊集群機制,該機制可以跨SM單元進行協(xié)同計算。H100 中的線程塊集群可在同一GPC內(nèi)的大量SM并發(fā)運行,這樣對較大的模型具有更好的加速能力。

02.新一代流式多處理器SM與FP8支持

Hopper架構(gòu)的新一代流式多處理器引入了FP8張量核心(Tensor Core)來加速AI訓練和推理。FP8張量核心支持FP32和FP16累加器,以及兩種FP8 輸入類型(E4M3和E5M2)。

▲流式多處理器SM

與FP16或BF16相比,F(xiàn)P8將數(shù)據(jù)存儲要求減半,吞吐量翻倍。我們在Transformer引擎的分析中還會看到使用FP8可自適應(yīng)地提升Transformer的計算速度。

每個SM包括128個FP32 CUDA核心、4個第4代張量核心(Tensor Core)。

進入SM單元的指令首先存入L1指令緩存(L1 Instruction Cache),然后再分發(fā)到L0指令緩存(L1 Instruction Cache)。與L0緩存配套的線程束排序器(Wrap Scheduler)和調(diào)度單元(Dispatch Unit)來為CUDA核心和張量核心分配計算任務(wù)。(注:GPU中最小的硬件計算執(zhí)行單位是線程束,簡稱Warp。)

▲FP8具有FP16或BF162 2倍吞吐量

每個SM通過使用4個特殊函數(shù)單元(Special Function Unit,SFU)單元進行超越函數(shù)和插值函數(shù)計算。

03.Hopper的張量核心與Transformer引擎

在GPU中,張量核心是用于矩陣乘法和矩陣累加 (Matrix Multiply-Accumulate,MMA) 數(shù)學運算的專用高性能計算核心,可為AI和HPC應(yīng)用程序提供突破性的性能加速。

張量核心是GPU中做AI加速的關(guān)鍵模塊,也是Ampere及之后GPU架構(gòu)與早期GPU的顯著區(qū)別所在。

Hopper的張量核心支持FP8、FP16、BF16、TF32、FP64和INT8 MMA數(shù)據(jù)類型。這一代張量核心的關(guān)鍵點是引入了Transformer引擎。

▲H100 FP16 Tensor Core的吞吐量是A100 FP16 Tensor Core的3倍

Transformer算子是主流的BERT到GPT-3等NLP模型的基礎(chǔ),且越來越多地應(yīng)用于計算機視覺、蛋白質(zhì)結(jié)構(gòu)預(yù)測等不同領(lǐng)域。

與上一代A100相比,新的Transformer引擎與Hopper FP8張量核心相結(jié)合,在大型NLP模型上提供高達9倍的AI訓練速度和30倍的AI推理速度。

▲新的Transformer引擎動態(tài)調(diào)整數(shù)據(jù)格式以充分運用算力

為了提升Transformer的計算效率,在這一新的Transformer引擎中使用了混合精度,在計算過程中智能地管理計算精度,在Transformer計算的每一層,根據(jù)下一層神經(jīng)網(wǎng)絡(luò)層及所需的精度,在FP8和其他浮點格式中進行動態(tài)格式轉(zhuǎn)換,充分運用張量核心的算力。

04.張量存儲加速器與異步執(zhí)行

Hopper架構(gòu)中新增加了張量存儲加速器(Tensor Memory Accelerator,TMA) ,以提高張量核心與全局存儲和共享存儲的數(shù)據(jù)交換效率。

在這一新的TMA操作中,使用張量維度和塊坐標指定數(shù)據(jù)傳輸,而不是簡單的按數(shù)據(jù)地址直接尋址。TMA通過支持不同的張量布局(1D-5D張量)、不同的存儲訪問模式、顯著降低了尋址開銷并提高了效率。

也就是說,原來是一個一個的撿豆子(數(shù)據(jù)),現(xiàn)在的方法就是一碗一碗的舀豆子。這樣的設(shè)計,是不是越來越接近DSA的尋址方式?

▲TMA的塊坐標尋址方式

當然,TMA操作是異步的,多個線程可以共享數(shù)據(jù)通道,排序完成數(shù)據(jù)傳輸。

TMA的一個關(guān)鍵優(yōu)勢是它可以在進行數(shù)據(jù)復(fù)制的時候,釋放線程的算力來執(zhí)行其他工作。

例如,在A100上,由線程本身負責生成所有地址執(zhí)行所有數(shù)據(jù)復(fù)制操作。但在Hopper中,TMA來負責生成地址序列(這個思路類似DMA控制器),接管數(shù)據(jù)復(fù)制任務(wù),讓線程去做其他事。

▲Hopper架構(gòu)的H100的基于TMA的存儲復(fù)制效率更高

05.結(jié)語:GPU走向領(lǐng)域?qū)S没?/h4>

總體而言,基于Hopper架構(gòu)的H100計算性能比Ampere架構(gòu)的A100提高了大約6倍。

性能大幅提升的核心原因在于引入FP8后的張量核心和針對NLP任務(wù)的Transformer引擎,特別是TMA技術(shù)減少了SM單元在數(shù)據(jù)復(fù)制時的無用功。

從設(shè)計哲學上看,針對數(shù)據(jù)中心的Hopper架構(gòu)中DSA(Domain Specific Architecture,特定領(lǐng)域架構(gòu))的想法越來越多,且流多處理器間的協(xié)作變多。大概老黃也覺得,GPU應(yīng)朝著領(lǐng)域?qū)S没姆较蛉グl(fā)展。

今年發(fā)布Hopper架構(gòu)相對Ampere架構(gòu)有較多的微觀進步,希望老黃下次能給我們帶來更多的技術(shù)驚喜。

參考文獻:《NVIDIA H100 Tensor Core GPU Architecture》白皮書,英偉達;《GPGPU芯片設(shè)計:原理與實踐》,陳巍、耿云川

本文為轉(zhuǎn)載內(nèi)容,授權(quán)事宜請聯(lián)系原著作權(quán)人。