A100 GPU硬件架构
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。
GA100具有128個SM的完整GPU。A100 Tensor Core GPU具有108個SM。
A100 SM架構
新的A100 SM大大提高了性能,建立在Volta和Turing SM體系結構中引入的功能的基礎上,并增加了許多新功能和增強功能。
A100 SM。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核心:
o 加速所有數據類型,包括FP16,BF16,TF32,FP64,INT8,INT4和二進制。
o 新的Tensor Core稀疏功能利用深度學習網絡中的細粒度結構稀疏性,使標準Tensor Core操作的性能提高了一倍。
o A100中的TF32 Tensor Core操作提供了一條簡單的路徑來加速DL框架和HPC中的FP32輸入/輸出數據,其運行速度比V100 FP32 FMA操作快10倍,而具有稀疏性時則快20倍。
o FP16 / FP32混合精度Tensor Core操作為DL提供了空前的處理能力,運行速度比V100 Tensor Core操作快2.5倍,而稀疏性提高到5倍。
o BF16 / FP32混合精度Tensor Core操作以與FP16 / FP32混合精度相同的速率運行。
o FP64 Tensor Core操作為HPC提供了前所未有的雙精度處理能力,運行速度是V100 FP64 DFMA操作的2.5倍。
o 具有稀疏性的INT8 Tensor Core操作為DL推理提供了空前的處理能力,運行速度比V100 INT8操作快20倍。
? 192 KB的組合共享內存和L1數據緩存,比V100 SM大1.5倍。
? 新的異步復制指令將數據直接從全局內存加載到共享內存中,可以選擇繞過L1緩存,并且不需要使用中間寄存器文件(RF)。
? 與新的異步復制指令一起使用的新的基于共享內存的屏障單元(異步屏障)。
? L2緩存管理和駐留控制的新說明。
? CUDA合作小組支持新的經紗級減少指令。
? 進行了許多可編程性改進,以降低軟件復雜性。
比較了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一個。
圖1.將A100 Tensor Core操作與針對不同數據類型的V100 Tensor Core和標準操作進行比較。
圖2. 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 GPU硬件架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 稀疏性如何为AI推理增加难度
- 下一篇: 双精度张量内核加快了高性能计算