NVIDIA深度架構
本文介紹A100 GPU,NVIDIA Ampere架構GPU的重要新功能。
現代雲數據中心中運行的計算密集型應用程序的多樣性推動了NVIDIA GPU加速的雲計算的爆炸式增長。此類密集型應用程序包括AI深度學習(DL)訓練和推理,數據分析,科學計算,基因組學,邊緣視頻分析和5G服務,圖形渲染,雲游戲等。從擴展的AI訓練和科學計算,到擴展的推理應用程序,再到支持實時對話式AI,NVIDIA GPU提供了必要的功能,加速當今雲數據中心中運行的眾多復雜且不可預測的工作負載。
NVIDIA GPU是推動AI革命的領先計算引擎,為AI訓練和推理算力提供了極大的提速。此外,NVIDIA GPU加速了許多類型的HPC和數據分析應用程序和系統,能夠有效地分析,可視化數據並將其轉化為戰略分析。NVIDIA加速計算平台對於許多世界上最重要,增長最快的行業至關重要。
推出NVIDIA A100 Tensor Core GPU
NVIDIA A100 Tensor Core GPU基於新的NVIDIA Ampere GPU架構,基於先前的NVIDIA Tesla V100 GPU的功能構建。增加了許多新功能,顯着提高了HPC,AI和數據分析工作負載的性能。
A100為在單GPU工作站和多GPU工作站,服務器,集群,雲數據中心,邊緣系統和超級計算機中運行的GPU計算和DL應用程序提供了強大的擴展能力。A100 GPU支持構建彈性,多功能和高吞吐量的數據中心。
A100 GPU包括革命性的新型多實例GPU(MIG)虛擬化和GPU分區功能,特別有利於雲服務提供商(CSP)。當配置為MIG操作時,A100允許CSP提高其GPU服務器的利用率,無需額外成本,即可提供多達7倍的GPU實例。強大的故障隔離功能使他們可以安全,安全地對單個A100 GPU進行分區。
A100添加了功能強大的新型第三代Tensor Core,可在V100之上提高吞吐量,增加了對DL和HPC數據類型的全面支持,以及新的Sparsity功能,將吞吐量進一步提高一倍。
A100中的新TensorFloat-32(TF32)Tensor Core操作提供了一條簡單的路徑,加速DL框架和HPC中的FP32輸入/輸出數據,運行速度比V100 FP32 FMA操作快10倍,具有稀疏性則快20倍。對於FP16 / FP32混合精度DL,A100 Tensor Core的性能是V100的2.5倍,而稀疏性則提高到5倍。
新的Bfloat16(BF16)/ FP32混合精度Tensor Core操作以與FP16 / FP32混合精度相同的速率運行。Tensor Core加速了INT8,INT4和二進制,全面支持DL推理,其中A100稀疏INT8的運行速度比V100 INT8快20倍。對於HPC,A100 Tensor Core包括新的符合IEEE標准的FP64處理,處理能力是V100的FP64的2.5倍。
NVIDIA A100 GPU的架構不僅可以加速大型復雜工作負載,可以有效地加速許多較小的工作負載。A100使建築數據中心能夠適應無法預測的工作負載需求,提供細粒度的工作負載供應,更高的GPU利用率和改進的TCO。
NVIDIA A100 GPU提供了超過V100的超速提速,用於AI訓練和推理工作負載。
主要特征
基於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數據的處理
- 適用於HPC的IEEE兼容FP64 Tensor Core指令
- BF16 Tensor Core指令的吞吐量與FP16相同
峰值FP64 |
9.7 TFLOPS |
峰值FP64 Tensor Core |
19.5 TFLOPS |
峰值FP32 |
19.5 TFLOPS |
峰值FP16 |
78 TFLOPS |
高峰BF16 |
39 TFLOPS |
峰值TF32 Tensor Core |
156 TFLOPS | 312 TFLOPS |
峰值FP16 Tensor Core |
312 TFLOPS | 624 TFLOPS |
峰值BF16張量核心 |
312 TFLOPS | 624 TFLOPS |
峰值INT8張量核心 |
624 TOPS | 1,248 TOPS |
峰值INT4張量核心 |
1,248 TOPS | 2,496 TOPS |
表1. A100 Tensor Core GPU性能規格。
1)峰值速率基於GPU增強時鍾。
2)使用新的稀疏性功,能實現有效的TFLOPS / TOPS。
A100 Tensor Core中的新稀疏支持,可以利用DL網絡中的細粒度結構稀疏性來使Tensor Core操作的吞吐量增加一倍。
與V100相比,A100中更大,更快的L1高速緩存和共享內存單元提供了每SM聚合容量的1.5倍(192 KB對比每個SM 128 KB),從而為許多HPC和AI工作負載提供了額外的加速。
幾個新的SM功能提高了效率和可編程性,降低了軟件復雜性。
40 GB HBM2和40 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地址總線,唯一地分配給單個實例。確保單個用戶的工作負載,預測吞吐量和延遲運行,具有相同的二級緩存分配和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與V100相似,在每個方向上可提供25 GB /秒的帶寬,與V100相比,每個鏈接僅使用一半的信號對數量。A100中的鏈接總數從V100中的6條增加到12條,總帶寬為600 GB /秒,而V100為300 GB /秒。
支持NVIDIA Magnum IO和Mellanox互連解決方案
A100 Tensor Core GPU與NVIDIA Magnum IO和Mellanox最新的InfiniBand和以太網互連解決方案完全兼容,加速多節點連接。
Magnum IO API集成了計算,網絡,文件系統和存儲,可為多GPU,多節點加速系統最大化I / O性能。與CUDA-X庫接口,加速從AI和數據分析到可視化的各種工作負載的I / O。
具有SR-IOV的PCIe Gen 4
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位內存控制器
具有128個SM的完整GA100 GPU。A100基於GA100,具有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操作的性能提高了一倍。
- A100中的TF32 Tensor Core操作提供了一條簡單的路徑來加速DL框架和HPC中的FP32輸入/輸出數據,運行速度比V100 FP32 FMA操作快10倍,而具有稀疏性時則快20倍。
- FP16 / FP32混合精度Tensor Core操作為DL提供了空前的處理能力,運行速度比V100 Tensor Core操作快2.5倍,稀疏性提高到5倍。
- BF16 / FP32混合精度Tensor Core操作以與FP16 / FP32混合精度相同的速率運行。
- FP64 Tensor Core操作為HPC提供了前所未有的雙精度處理能力,運行速度是V100 FP64 DFMA操作的2.5倍。
- 具有稀疏性的INT8 Tensor Core操作為DL推理提供了空前的處理能力,運行速度比V100 INT8操作快20倍。
- 192 KB的共享共享內存和L1數據高速緩存,比V100 SM大1.5倍。
- 新的異步復制指令將數據直接從全局內存加載到共享內存中,可以選擇繞過L1緩存,不需要使用中間寄存器文件(RF)。
- 與新的異步復制指令一起使用的新的基於共享內存的屏障單元(異步屏障)。
- L2緩存管理和駐留控制的新說明。
- CUDA合作小組支持新的線程級減少指令。
- 許多可編程性方面的改進,以減少軟件的復雜性。
圖6比較了V100和A100 FP16 Tensor Core操作,還比較了V100 FP32,FP64和INT8標准操作與相應的A100 TF32,FP64和INT8 Tensor Core操作。吞吐量是每個GPU的總和,其中A100使用針對FP16,TF32和INT8的稀疏Tensor Core操作。左上方的圖顯示了兩個V100 FP16 Tensor核心,因為一個V100 SM每個SM分區有兩個Tensor核心,而A100 SM一個。
圖6.針對不同數據類型的A100 Tensor Core操作與V100 Tensor Core和標准操作的比較。
圖7. TensorFloat-32(TF32)為FP32的范圍提供了FP16的精度(左)。A100使用TF32加速張量數學運算,同時支持FP32輸入和輸出數據(右),從而可以輕松集成到DL和HPC程序中並自動加速DL框架。
用於AI訓練的默認數學是FP32,沒有張量核心加速。NVIDIA Ampere架構引入了對TF32的新支持,使AI訓練默認情況下可以使用張量內核,無需用戶方面的努力。非張量運算繼續使用FP32數據路徑,TF32張量內核讀取FP32數據並使用與FP32相同的范圍,內部精度降低,再生成標准IEEE FP32輸出。TF32包含一個8位指數(與FP32相同),10位尾數(與FP16相同的精度)和1個符號位。
與Volta一樣,自動混合精度(AMP)可以將FP16與混合精度一起用於AI訓練,只需幾行代碼更改即可。使用AMP,A100的Tensor Core性能比TF32快2倍。
總而言之,用於DL訓練的NVIDIA Ampere架構數學的用戶選擇如下:
- 默認情況下,使用TF32 Tensor Core,不調整用戶腳本。與A100上的FP32相比,吞吐量高達8倍,而與V100上的FP32相比,吞吐量高達10倍。
- FP16或BF16混合精度訓練應用於最大訓練速度。與TF32相比,吞吐量高達2倍,與A100上的FP32相比,吞吐量高達16倍,與V100上的FP32相比,吞吐量高達20倍。
A100 Tensor核心可加速HPC
HPC應用程序的性能需求正在迅速增長。眾多科學研究領域的許多應用程序都依賴於雙精度(FP64)計算。
為了滿足HPC計算的快速增長的計算需求,A100 GPU支持Tensor操作,加速符合IEEE的FP64計算,提供的FP64性能是NVIDIA Tesla V100 GPU的2.5倍。
A100上新的雙精度矩陣乘法加法指令,替換了V100上的八條DFMA指令,減少了指令提取,調度開銷,寄存器讀取,數據路徑功率和共享存儲器讀取帶寬。
A100中的每個SM總共計算64個FP64 FMA操作/時鍾(或128個FP64操作/時鍾),這是Tesla V100吞吐量的兩倍。具有108個SM的A100 Tensor Core GPU的FP64峰值吞吐量為19.5 TFLOPS,是Tesla V100的2.5倍。
借助對這些新格式的支持,A100 Tensor Core可用於加速HPC工作負載,迭代求解器和各種新的AI算法。
|
V100 |
A100 |
A100稀疏度1 |
A100加速 |
A100稀疏加速 |
A100 FP16和 V100 FP16 |
31.4 TFLOPS |
78 TFLOPS |
不適用 |
2.5倍 |
不適用 |
A100 FP16 TC和 V100 FP16 TC |
125 TFLOPS |
312 TFLOPS |
624 TFLOPS |
2.5倍 |
5倍 |
A100 BF16 TC和V100 FP16 TC |
125 TFLOPS |
312 TFLOPS |
624 TFLOPS |
2.5倍 |
5倍 |
A100 FP32和 V100 FP32 |
15.7 TFLOPS |
19.5 TFLOPS |
不適用 |
1.25倍 |
不適用 |
A100 TF32 TC和 V100 FP32 |
15.7 TFLOPS |
156 TFLOPS |
312 TFLOPS |
10倍 |
20倍 |
A100 FP64和 V100 FP64 |
7.8 TFLOPS |
9.7 TFLOPS |
不適用 |
1.25倍 |
不適用 |
A100 FP64 TC和 V100 FP64 |
7.8 TFLOPS |
19.5 TFLOPS |
不適用 |
2.5倍 |
不適用 |
A100 INT8 TC與 V100 INT8 |
62 TOPS |
624 TOPS |
1248 TOPS |
10倍 |
20倍 |
A100 INT4 TC |
不適用 |
1248 TOPS |
2496 TOPS |
不適用 |
不適用 |
A100二進制TC |
不適用 |
4992 TOPS |
不適用 |
不適用 |
不適用 |
表2. A100在V100上的提速(TC = Tensor Core,GPU以各自的時鍾速度)。
1)使用新的稀疏功能實現有效的TOPS / TFLOPS
A100引入了細粒度的結構化稀疏性
借助A100 GPU,NVIDIA引入了細粒度的結構稀疏性,這是一種新穎的方法,可將深度神經網絡的計算吞吐量提高一倍。
深度學習中可能會出現稀疏性,各個權重的重要性會在學習過程中演變,網絡訓練結束時,只有權重的一個子集在確定學習的輸出時獲得了有意義的目的。不再需要其余的權重。
細粒度的結構化稀疏性,對允許的稀疏性模式施加了約束,使硬件更有效地執行輸入操作數的必要對齊。由於深度學習網絡能夠在訓練過程中根據訓練反饋調整權重,NVIDIA工程師通常發現結構約束不會影響訓練網絡進行推理的准確性,可以推斷出具有稀疏性的加速。
對於訓練加速,需要在過程的早期引入稀疏性,提供性能優勢,在不損失准確性的情況下,進行訓練加速的方法是一個活躍的研究領域。
稀疏矩陣定義
通過新的2:4稀疏矩陣定義強制執行結構,在每個四項向量中允許兩個非零值。A100在行上支持2:4的結構化稀疏性,如圖9所示。
由於矩陣的定義明確,可以對其進行有效壓縮,將內存存儲量和帶寬減少近2倍。
圖9. A100細粒度的結構化稀疏修剪訓練了權重,其中有2選4的非零模式,然后是用於微調非零權重的簡單通用配方。權重經過壓縮,可將數據占用空間和帶寬減少2倍,而A100稀疏Tensor Core通過跳過零,將數學吞吐量提高了一倍。
NVIDIA開發了一種簡單而通用的配方,用於使用這種2:4結構化的稀疏模式,稀疏深度神經網絡以進行推理。使用密集權重對網絡進行訓練,應用細粒度的結構化修剪,使用其它訓練步驟,對剩余的非零權重進行微調。基於跨視覺,對象檢測,分割,自然語言建模和翻譯的數十個網絡的評估,幾乎不會導致推理准確性的損失。
A100 Tensor Core GPU包括新的Sparse Tensor Core指令,跳過具有零值的條目的計算,從而使Tensor Core計算吞吐量翻倍。圖9示出了張量核心是如何使用壓縮元數據(非零索引),配合適當選擇激活壓縮權重,輸入到張量核心點積計算。
結合了L1數據緩存和共享內存
NVIDIA在L1數據高速緩存和共享內存子系統體系結構,首次引入NVIDIA Tesla V100,顯着提高性能的同時,簡化了編程並減少了達到或接近峰值應用程序性能所需的調整。將數據緩存和共享內存功能組合到單個內存塊中,可為兩種類型的內存訪問提供最佳的整體性能。
L1數據高速緩存和共享內存的總容量,在A100中為192 KB / SM,在V100中為128 KB / SM。
同時執行FP32和INT32操作
與V100和Turing GPU相似,A100 SM包括獨立的FP32和INT32內核,全吞吐量同時執行FP32和INT32操作,提高了指令發布的吞吐量。
許多應用程序具有執行指針算術(整數存儲器地址計算)和浮點計算相結合的內部循環,得益於同時執行FP32和INT32指令。流水線循環的每個迭代,都可以更新地址(INT32指針算術),並為下一個迭代加載數據,在FP32中處理當前迭代。
A100 HBM2 DRAM子系統
隨着HPC,AI和分析數據集的不斷增長,尋找解決方案的問題變得越來越復雜,必須具有更大的GPU內存容量和更高的內存帶寬。
Tesla P100是世界上第一個支持高帶寬HBM2內存技術的GPU架構, Tesla V100提供了更快,更高效和更高容量的HBM2實現。A100再次提高了HBM2的性能和容量標准。
HBM2內存由與GPU處於同一物理封裝上的內存堆棧組成,與傳統的GDDR5 / 6內存設計相比,可節省大量功率和面積,從而可在系統中安裝更多GPU。
A100 GPU的SXM4型電路板上包括40 GB的快速HBM2 DRAM內存。存儲器被組織為五個活動HBM2堆棧,每個堆棧具有八個內存管芯。A100 HBM2的數據速率為1215 MHz(DDR),提供1555 GB /秒的內存帶寬,比V100內存帶寬高1.7倍以上。
ECC內存彈性
A100 HBM2內存子系統,支持單錯誤糾正雙錯誤檢測(SECDED)錯誤糾正代碼(ECC),保護數據。ECC為對數據損壞敏感的計算應用程序,提供了更高的可靠性。在GPU處理大型數據集,或長時間運行應用程序的大規模集群計算環境中,這一點尤其重要。A100中的其它關鍵存儲器結構也受到SECDED ECC的保護,包括L2緩存和L1緩存以及所有SM內的寄存器文件。
A100 L2快取
A100 GPU包含40 MB的L2緩存,比V100 L2緩存大6.7倍.L2緩存分為兩個分區,實現更高的帶寬和更低的延遲內存訪問。每個L2分區都將本地化和緩存數據,供直接連接到該分區的GPC中的SM進行內存訪問。這種結構使A100的L2帶寬增加了V100的2.3倍。硬件緩存一致性在整個GPU上維護CUDA編程模型,應用程序會自動利用新L2緩存的帶寬和延遲優勢。
L2緩存是GPC和SM的共享資源,位於GPC之外。A100 L2緩存大小的大幅增加顯着改善了許多HPC和AI工作負載的性能,可以緩存數據集和模型的大部分並以比讀取和寫入HBM2內存更高的速度,重復訪問這些數據集和模型。受DRAM帶寬限制的某些工作負載,受益於更大的L2緩存,例如使用小批量的深度神經網絡。
為了優化容量利用率,NVIDIA Ampere體系結構提供了L2緩存駐留控件,管理要保留或從緩存中逐出的數據。可以預留一部分L2緩存用於持久性數據訪問。
例如,對於DL推理工作負載,乒乓緩沖區可以持久地緩存在L2中,實現更快的數據訪問,同時還避免了回寫到DRAM。對於生產者-消費者鏈,例如在DL訓練中發現的鏈,L2緩存控件可以優化跨寫到讀數據依賴項的緩存。在LSTM網絡中,循環權重可以優先在L2中緩存和重用。
NVIDIA Ampere體系結構增加了計算數據壓縮功能,加速非結構化稀疏性和其他可壓縮數據模式。L2中的壓縮功能使DRAM讀/寫帶寬提高了4倍,L2讀帶寬提高了4倍,L2容量提高了2倍。
數據中心GPU
|
NVIDIA Tesla P100 |
NVIDIA Tesla V100 |
NVIDIA A100 |
GPU代號 |
GP100 |
GV100 |
GA100 |
GPU架構 |
NVIDIA Pascal |
NVIDIA Volta |
NVIDIA安培 |
GPU板尺寸 |
SXM |
SXM2 |
SXM4 |
短信 |
56 |
80 |
108 |
TPC |
28歲 |
40 |
54 |
FP32核心/ SM |
64 |
64 |
64 |
FP32核心/ GPU |
3584 |
5120 |
6912 |
FP64核心/ SM |
32 |
32 |
32 |
FP64核心/ GPU |
1792 |
2560 |
3456 |
INT32內核/ SM |
不適用 |
64 |
64 |
INT32核心/ GPU |
不適用 |
5120 |
6912 |
張量芯/ SM |
不適用 |
8 |
4 2 |
張量核心/ GPU |
不適用 |
640 |
432 |
GPU加速時鍾 |
1480兆赫 |
1530兆赫 |
1410兆赫 |
FP16的峰值FP16張量TFLOPS累計1 |
不適用 |
125 |
312/624 3 |
帶有FP32的FP16峰值Tensor TFLOPS累加1 |
不適用 |
125 |
312/624 3 |
帶FP32的BF16張量TFLOPS峰值累加1 |
不適用 |
不適用 |
312/624 3 |
峰值TF32張量TFLOPS 1 |
不適用 |
不適用 |
156/312 3 |
峰值FP64 Tensor TFLOPS 1 |
不適用 |
不適用 |
19.5 |
峰值INT8張量TOPS 1 |
不適用 |
不適用 |
624/1248 3 |
峰值INT4張量TOPS 1 |
不適用 |
不適用 |
1248/2496 3 |
峰值FP16 TFLOPS 1 |
21.2 |
31.4 |
78 |
峰值BF16 TFLOPS 1 |
不適用 |
不適用 |
39 |
峰值FP32 TFLOPS 1 |
10.6 |
15.7 |
19.5 |
峰值FP64 TFLOPS 1 |
5.3 |
7.8 |
9.7 |
峰值INT32 TOPS 1,4 |
不適用 |
15.7 |
19.5 |
紋理單位 |
224 |
320 |
432 |
記憶體介面 |
4096位HBM2 |
4096位HBM2 |
5120位HBM2 |
記憶體大小 |
16 GB |
32 GB / 16 GB |
40 GB |
內存數據速率 |
703 MHz DDR |
877.5 MHz DDR |
1215 MHz DDR |
記憶體頻寬 |
720 GB /秒 |
900 GB /秒 |
1555 GB /秒 |
L2快取大小 |
4096 KB |
6144 KB |
40960 KB |
共享內存大小/ SM |
64 KB |
最多可配置96 KB |
最多可配置164 KB |
注冊文件大小/ SM |
256 KB |
256 KB |
256 KB |
注冊文件大小/ GPU |
14336 KB |
20480 KB |
27648 KB |
貿易發展計划 |
300瓦 |
300瓦 |
400瓦 |
晶體管 |
153億 |
211億 |
542億 |
GPU晶粒尺寸 |
610平方毫米 |
815平方毫米 |
826平方毫米 |
台積電制造工藝 |
16納米FinFET + |
12 nm FFN |
7納米N7 |
表3. NVIDIA數據中心GPU的比較。
1)峰值速率基於GPU增強時鍾。
2)A100 SM中的四個Tensor核心具有GV100 SM中八個Tensor核心的原始FMA計算能力的2倍。
3)使用新的稀疏性功能有效的TOPS / TFLOPS。
4)TOPS =基於IMAD的整數數學
注意:由於A100 Tensor Core GPU設計,安裝在高性能服務器和數據中心機架中,為AI和HPC計算工作量提供動力,因此,不包括顯示連接器,用於光線追蹤加速的NVIDIA RT Core或NVENC編碼器。
計算能力
A100 GPU支持新的計算功能8.0。表4比較了NVIDIA GPU架構的不同計算功能的參數。
數據中心GPU
|
NVIDIA Tesla P100 |
NVIDIA Tesla V100 |
NVIDIA A100 |
GPU代號 |
GP100 |
GV100 |
GA100 |
GPU架構 |
NVIDIA Pascal |
NVIDIA Volta |
NVIDIA安培 |
計算能力 |
6.0 |
7.0 |
8.0 |
線/經線 |
32 |
32 |
32 |
最大翹曲度/ SM |
64 |
64 |
64 |
最大線程數/ SM |
2048 |
2048 |
2048 |
最大線程塊/ SM |
32 |
32 |
32 |
最多32位寄存器/ SM |
65536 |
65536 |
65536 |
最大寄存器/塊 |
65536 |
65536 |
65536 |
最大寄存器/線程 |
255 |
255 |
255 |
最大螺紋塊尺寸 |
1024 |
1024 |
1024 |
FP32核心/ SM |
64 |
64 |
64 |
SM寄存器與FP32內核的比率 |
1024 |
1024 |
1024 |
共享內存大小/ SM |
64 KB |
最多可配置96 KB |
最多可配置164 KB |
表4.計算能力:GP100 vs. GV100 vs. GA100。
MIG架構
盡管許多數據中心的工作量在規模和復雜性上都在繼續擴展,某些加速任務的要求卻不高,例如早期開發或推斷小批量的簡單模型。數據中心經理的目標,保持較高的資源利用率,因此,理想的數據中心加速器不僅會變大,有效地加速許多較小的工作負載。
新的MIG功能可以將每個A100划分為多達七個GPU實例,實現最佳利用率,有效地擴展對每個用戶和應用程序的訪問權限。
圖10顯示了Volta MPS如何允許多個應用程序在單獨的GPU執行資源(SM)上同時執行。但是,由於內存系統資源是在所有應用程序之間共享的,因此,如果一個應用程序對DRAM帶寬有很高的要求,或者超額預訂了L2高速緩存,應用程序可能會干擾其他應用程序。
圖11中所示的A100 GPU新的MIG功能可以將單個GPU划分為多個GPU分區,稱為GPU實例。每個實例的SM具有貫穿整個內存系統的單獨且隔離的路徑-片上交叉開關端口,L2緩存庫,內存控制器和DRAM地址總線,唯一地分配給單個實例。這樣可以確保單個用戶的工作負載,可預測的吞吐量和延遲運行,具有相同的二級緩存分配和DRAM帶寬,即使其它任務正在破壞自己的緩存或使DRAM接口飽和也是如此。
使用此功能,MIG可以對可用的GPU計算資源進行分區,為不同的客戶端(例如VM,容器,進程等)提供故障隔離,提供定義的服務質量( QoS)。使多個GPU實例可以在單個物理A100 GPU上並行運行。MIG還保持CUDA編程模型不變,最大程度地減少編程工作量。
CSP可以使用MIG提高其GPU服務器的利用率,無需額外成本,即可提供多達7倍的GPU實例。MIG支持CSP所需的必要QoS和隔離保證,確保一個客戶端(VM,容器,進程)不會影響另一客戶端的工作或調度。
CSP通常根據客戶使用模式,對硬件進行分區。當硬件資源在運行時,提供一致的帶寬,適當的隔離和良好的性能時,有效分區才有效。
借助基於NVIDIA Ampere架構的GPU,可以在其新的虛擬GPU實例上查看和調度作業,像物理GPU一樣。MIG可與Linux操作系統及其管理程序一起使用。用戶可以使用諸如Docker Engine之類的運行時,運行帶有MIG的容器,很快將支持使用Kubernetes進行容器編排。
圖10.CSP多用戶節點(A100之前的版本)。加速的GPU實例僅在完全物理GPU粒度下,供不同組織中的用戶使用,即使用戶應用程序不需要完整的GPU也是如此。
圖11.具有MIG的CSP多用戶圖。來自同一組織或不同組織的多個獨立用戶,在單個物理GPU中分配專用,受保護和隔離的GPU實例。
錯誤和故障檢測,隔離和控制
通過檢測,包含並經常糾正錯誤和故障,不是強制GPU重置來提高GPU的正常運行時間和可用性至關重要。在大型,多GPU群集和單GPU,多租戶環境(例如MIG配置)中尤其重要。
NVIDIA Ampere架構A100 GPU包括新技術,可改善錯誤/故障歸因(歸因於導致錯誤的應用程序),隔離(隔離有故障的應用程序,不會影響在同一GPU或GPU群集中運行的其他應用程序),限制(確保一個應用程序中的錯誤不會泄漏並影響其他應用程序)。這些故障處理技術對於MIG環境尤其重要,確保共享單個GPU的客戶端之間的適當隔離和安全性。
連接NVLink的GPU現在具有更強大的錯誤檢測和恢復功能。遠程GPU上的頁面錯誤會通過NVLink發送回源GPU。遠程訪問故障通信是大型GPU計算群集的一項關鍵彈性功能,有助於確保一個進程或VM中的故障,不會導致其它進程或VM停機。
A100 GPU包括其他幾個新的和改進的硬件功能,可以增強應用程序性能。
CUDA 11在NVIDIA Ampere架構GPU方面的進步
在NVIDIA CUDA並行計算平台上構建了成千上萬個GPU加速的應用程序。CUDA的靈活性和可編程性使其成為研究和部署新的DL和並行計算算法的首選平台。
NVIDIA Ampere架構GPU旨在提高GPU的可編程性和性能,降低軟件復雜性。NVIDIA Ampere架構的GPU和CUDA編程模型的改進,加快程序執行速度,降低許多操作的延遲和開銷。
CUDA 11的新功能為第三代Tensor核心,稀疏性,CUDA圖形,多實例GPU,L2緩存駐留控件以及NVIDIA Ampere架構,一些新功能提供了編程和API支持。
結論
NVIDIA的使命,加速時代的達芬奇和愛因斯坦的工作。科學家,研究人員和工程師致力於使用高性能計算(HPC)和AI解決全球最重要的科學,工業和大數據挑戰。
NVIDIA A100 Tensor Core GPU,在我加速數據中心平台中實現了下一個巨大飛躍,可在任何規模上提供無與倫比的加速性能,使這些創新者能夠終其一生。A100支持眾多應用領域,包括HPC,基因組學,5G,渲染,深度學習,數據分析,數據科學和機器人技術。
推進當今最重要的HPC和AI應用程序-個性化醫學,對話式AI和深度推薦系統-要求研究人員變得更大。A100為NVIDIA數據中心平台提供動力,包括Mellanox HDR InfiniBand,NVSwitch,NVIDIA HGX A100和Magnum IO SDK,進行擴展。這個集成的技術團隊,有效地擴展到成千上萬個GPU,以前所未有的速度訓練最復雜的AI網絡。
A100 GPU的新MIG功能,將每個A100划分為多達七個GPU加速器,實現最佳利用率,有效地提高GPU資源利用率,以及GPU對更多用戶和GPU加速應用程序的訪問。借助A100的多功能性,基礎架構管理人員,可以最大化其數據中心中每個GPU的效用,滿足從最小的工作到最大的多節點工作負載的不同規模的性能需求。