深入剖析 NVIDIA Ampere 架構

作者 NVIDIA

在2020年NVIDIA GTC主題演講中,NVIDIA創辦人暨執行長黃仁勳介紹了基於新NVIDIA Ampere GPU架構的新NVIDIA A100 GPU。這篇文章讓您了解新的A100 GPU,並介紹了NVIDIA Ampere架構GPU的重要新功能。

 

現代雲端資料中心中運行的計算密集型應用程式的多樣性推動了NVIDIA GPU加速的雲端計算的爆炸式增長。此類密集型應用程式包括AI深度學習(深度學習)訓練和推論,數據分析,科學計算,基因組學,邊緣影像分析和5G服務,圖形渲染,雲端遊戲等。從緃向擴展的AI訓練和科學計算,到橫向擴展的推論應用程式,再到支持即時對話式AI,NVIDIA GPU提供了必要的能力來加速當今雲端資料中心中運行的眾多複雜且不可預測的工作負載。

 

NVIDIA GPU是推動AI革命的領先計算引擎,為AI訓練和推論工作負載提供了極大的速度提昇。此外,NVIDIA GPU 加速了許多類型的高效能運算和數據分析應用程式和系統,使您能夠有效地分析,可視化數據並將其轉化為見解。 NVIDIA加速運算平台對於許多世界上最重要和快速成長的行業至關重要。

 

推出NVIDIA A100 Tensor Core GPU

 

NVIDIA A100 Tensor Core GPU 基於新的 NVIDIA Ampere GPU架構,並基於以前的 NVIDIA Tesla V100 GPU 的功能所建構。它增加了許多新功能,並顯著提高了高效能運算,人工智慧和數據分析工作負載的性能。

 

A100為在單GPU工作站和多GPU工作站,伺服器,集群,雲資料中心,邊緣系統和超級計算機中運行的GPU計算和深度學習應用程式提供了強大的擴展能力。 A100 GPU支持構建彈性,多功能和高吞吐量的資料中心。

Figure 1. NVIDIA A100 GPU on the new SXM4 module.

 

1.SXM4模組上的NVIDIA A100GPU

 

A100GPU包括革命性的新型多執行個體GPU(MIG)虛擬化和GPU分區功能,這特別有利於雲端服務提供商(CSP)。當配置為MIG操作時,A100允許CSP為了提高其GPU伺服器的利用率,無需額外費用即可提供多達7倍的GPU執行個體。強大的故障隔離功能使他們可以安心地,安全地對單個A100 GPU進行分區。

 

A100添加了功能強大的新型第三代Tensor Core,它比V100提升了吞吐量,同時增加了對深度學習和高效能運算數據類型的全面支持,以及新的稀疏性功能,可將吞吐量進一步提高一倍。

 

A100中的新TensorFloat-32(TF32)Tensor Core操作提供了一條簡單的路徑來加速深度學習框架和高效能運算中的FP32輸入/輸出數據,其運行速度比V100 FP32 FMA操作快10倍,而具有稀疏性則快20倍。對於FP16 / FP32混合精度深度學習,A100 Tensor Core的性能是V100的2.5倍,而稀疏性則提高到5倍。

 

新的Bfloat16(BF16)/ FP32混合精度Tensor Core操作以與FP16 / FP32混合精度相同的速率運行。 Tensor Core加速了INT8,INT4和二進制,全面支持深度學習推論,其中A100稀疏INT8的運行速度比V100 INT8快20倍。對於高效能運算,A100 Tensor Core包括新的符合IEEE標準的FP64處理,該處理能力是V100的FP64性能的2.5倍。

 

NVIDIA A100 GPU的設計不僅可以加速大型複雜工作負載,而且還可以有效地加速許多較小的工作負載。 A100使建構資料中心能夠滿足不可預測的工作負載需求,同時提供細粒度工作負載供應,更高的GPU利用率和改進的總體擁有成本(TCO)。

 

NVIDIA A100 GPU提供了超過V100的非凡提昇,以進行AI訓練和推論工作負載,如圖2所示。類似地,圖3顯示了不同高效能運算應用程式的顯著性能提升。

 

2.NVIDIA Tesla V100NVIDIA Tesla T4相比,BERT深度學習訓練和推論方案中的A100 GPU性能

 

3.NVIDIA Tesla V100相比,A100 GPU 於高效能運算應用程式的性能提昇

 

主要特點

 

基於NVIDIA Ampere架構的GA100 GPU採用台積電7nm N7製造工藝製造,為A100提供動力,包括542億個電晶體,晶粒尺寸為826 mm2。

 

A100 GPU串流多處理器

 

基於NVIDIA Ampere架構的A100 Tensor Core GPU中的串流多處理器(SM)大大提高了性能,於發佈的Volta和Turing SM架構上創造新特色,並增加了許多新功能。

 

A100第三代Tensor內核增強了操作數共享並提高了效率,並添加了功能強大的新數據類型,其中包括:

 

  • TF32 Tensor Core指令可加速FP32數據的處理
  • 適用於高效能運算的IEEE相容FP64 Tensor Core指令
  • BF16 Tensor Core指令的吞吐量與FP16相同

 

峰值FP641

9.7 TFLOPS

峰值FP64 Tensor Core1

19.5 TFLOPS

峰值FP321

19.5 TFLOPS

峰值FP161

78 TFLOPS

峰值BF161

39 TFLOPS

峰值TF32 Tensor Core1

156 TFLOPS | 312 TFLOPS2

峰值FP16 Tensor Core1

312 TFLOPS | 624 TFLOPS2

峰值BF16 Tensor Core1

312 TFLOPS | 624 TFLOPS2

峰值INT8 Tensor Core1

624 TOPS | 1,248 TOPS2

峰值INT4 Tensor Core1

1,248 TOPS | 2,496 TOPS2

1. A100 Tensor Core GPU性能規格。

1)基於GPU增強時脈的峰值速率。

2)使用新的稀疏性功能實現有效的TFLOPS / TOPS

 

A100 Tensor Core中的新稀疏性支持可以利用深度學習網路中的細粒度結構稀疏性來使Tensor Core操作的吞吐量增加一倍。有關稀疏功能的詳細訊息,請參閱本文後面的A100發表的細粒度結構化稀疏部分。

 

與V100相比,A100中更大,更快的L1快取和共享記憶體單元提供了每個SM聚合容量的1.5倍(192 KB比128 KB在每個SM中),為許多HPC和AI工作負載提供了額外的加速。

 

其他幾個新的SM特色提高了效率和可編程性,並降低了軟體複雜性。

 

40 GB HBM240 MB L2快取

 

為了滿足其巨大的計算吞吐量,NVIDIA A100 GPU擁有40 GB的高速HBM2記憶體,具有一流的1555 GB /秒的記憶體頻寛,與Tesla V100相比增加了73%。此外,A100 GPU擁有更多的晶片上記憶體,其中包括40 MB的2級(L2)快取 – 比V100大近7倍 – 以最大化計算性能。借助新的分區交叉開關結構,A100 L2快取提供了V100的L2快取讀取頻寛的2.3倍。

 

為了優化容量利用率,NVIDIA Ampere架構提供了L2快取駐留控件,供您管理要保留或從快取中逐出的數據。 A100還增加了計算數據壓縮功能,以使DRAM頻寛和L2頻寛額外提高4倍,L2容量提高2倍。

 

多執行個體GPU

 

全新的多執行個體GPU(MIG)功能讓A100 Tensor Core GPU能夠安全地劃分為多達七個用於CUDA應用程式的獨立GPU執行個體,從而為多個用戶提供獨立的GPU資源以加速其應用程式。

 

使用MIG,每個執行個體的處理器在整個記憶體系統中都具有獨立的隔離路徑。晶片上交叉開關端口,L2快取函式庫,儲存器控制器和DRAM地址總線都統一地分配給單個執行個體。這樣可以確保各個用戶的工作負載能夠以可預測的吞吐量和延遲運行,並且具有相同的L2快取分配和DRAM頻寛,即使其他任務正在清除自己的快取或飽和DRAM的介面。

 

MIG在提供定義的QoS和在不同客戶端(例如VM,容器和處理)之間提供隔離的同時,提高了GPU硬體利用率。 MIG對於具有多租戶案例的CSP尤其有利。除了提供增強的安全性並為客戶提供GPU利用率保證之外,它還確保一個客戶端不會影響其他客戶端的工作或日程安排。

 

第三代NVIDIA NVLink

 

在A100 GPU中實現的第三代NVIDIA高速NVLink互連和新的NVIDIA NVSwitch大大增強了多GPU的可擴展性,性能和可靠性。透過每個GPU和交換機更多的鏈接,新的NVLink提供了更高的GPU-GPU通信頻寛,並改善了錯誤檢測和恢復功能。

 

第三代NVLink每對信號的數據速率為50 Gbit / sec,幾乎是V100中25.78 Gbit / sec速率的兩倍。單個A100 NVLink在每個方向上提供的頻寛為25 GB /秒,類似於V100,但與V100相比,每個鏈接僅使用一半的信號對數量。 A100中的鏈接總數增加到12,而V100中的鏈接總數增加到6,從而產生600 GB /秒的總頻寛,而V100為300 GB /秒。

 

支持NVIDIA Magnum IOMellanox互連解決方案

 

A100 Tensor Core GPU與NVIDIA Magnum IO和Mellanox最新的InfiniBand和以太網互連解決方案完全相容,可加速多節點連接。

 

Magnum IO API整合了計算,網路,文件系統和儲存,可為多GPU、多節點加速系統最大化I / O性能。它與CUDA-X函式庫介面,可加速從AI和數據分析到可視化的各種工作負載的I / O。

 

具有SR-IOV的第四代PCIe

 

A100 GPU支持PCI Express Gen 4(PCIe Gen 4),通過提供31.5 GB /秒的速度(相對於x16連接的15.75 GB /秒),使PCIe 3.0 / 3.1的頻寬增加了一倍。更快的速度對於連接到支持PCIe 4.0的CPU的A100 GPU並支持快速網路介面(例如200 Gbit / sec InfiniBand)特別有利。

 

A100還支持單根輸入/輸出虛擬化(SR-IOV),它允許為多個處理或VM共享和虛擬化單個PCIe連接。

 

改進的錯誤和故障檢測,隔離和控制

 

通過檢測,包含並經常糾正錯誤和故障,而不是強制GPU重置,來最大化GPU的正常運行時間和可用性至關重要。在大型的多GPU群集和單GPU多租戶環境(例如MIG配置)中尤其如此。 A100 Tensor Core GPU包括改進錯誤/故障歸因,隔離和控制的新技術,如本文後面的深入架構部分所述。

 

異步複製

A100 GPU包含一個新的異步複製指令,該指令可將數據直接從全局存儲器加載到SM共享存儲器中,而無需使用中間寄存器文件(RF)。異步複製減少了寄存器文件的帶寬,更有效地使用了內存帶寬,並降低了功耗。顧名思義,異步複製可以在SM執行其他計算時在後台完成。

 

異步屏障

A100 GPU在共享內存中提供了硬件加速的障礙。這些障礙可以使用CUDA 11以符合ISO C ++的障礙對象的形式使用。異步屏障將屏障到達和等待操作分開,並且可用於通過SM中的計算將異步副本從全局內存重疊到共享內存中。它們可用於使用CUDA線程實現生產者-消費者模型。屏障還提供了以不同的粒度(不僅僅是扭曲或塊級別)同步CUDA線程的機制。

 

任務圖加速

CUDA任務圖為將工作提交到GPU提供了更有效的模型。任務圖由依賴關係連接的一系列操作(例如內存副本和內核啟動)組成。任務圖啟用了一次定義和重複運行的執行流程。預定義的任務圖允許在一次操作中啟動任意數量的內核,從而大大提高了應用程序的效率和性能。 A100添加了新的硬件功能,以使任務圖中的網格之間的路徑明顯更快。

 

A100 GPU硬件架構

NVIDIA GA100 GPU由多個GPU處理群集(GPC),紋理處理群集(TPC),流式多處理器(SM)和HBM2內存控制器組成。

 

GA100 GPU的完整實現包括以下單元:

 

每個完整GPU 8個GPC,8個TPC / GPC,2個SM / TPC,16個SM / GPC,128個SM

每個完整GPU 64個FP32 CUDA內核/ SM,8192個FP32 CUDA內核

每個完整GPU 4個第三代Tensor內核/ SM,512個第三代Tensor內核

6個HBM2堆棧,12個512位內存控制器

GA100 GPU的A100 Tensor Core GPU實現包括以下單元:

 

7個GPC,7個或8個TPC / GPC,2個SM / TPC,最多16個SM / GPC,108個SM

每個GPU 64個FP32 CUDA內核/ SM,6912個FP32 CUDA內核

每個GPU 4個第三代Tensor內核/ SM,432個第三代Tensor內核

5個HBM2堆棧,10個512位內存控制器

圖4顯示了具有128個SM的完整GA100 GPU。 A100基於GA100,具有108個SM。

 

 

圖4. GA100具有128個SM的完整GPU。 A100 Tensor Core GPU具有108個SM.A100 SM體系結構

新的A100 SM大大提高了性能,建立在Volta和Turing SM體系結構中引入的功能之上,並增加了許多新功能和增強功能。

 

A100 SM圖如圖5所示。Volta和Turing每個SM具有八個Tensor核心,每個Tensor核心每個時鐘執行64個FP16 / FP32混合精度融合乘加(FMA)操作。 A100 SM包括新的第三代Tensor內核,每個內核每個時鐘執行256個FP16 / FP32 FMA操作。 A100每個SM有四個Tensor內核,每個時鐘總共可提供1024個密集的FP16 / FP32 FMA操作,與Volta和Turing相比,每個SM的計算能力提高了2倍。

 

SM的主要功能在此處簡要介紹,並在本文的後面部分進行詳細描述:

 

第三代Tensor核心:

加速所有數據類型,包括FP16,BF16,TF32,FP64,INT8,INT4和二進制。

新的Tensor Core稀疏功能利用深度學習網路中的細粒度結構稀疏性,使標準Tensor Core操作的性能提高了一倍。