一文多圖帶你深入了解NVIDIA GTC 2020發布的新一代GPU「核彈」(GPU篇)

2021-02-15 數據中心前沿技術

在經過黃教主從客廳壁爐裡拿出HGX-2 A100 Baseboard的預熱之後,萬眾矚目的NVIDIA GTC 2020 Keynote終於在5月14日晚上9點面向全球播出。不出所料,黃教主正式發布了基於Ampere架構的新一代GPU產品。正式名稱為NVIDIA A100的新一代GPU「核彈」不僅為業界樹立了AI訓練新的性能標杆,也將促進系統廠家開發從數據中心到網絡邊緣側的新一代伺服器產品。

 

         本文將深入分析NVIDIA A100 GPU,以及基於A100 GPU的HGX/EGX系統。由於文章篇幅較長,分為「GPU篇」和「系統篇」兩部分。相信看過之後,一定能讓你對NVIDIA新一代「核彈」有更深入的了解。

 

NVIDIA新一代SXM4 A100 GPU

 

         作為旗艦級GPU,NVIDIA本次發布的是採用最新SXM4 Form Factor的A100 GPU。SXM Form Factor是NVIDIA慣用的結構形態,以扣卡的形式安裝到底板上,通過NVLink總線,可以充分發揮GPU的數據處理性能。

 

         新一代的NVIDIA A100 GPU採用了TSMC目前最新的7nm工藝製程,晶片尺寸達到826平方毫米,包含540個電晶體,SXM4模塊的功耗達到400W TDP。通過對比NVIDIA P100、V100和A100這三代旗艦GPU的性能參數,可以看到,受益於7nm工藝製程,在晶片面積只比GV100增加了11平方毫米的情況下,晶片內部所容納的電晶體數量增加了1.5倍,但功耗只增加了50W。顯然,相比於GV100核心,A100 GPU核心的性能可以實現大幅提升。

NVIDIA A100和V100峰值計算性能對比

 

         NVIDIA官方也給出了A100和V100在不同數據格式下峰值計算性能的對比數據,關於這一數據,我們後面還會進行詳細分析。

NVIDIA滿血GA100核心框圖

 

         NVIDIA完整的GA100核心結構與GV100有很多相似的地方,片上左右兩側均為HBM2高帶寬內存,上下兩側分別為PCIe Gen4總線和NVLink總線,佔據晶片最大面積的則是GPC(GPU Processing Clusters)單元。GA100核心包含8個GPC單元,每個GPC單元又包含8個TPC(Texture Processing Clusters)單元。在每個TPC單元中,又包含了2個SM(Streaming Multiprocessors)流式多處理器。於是,滿血的GA100核心可以提供128個SM(8×8×2=128)。可能是出於控制功耗的考慮,實際的A100 GPU上只有108個SM。

NVIDIA GA100核心的流式多處理器結構

 

         Tesla P100上有16GB HBM2內存,Tesla V100上HBM2內存容量最多可以達到32GB。從NVIDIA GA100核心的設計上來看,其片上HBM2內存容量可以達到48GB(8GB×6),但目前發布的A100 GPU HBM2內存容量只有40GB。猜測目前的A100 GPU上有一個HBM2內存模塊使用的是Dummy Die,48GB HBM2的A100 GPU版本可能在未來提供。

NVIDIA A100 GPU核心

 

         為了實現GPU和GPU之間更大帶寬的雙向通信,方便數據更快地在GPU之間傳遞,NVIDIA在A100 GPU上使用了NVLink 3.0接口。NVLink 3.0接口不僅將單鏈路的速率從上一代的25Gbps提升到了50Gbps,還將鏈路數量從6 Links/Chip提升到了12 Links/Chip。這樣一來,NVLink 3.0接口的帶寬從上一代的300 GB/s翻倍提升到了600 GB/s。這一改變對DGX/HGX系統性能提升大有好處,我們將在DGX/HDG整機系統部分進一步分析。

NVIDIA三代NVLink性能對比

 

         對NVIDIA三代旗艦GPU性能參數進行橫向對比,硬體設計和工藝上的變化,最終帶來的是GPU計算性能的飛躍。

NVIDIA三代旗艦GPU性能參數對比

 

NVIDIA GPU最值得稱道的就是其Tensor Core(張量核心),這是提升GPU峰值計算能力的關鍵。每個SM模塊裡包含了4個Tensor Core,整個A100 GPU就具有432個Tensor Core。雖然A100 GPU Tensor Core的數量小於Tesla V100 GPU Tensor Core的數量(640個),但A100 SM裡的第三代Tensor Core每時鐘周期可以進行256次FP16/FP32 FMA混合精度運算(Fused Multiply-Add:一次乘運算和一次加運算,FP16乘法與FP32累加),是GV100 SM裡第二代Tensor Core每時鐘周期64次FMA運算的4倍。

 

因此,A100 GPU FP16 Tensor峰值計算性能達到312 TFlops,不僅遠超Tesla V100 FP16 Tensor的125 TFlops計算性能,也比華為Ascend 910 FP16 256TFlops的峰值計算性能提升了22%。由於華為Ascend 910也是採用的TSMC 7nm工藝,因此這個性能提升還是相當可觀的。

NVIDIA新的TF32數據格式

 

         不僅如此,NVIDIA在A100 GPU上還引入了新的TF32(TensorFloat-32)數據格式。對比FP32、TF32和FP16這三種數據格式,TF32具有FP32的數據範圍,但數據精度與FP16相當。在保持了合理精度的情況下,有效地減少了數據比特數量。

 

在進行FP32數據計算的時候,先將兩個FP32數據轉換為TF32,以TF32格式進行計算,完成計算後按照FP32的數據格式進行輸出。這種計算方式增強了Tensor Core對稀疏矩陣的處理能力,可以使得Tensor Core的計算速度提升2倍。由於深度神經網絡在訓練的過程中會碰到大量的稀疏矩陣,因此TF32數據格式的引入有助於縮短GPU上的AI模型訓練時間。

NVIDIA A100 GPU對稀疏矩陣計算性能的提升

 

NVIDIA給出了A100和V100在不同數據格式下的計算性能對比數據,可以看到,不論有沒有Tensor Core的加持,A100的峰值計算性能都要比V100有較大提升。考慮到之前業界新的AI晶片都會跟NVIDIA Tesla V100做性能對比,新一代的A100 GPU將會為AI訓練應用樹立起新的業界標杆。

NVIDIA V100和A100在不同數據格式下的計算性能對比

 

總 結

在GTC 2020 Keynote上,NVIDIA只發布了SXM4形態的A100 GPU。考慮到Tesla V100 GPU擁有SMX3和PCIe Card兩種主要形態,我們可以預計在接下來的日子裡,PCIe A100 GPU卡也會推向市場。由於PCIe標卡功耗的限制,PCIe A100 GPU卡的功耗應該會略小於目前SXM4 A100的400W功耗。

 

         由於Ampere架構在性能上的巨大提升,NVIDIA表示基於Ampere架構的推理GPU晶片和卡也會在未來推出,這將會替代目前在推理領域大熱的Tesla T4 GPU卡。

 

         由於受到COVID-19病毒的影響,原定於3月份舉行的GTC 2020大會被迫推遲到了5月份才在線上召開。因此,很多雲計算廠家、網際網路企業和主要OEM/ODM廠家其實已經拿到了A100 GPU的樣品,並已經在開發各自支持A100 GPU的AI伺服器產品。隨著NVIDIA A100 GPU的正式發布,相信在今年下半年,我們就能夠看到新一代異構計算伺服器的面世。

推薦閱讀:

使用Tesla A100 GPU的NVIDIA HGX-2現身

NVIDIA收購Cumulus Networks:在網絡領域一路狂奔

NVIDIA低調推出Tesla V100S GPU

MWC 2019 LA:NVIDIA展示EGX邊緣計算伺服器

圖片來自網絡,版權歸原作者所有

本文僅代表作者觀點,與就職單位無關。

相關焦點

  • 一文多圖帶你深入了解NVIDIA GTC 2020發布的新一代GPU「核彈」(系統篇)
    在一文多圖帶你深入了解NVIDIA GTC 2020發布的新一代GPU「核彈」(GPU篇)
  • 深度學習訓練時GPU溫度過高?幾個命令,為你的GPU迅速降溫
    https://zhuanlan.zhihu.com/p/27682206這篇文章寫的是在ubuntu X server環境下,通過修改nvidia-settings來修改GPU風扇速度,因為默認的nvidia-settings設置是,即使GPU在計算的時候溫度已經達到85度,風扇速度最高不會超過70%,這樣就無法很好地為GPU進行散熱,因此需要手動修改GPU風扇速度。
  • 如何監控NVIDIA GPU 的運行狀態和使用情況
    如果這個值很低,則意味著您的 GPU 並沒有全速的工作,可能是受到 CPU或者IO 操作的瓶頸,如果你使用的按小時付費的雲伺服器,那麼就是在浪費時間和金錢!使用終端命令監控nvidia-smi以下是我們在這裡收集的一些信息:如果你負責硬體相關的工作,溫度和功率是跟蹤的可能是你關注的主要問題,這樣您就可以平衡嘗試最大化計算和維護設備安全
  • TensorFlow_GPU On OpenShift部署實踐
    # yum -y install xorg-x11-drv-nvidia xorg-x11-drv-nvidia-devel nvidia-driver-NVML vidia-modprobe cuda-drivers刪除nouveau內核模塊,否則將無法加載nvidia內核模塊。
  • Pytorch多GPU訓練
    舉個例子, 比如你在3個GPU上面跑代碼, 但是一個GPU最大只能跑3條數據, 但是因為0號GPU還要做一些數據的整合操作, 於是0號GPU只能跑2條數據, 這樣一算, 你可以跑的大小是2+3+3=8, 於是你可以設置下面的這樣的參數:batch_szie = 8gpu0_bsz = 2acc_grad = 1my_net = MyNet()my_net
  • GPU 顯存不足怎麼辦?
    監控 GPU監控GPU最常用的當然是 nvidia-smi ,但有一個工具能夠更好的展示信息:gpustat 。nvidia-smiwatch --color -n1 gpustat -cpu # 動態事實監控GPU推薦在配置文件中配置別名,反正我每次 gpu 一下,信息就全出來了,很方便。
  • pytorch多gpu並行訓練
    ] = '0,3'但是要注意的是, 這個參數的設定要保證在模型加載到gpu上之前, 我一般都是在程序開始的時候就設定好這個參數, 之後如何將模型加載到多GPU上面呢?舉個例子, 比如你在3個GPU上面跑代碼, 但是一個GPU最大只能跑3條數據, 但是因為0號GPU還要做一些數據的整合操作, 於是0號GPU只能跑2條數據, 這樣一算, 你可以跑的大小是2+3+3=8, 於是你可以設置下面的這樣的參數:batch_szie = 8gpu0_bsz = 2acc_grad = 1my_net = MyNet()my_net =
  • 基於VMware Bitfusion的GPU共享技術使用場景討論
    IT管理員通過鏡像模板在上課之前發布虛擬桌面,桌面數量與學生數量保持一致,或者略多一些。學生在上課時,通過實訓教室現有的PC,或者瘦客戶機,或者學生自己的筆記本電腦,通過瀏覽器或者Horizon客戶端登錄到虛擬桌面,根據課程指定的任務。當需要GPU資源時,Bitfusion客戶端會將任務發送到遠程Bitfusion伺服器端執行;當資源不足時,系統會進行排隊。
  • 【經驗分享】GPU 顯存不足怎麼辦?
    監控 GPU監控GPU最常用的當然是 nvidia-smi ,但有一個工具能夠更好的展示信息:gpustat 。nvidia-smiwatch --color -n1 gpustat -cpu # 動態事實監控GPU推薦在配置文件中配置別名,反正我每次 gpu 一下,信息就全出來了,很方便。
  • 在 Ubuntu 16.04 中安裝支持 CPU 和 GPU 的 Google TensorFlow 神經網絡軟體
    它的創建者 Google 希望提供一個強大的工具以幫助開發者探索和建立基於機器學習的應用,所以他們在去年作為開源項目發布了它。TensorFlow 是一個非常強大的工具,專注於一種稱為深層神經網絡deep neural network(DNN)的神經網絡。深層神經網絡被用來執行複雜的機器學習任務,例如圖像識別、手寫識別、自然語言處理、聊天機器人等等。
  • C++版本demo7發布 全民GPU加速(包括win7)
    更新日誌增加右鍵菜單(只是右鍵菜單,編輯圖標和設置尚未完成點擊無效)新增gpu全局渲染包括win7系統,默認開啟無需設置,設定gpu渲染圖標上限40個,如果dock圖標超過40個之後的圖標將會使用cpu渲染節省顯存,GPU渲染使用DX11如果運行大型DX11遊戲有可能會對dock的DX11設備衝突造成設備丟失,所以使用GPU渲染的時候內存仍然會備份一個圖標來防止DXX11設備丟失時用來重新創建圖標(此過程尚未測試);新的gpu渲染仍會佔用一點
  • 使用conda安裝tensorflow-gpu | ubuntu系統
    本篇文章以使用 conda 安裝 tensorflow-gpu==1.13.1為例,步驟如下:1.使用 conda 命令進行安裝:conda install tensorflow-gpu==1.13.1大概率會出現類似下列的信息:不過沒關係,是在我們意料之中的,剛才只是試探一下...
  • NVIDIA為《我的世界》RTX版發布5個全新地圖
    這是NVIDIA發布的第二波《我的世界》(Minecraft )體驗地圖,即日起可在《我的世界》(Minecraft )市場下載這5個全新作品。 《我的世界》(Minecraft )全新作品包括:Pearlescent Moon的《山頂的生活方式 RTX版》(Hilltop LifestyleRTX)——作為該建造者者繼《顏色和光影 RTX版》(Color, Light andShadow RTX)後發布的又一作品
  • 基於tensorflow的深度學習MultiGPU訓練實戰
    深度學習多卡訓練常見有兩種方式,一種是數據並行化(data parallelism),另外一種是模型並行化(model parallelism)。這裡只是簡單介紹,想要深入了解細節可以找其他資料學習一下。下面主要基於tensorflow講一個數據並行化的實例。1、  單機多卡訓練:給個例子,比如一臺機器上裝有4個GPU卡,以cpu做為PS(master),主要保存一下參數和變量,進行梯度平均。其餘4個GPU訓練模型(worker),進行一些計算量比加大的操作。
  • 2020年深度學習最佳GPU一覽,看看哪一款最適合你!
    截至2020年2月,以下GPU可以訓練所有當今語言和圖像模型:RTX 8000:48GB VRAM,約5500美元RTX 6000:24GB VRAM,約4000美元Titan RTX:24GB VRAM,約2500美元RTX 2080 Ti:
  • 如何使用keras,python和深度學習進行多GPU訓練
    然而,我們對keras最感到受挫的一個原因,是在多GPU環境下使用,因為這是非常重要的。如果你使用Theano,請忽略它——多GPU訓練,這並不會發生。在上面的圖1中,我們可以看到單個卷積(左),初始(中)和下採樣(右)模塊,然後是從這些模塊來構建MiniGoogLeNet架構(底部)。我們將在本文後面的多GPU實驗中使用MiniGoogLeNet架構。
  • 【測評】GPU訓練機器學習模型哪家強?AWS、谷歌雲、IBM等6大平臺對比
    隨著越來越多的現代機器學習任務都需要使用GPU,了解不同GPU供應商的成本和性能trade-off變得至關重要。初創公司Rare Technologies最近發布了一個超大規模機器學習基準,聚焦GPU,比較了幾家受歡迎的硬體提供商,在機器學習成本、易用性、穩定性、可擴展性和性能等方面的性能。
  • PyTorch Lightning 1.1發布,支持多GPU切片訓練,只需一半內存
    除了分片技術,它還具有層間和層內的並行性,跨多個gpu和主機拆分模型。你現在可以享受55%以上的內存減少所有閃電模塊,只需傳遞一個單一的教練標誌!這意味著更大的型號可以安裝在內存有限的多個GPU卡上。你可以增加gpu數量和啟用本機混合精度為進一步的內存和速度優勢。在幕後,我們自動處理分區優化器和所有gpu之間的通信。
  • 如何使用 Keras,Python 和深度學習進行多 GPU 訓練
    然而,我們對keras最感到受挫的一個原因,是在多GPU環境下使用,因為這是非常重要的。如果你使用Theano,請忽略它——多GPU訓練,這並不會發生。在上面的圖1中,我們可以看到單個卷積(左),初始(中)和下採樣(右)模塊,然後是從這些模塊來構建MiniGoogLeNet架構(底部)。我們將在本文後面的多GPU實驗中使用MiniGoogLeNet架構。
  • 使用Tesla A100 GPU的NVIDIA HGX-2現身
    NVIDIA GTC 2020 Keynote即將在北京時間5月14日晚上9點舉行,就在GTC 2020線上會議的前夕,可能是為了預熱