NVIDIA Turing Architecture架构设计(上)
NVIDIA Turing Architecture架構設計(上)
在游戲市場持續增長和對更好的 3D 圖形的永不滿足的需求的推動下, NVIDIA ?已經將 GPU 發展成為許多計算密集型應用的世界領先的并行處理引擎。除了渲染高度逼真和身臨其境的 3D 游戲外, NVIDIA GPUs 還可以加速內容創建工作流、高性能計算( HPC )和數據中心應用程序,以及眾多人工智能系統和應用程序。新的 NVIDIA 圖靈 GPU 架構建立在 GPU 長期領導地位的基礎上。
圖靈代表了十多年來最大的體系結構飛躍,它提供了一個新的核心 GPU 體系結構,使 PC 游戲、專業圖形應用和深度學習推理的效率和性能有了重大提高。
使用新的基于硬件的加速器和混合渲染方法,圖靈融合了光柵化、實時光線跟蹤、人工智能和模擬技術,在電腦游戲中實現令人難以置信的真實感、由神經網絡驅動的驚人新效果、電影質量的交互體驗以及創建或導航復雜 3D 模型時的流體交互。
在核心架構中,圖靈顯著提升圖形性能的關鍵因素是一個新的 GPU 處理器(流式多處理器 SM )架構,它提高了著色器執行效率,以及一個新的內存系統架構,其中包括對最新GDDR6 內存技術的支持。
圖像處理應用程序,如 ImageNet Challenge 是深度學習的首批成功案例之一,因此,人工智能有潛力解決圖形中的許多重要問題也就不足為奇了。圖靈的張量核心支持一套新的基于深度學習的神經網絡,除了為基于云的系統提供快速的人工智能推斷外,還為游戲和專業圖形提供驚人的圖形效果。
長期以來備受追捧的計算機圖形繪制的圣杯——實時光線跟蹤現在已經在具有 NVIDIA 圖靈 GPU 體系結構的單 GPU 系統中實現。圖靈 GPUs 引入了新的 RT 核心,加速器單元致力于以非凡的效率執行光線跟蹤操作,消除了過去昂貴的基于軟件仿真的光線跟蹤方法。這些新裝置與 NVIDIA RTX ? 軟件技術和復雜的過濾算法使圖靈能夠提供實時光線跟蹤渲染,包括具有物理精確陰影、反射和折射的真實感對象和環境。
在圖靈開發的同時,微軟在 2018 年初發布了 directmlforai 和 DirectX 光線跟蹤( DXR ) api 。通過圖靈 GPU架構和微軟新的 AI 和光線追蹤 API 的結合,游戲開發者可以在他們的游戲中快速部署實時 AI 和光線追蹤。
除了具有開創性的人工智能和光線跟蹤功能外,圖靈還包括許多新的高級著色功能,這些功能可以提高性能,增強圖像質量,并提供更高層次的幾何復雜性。
圖靈 GPUs 還繼承了對
 NVIDIA CUDA 的所有增強? Volta 體系結構中引入的平臺,可提高計算應用程序的能力、靈活性、生產力和可移植性。諸如獨立線程調度、多應用程序地址空間隔離的硬件加速多進程服務( MPS )和協作組等特性都是圖靈 GPU 體系結構的一部分。
一些新的 NVIDIA GeForce ?和 NVIDIA Quadro ? GPU 產品將由圖靈 GPUs 提供動力。在本文將重點介紹 NVIDIA 旗艦圖靈 GPU 的體系結構和性能,該產品代號為 TU102 ,將在 GeForce RTX 2080 Ti 和 Quadro RTX 6000 上交付。技術細節,包括 TU104 和 TU106 圖靈 GPUs 的產品規范,見附錄。
圖 1 展示了圖靈如何用一個全新的架構來重塑圖形,這個架構包括增強的張量核心、新的 RT 核心和許多新的高級著色功能。圖靈結合了可編程著色、實時光線跟蹤和人工智能算法,為游戲和專業應用程序提供了難以置信的真實感和物理精確的圖形。
 
圖 1. NVIDIA 圖靈關鍵特性
NVIDIA 圖靈是世界上最先進的GPU 體系結構。高端 TU102 GPU 包括在臺積電 12納米 FFN ( FinFET NVIDIA )高性能制造工藝上制造了 186 億個晶體管。
GeForce RTX 2080 Ti Founders Edition GPU 提供了以下卓越的計算性能:
14 . 2 TFLOPS 公司1峰值單精度( FP32 )性能
28 . 5 噸1半精度( FP16 )性能的峰值
14 . 2 提示1通過獨立的整數執行單元與 FP 并行
113 . 8 張量 TFLOPS1,2
10 千兆射線/秒
78 太拉 RTX – 操作
Quadro RTX 6000 提供了專為專業工作流程設計的卓越計算性能:
16 . 3 TFLOPS 公司1峰值單精度( FP32 )性能
32 . 6 TFLOPS 公司1半精度( FP16 )性能的峰值
16 . 3 TIPS1 與 FP 并行,通過獨立的整數執行單元
130 . 5 張量 TFLOPS1,2
10 千兆射線/秒
84 太拉 RTX – 操作
1基于 GPU 升壓時鐘。2FP16 矩陣數學與 FP16 累加。
下面的部分將以摘要格式描述圖靈的主要新創新。本文提供了每個領域的更詳細描述。
新的流式多處理器( SM )
與圖靈新一代處理器相比,新一代圖靈處理器的效率提高了 50% 。這些改進是由兩個關鍵的體系結構更改實現的。首先,圖靈 SM 添加了一個新的獨立整數數據路徑,它可以與浮點數學數據路徑同時執行指令。在前幾代中,執行這些指令會阻止浮點指令的發出。其次, SM 內存路徑被重新設計,將共享內存、紋理緩存和內存負載緩存統一到一個單元中。這意味著普通工作負載的一級緩存可用帶寬增加 2 倍,容量增加 2 倍以上。
圖靈張量核
張量核心是專門為執行張量/矩陣運算而設計的專用執行單元,這些運算是深度學習中使用的核心計算功能。與 Volta 張量核類似,圖靈張量核在深度學習神經網絡訓練和推理操作的核心為矩陣計算提供了巨大的速度。圖靈 GPUs 包括了一個新版本的張量核心設計,它已經增強了推斷能力。圖靈張量核心增加了新的INT8 和 INT4 精度模式來推斷可以容忍量化且不需要FP16 精度的工作負載。圖靈張量核心首次為 GeForce 游戲 PC 和基于 Quadro 的工作站帶來了新的基于深度學習的人工智能能力。一種稱為深度學習超級采樣( DLSS )的新技術由張量核提供動力。 DLSS 利用深度神經網絡提取渲染場景的多維特征,并智能地結合多幀圖像中的細節來構造高質量的最終圖像。與傳統技術(如 TAA )相比, DLSS 使用更少的輸入樣本,同時避免了此類技術在透明度和其他復雜場景元素方面面臨的算法困難。
實時光線跟蹤加速
圖靈引入了實時光線跟蹤,使單個 GPU 能夠渲染具有視覺真實感的 3D 游戲和復雜的專業模型,具有物理上精確的陰影、反射和折射。圖靈的新 RT 核心加速射線追蹤,并被系統和接口所利用,如 NVIDIA 的 RTX 射線追蹤技術,以及微軟 DXR , NVIDIA OptiX 等 API ?,以及 Vulkan 光線跟蹤,提供實時光線跟蹤體驗。
新的著色技術
網格著色
網格著色改進了 NVIDIA 的幾何處理架構,為圖形管道的頂點、細分和幾何體著色階段提供了一個新的著色器模型,支持更靈活和高效的幾何體計算方法。這種更靈活的模型,例如,通過將對象列表處理的關鍵性能瓶頸從 CPU 移開,并轉移到高度并行的 GPU 網格著色程序中,使每個場景支持數量級更多的對象成為可能。網格著色還支持先進的幾何合成和對象 LOD 管理的新算法。
可變速率著色( VRS )
VRS 允許開發人員動態控制著色速率,每 16 像素著色一次,或者每像素 8 次著色。應用程序使用著色速率曲面和每基本體(三角形)值的組合指定著色速率。 VRS 是一個非常強大的工具,它允許開發者更有效地進行陰影處理,減少了在全分辨率陰影處理不會給任何可見圖像質量帶來好處的屏幕區域的工作,從而提高了幀率。已經確定了幾種基于 VRS 的算法,這些算法可以根據內容細節級別(內容自適應著色)、內容運動速率(運動自適應著色)以及 VR 應用、鏡頭分辨率和眼睛位置( Foveated Rendering )來改變著色工作。
紋理空間著色
使用紋理空間著色,對象在保存到內存的專用坐標空間(紋理空間)中著色,像素著色器從該空間采樣,而不是直接計算結果。通過在內存中緩存著色結果并重用/重新采樣的能力,開發人員可以消除重復的著色工作或使用不同的采樣方法來提高質量。
多視圖渲染( MVR )
MVR 有力地擴展了 Pascal 的單聲道立體聲( SP )。雖然 SPS 允許渲染除 X偏移外的兩個常見視圖,但 MVR 允許在一個過程中渲染多個視圖,即使這些視圖基于完全不同的原點位置或視圖方向。訪問是通過一個簡單的編程模型來實現的,在這個模型中,編譯器自動將視圖無關的代碼分解出來,同時確定視圖相關的屬性以實現最佳執行。
圖形的深度學習功能
NVIDIA NGX 公司? 是 NVIDIA RTX 技術的新的基于深度學習的神經圖形框架。 NVIDIA NGX 利用深度神經網絡( DNNs )和一組“神經服務”來執行基于人工智能的功能,這些功能可以加速和增強圖形、渲染和其他客戶端應用程序。 NGX 將圖靈張量核心用于基于深度學習的操作,并加速向最終用戶直接交付 NVIDIA 深度學習研究。功能包括超高質量的 NGX DLSS (深度學習超級采樣)、 AI 修復內容感知圖像替換、 AI Slow-Mo 非常高質量和平滑的慢動作,以及 AI-Super-Rez 智能分辨率調整。
推理的深度學習特性
圖靈 GPUs 提供了卓越的推理性能。圖靈張量核心,加上 TensorRT ( NVIDIA 的運行時推斷框架)、 CUDA 和 cuDNN 庫的不斷改進,使圖靈 GPUs 能夠為推理應用程序提供出色的性能。圖靈張量核還增加了對快速 INT8 矩陣運算的支持,以最大程度地提高推理吞吐量,同時減少精確度損失。新的低精度 INT4 矩陣運算現在有可能與圖靈張量核心,并將使研究和開發到亞 8 位神經網絡。
GDDR6 高性能內存子系統
圖靈是第一個支持 GDDR6 內存的GPU 體系結構。 GDDR6 是高帶寬 GDDRAM 內存設計的下一個重大進步。圖靈 GPUs 中的 GDDR6 內存接口電路在速度、功率效率和噪音降低方面進行了徹底的重新設計,與 Pascal GPUs 中使用的 GDDR5X 內存相比,實現了 14 Gbps 的傳輸速率,功率效率提高了 20% 。
第二代 NVIDIA NVLink
圖靈 TU102 和 TU104
 GPUs 合并了 NVIDIA 的 NVLink ? 高速互連,提供可靠、高帶寬和低延遲連接對圖靈 GPUs 。 NVLink 具有高達100GB / s 的雙向帶寬,使定制的工作負載能夠在兩個 GPUs 之間高效地分割并共享內存容量。對于游戲工作負載, NVLink 增加的帶寬和專用的 inter- GPU 通道為 SLI 提供了新的可能性,例如新的模式或更高分辨率的顯示配置。對于大型內存工作負載,包括專業的光線跟蹤應用程序,場景數據可以在 GPUs 的幀緩沖區中分割,提供高達 96 GB 的共享幀緩沖區內存(兩個 48 GB Quadro RTX 8000 GPUs ),內存請求由硬件根據內存分配的位置自動路由到正確的 GPU 。
USB-C 和 VirtualLink
圖靈 GPUs 包括對 USBType-C 的硬件支持? 和 VirtualLink ?. (為了準備新出現的 VirtualLink 標準,圖靈 GPUs 已經根據 VirtualLink 高級概述 實現了硬件支持。要了解有關 VirtualLink 的更多信息,請參閱http://www.virtuallink.org) VirtualLink 是一種新的開放式行業標準,旨在通過單個 USB-C 連接器滿足下一代 VR 耳機的功率、顯示和帶寬需求。除了減輕目前 VR 耳機的安裝麻煩之外, VirtualLink 還將把 VR 應用到更多的設備中。
深度圖靈體系結構
圖靈 TU102 GPU 是圖靈GPU 線路中性能最高的 GPU ,也是本節的重點。TU104 和 TU106 GPUs 采用與 TU102 相同的基本架構,針對不同的使用模式和市場細分,進行了不同程度的縮減。 TU104 和 TU106 芯片架構和目標用途/市場的詳細信息見 圖靈體系結構白皮書
 。
圖靈 TU102 GPU
TU102 GPU 包括 6 個圖形處理群集( GPC )、 36 個紋理處理群集(TPC )和 72 個流式多處理器( SMs )。(參見
 圖 2 了解帶有 72 個SM 單元的 TU102 full GPU 的圖示。)每個GPC 包括一個專用光柵引擎和六個 TPC ,每個 TPC 包括兩個 SMs 。每個 SM 包含 64 個 CUDA 內核、 8 個張量內核、一個256 KB 的寄存器文件、 4 個紋理單元和 96 KB 的 L1 /共享內存,這些內存可根據計算或圖形工作負載配置為各種容量。
光線跟蹤加速由每個 SM 內的新 RT核心處理引擎執行( RT 核心和光線跟蹤功能在完整的 NVIDIA 圖靈體系結構白皮書
 中有更深入的討論)。
TU102 GPU 的全面實施包括以下內容:
4608 CUDA 顏色
72 個 RT 芯
576 張量核
288 個紋理單位
12 個 32 位 GDDR6 內存控制器(總計 384 位)。
每個內存控制器都有 8 個 ROP 單元和 512 KB 的二級緩存。完整的 TU102 表 1 由 96 個 ROP 單元和 6144 KB 的二級緩存組成。參見 GPU 表 1 中的圖靈 TU102 GPU 比較了 Pascal GP102 的 GPU 特性和圖靈 TU102 。
 
圖 2 . 圖靈 TU102 全 GPU 帶 72 個 SM 單元
注: TU102 GPU 還具有144 個 FP64 單元(每平方米兩個),這在本圖中沒有描述。 FP64 TFLOP 速率是 FP32 操作的 TFLOP 速率的 1 / 32 。包含少量的 FP64 硬件單元,以確保任何使用 FP64 代碼的程序都能正確運行。
Table
-  
Comparison of NVIDIA Pascal 
GP102 and Turing TU102Note: ? Peak TFLOPS, TIPS, and TOPS rates are based
 on GPU Boost Clock.+ Power figure represents Graphics Card TDP only.
 Note that use of the VirtualLink?/USB Type-C? connector requires up to an
 additional 35 W of power that is not represented in this power figure.
 
 
 
SM 設計,它包含了我們在 Volta GV100 SM 架構中引入的許多功能。每個 TPC 包括兩個 SMs ,每個 SM 共有 64 個 FP32 核和 64 個 INT32 核。相比之下, Pascal GP10x GPUs 每個 TPC 有一個 SM ,每 SM 有 128 個 FP32 核。圖靈 SM 支持 FP32和 INT32 操作的并發執行(更多細節見下文),獨立的線程調度類似于 voltagv100 GPU 。每個圖靈 SM 還包括八個混合精度的圖靈張量核心,在下面的圖靈張量核一節中有更詳細的描述,還有一個 RT 核心,其功能在 圖靈射線追蹤技術below . 中有描述,圖靈 TU102 、 TU104 和 TU106 SM 的說明見 圖 4 。
 
圖 4 . 圖靈 TU102 / TU104 / TU106 流式多處理器( SM )
圖靈 SM 被劃分為四個處理塊,每個處理塊有 16 個 FP32 核、 16 個 INT32 核、兩個張量核、一個 warp 調度器和一個調度單元。每個塊包括一個新的 L0 指令緩存和一個 64kb 的寄存器文件。四個處理塊共享一個組合的 96kbl1 數據緩存/共享內存。傳統圖形工作負載將 96 KB L1 /共享內存劃分為 64 KB 的專用圖形著色器 RAM 和 32 KB 的紋理緩存和寄存器文件溢出區域。計算工作負載可以將 96 KB 劃分為 32 KB 共享內存和 64 KB L1 緩存,或 64 KB 共享內存和 32 KB L1 緩存。
圖靈實現了核心執行數據路徑的重大改進。現代著色器工作負載通常將 FP 算術指令(如 FADD 或 FMAD )與更簡單的指令(如用于尋址和獲取數據的整數加法、用于處理結果的浮點比較或最小/最大值)混合在一起。在以前的著色器體系結構中,每當這些非 FP 數學指令之一運行時,浮點數學數據路徑就處于空閑狀態。在第二個并行執行單元 kzc0 上,用一個并行的 CUDA 執行一個浮點指令。
圖 5 表明整數管道指令與浮點指令的混合情況各不相同,但在一些現代應用程序中,通常會看到每 100 條浮點指令增加 36 條整數管道指令。將這些指令移動到一個單獨的管道中,這意味著浮點的有效吞吐量增加了 36% 。
 
圖 5. Turing SM 中浮點與整數指令的并行執行
分析許多工作負載時,平均每 100 個浮點操作就有 36 個整數操作。
圖靈還為 L1 的共享內存引入了統一的紋理緩存和架構。這種統一的設計允許一級緩存利用資源,與 Pascal 相比,每 TPC 增加
 2 倍的命中帶寬,并允許在共享內存分配未使用所有共享內存容量時對其進行重新配置,使其更大。圖靈 L1 的大小可以達到 64kb ,再加上每個 SM 共享內存分配 32kb ,或者它可以減少到 32kb ,允許 64kb 的分配用于共享內存。圖靈的二級緩存容量也有所增加。
圖 6 展示了圖靈 SM 新的組合 L1 數據緩存和共享內存子系統如何顯著提高性能,同時簡化編程并減少達到或接近峰值應用程序性能所需的調整。將一級數據緩存與共享內存相結合可以減少延遲,并提供比先前在 Pascal GPUs 中使用的一級緩存實現更高的帶寬。
 
圖 6 .新的共享內存體系結構
總的來說, SM 的變化使圖靈能夠在每個 CUDA 核心上實現 50% 的性能改進。 圖 7 顯示當前游戲應用程序的一組著色器工作負載的結果。
 
圖 7 .在許多不同的工作負載下,圖靈著色的性能比 Pascal 快
圖靈張量核
圖靈 GPUs 包括一個增強版的張量核心首次引入 voltagv100 GPU 。圖靈張量核心設計增加了 INT8 和 INT4 精確模式,用于推斷可以容忍量化的工作負載。對于需要更高精度的工作負載,
 FP16 也完全受支持。
在基于圖靈的 GeForce 游戲GPUs 中引入張量核,使得首次將實時深度學習引入游戲應用成為可能。圖靈張量核心加速了 NVIDIA NGX 神經服務基于人工智能的特性,增強了圖形、渲染和其他類型的客戶端應用。 NGX 人工智能功能的例子包括深度學習超級采樣( DLSS )、 AI 修復、 AI 超級 Rez 和 AI Slow-Mo 。關于 DLSS 的更多細節可以在本文后面找到。您可以在完整的NVIDIA 圖靈體系結構白皮書 中找到有關其他 NGX 功能的附加信息。
圖靈張量核加速矩陣乘法是神經網絡訓練和推理功能的核心。圖靈張量核特別擅長推理計算,在推理計算中,有用的和相關的信息可以由一個訓練好的深層神經網絡( DNN )基于給定的輸入進行推斷和傳遞。推理的例子包括識別 Facebook 照片中朋友的圖像,識別和分類不同類型的汽車、行人和自動駕駛汽車中的道路危險,實時翻譯人類語言,以及在在線零售和社交媒體系統中創建個性化的用戶推薦。
TU102 GPU 包含 576 個張量核心:每個 SM 8 個, SM 內每個處理塊 2個。每個張量核心可以執行多達 64 個浮點融合乘法加法(FMA )操作,每個時鐘使用 FP16 輸入。一個 SM 中的八個張量核心每時鐘執行 512 個 FP16 乘法和累加運算,或每個時鐘總共執行 1024 次浮點運算。新的 INT8 精度模式以兩倍的速率工作,即每時鐘 2048 次整數運算。
圖靈張量核為矩陣運算提供了顯著的加速,除了新的神經圖形功能外,還用于深度學習訓練和推理操作。有關基本張量核心操作細節的更多信息,請參閱NVIDIA Tesla V100 GPU 體系結構白皮書
 .
新的圖靈張量核為人工智能推理提供了多精度。
為數據中心應用程序優化的圖靈
除了為高端游戲和專業圖形帶來革命性的新功能外,圖靈還為下一代 Tesla ? GPUs提供卓越的性能和能效。 NVIDIA 目前在數據中心用于推斷應用程序的基于 Pascal 的 GPUs 已經比基于CPU 的服務器提供了高達 10 倍的性能和 25 倍的能效。在圖靈張量核心的支持下,下一代基于圖靈的 Tesla GPUs 將在數據中心提供更高的推斷性能和能源效率。基于圖靈的 TeslaGPUs 優化后可在 70 瓦以下運行,這將為超大規模數據中心帶來顯著的效率和性能提升。
除了圖靈張量核心之外,圖靈 GPU 體系結構還包括一些提高數據中心應用程序性能的特性。一些關鍵功能包括:
增強視頻引擎
與上一代 Pascal 和 Volta GPU 架構相比,圖靈支持額外的視頻解碼格式,如 HEVC 4 : 4 : 4 ( 8 / 10 / 12 位)和 VP9 ( 10 / 12 位)。圖靈中增強的視頻引擎能夠解碼比等效的基于 Pascal 的 Tesla GPUs 多得多的并發視頻流。(見 視頻顯示引擎 下面的 . 一節)
圖靈多進程服務
圖靈 GPU 體系結構繼承了
 Volta 體系結構中首次引入的增強型多進程服務( MPS )特性。與基于 Pascal 的 Tesla GPUs 相比,基于圖靈的 Tesla 板上的 MPS 提高了小批量的推理性能,減少了啟動延遲,提高了服務質量,可以處理更多的并發客戶端請求。
更高的內存帶寬和更大的內存大小
即將推出的基于圖靈的 Tesla 板具有更大的內存容量和更高的內存帶寬,而上一代基于 Pascal 的 Tesla 板針對相似的服務器段,為虛擬桌面基礎設施( VDI )應用提供了更高的用戶密度。
圖靈存儲器結構和顯示特性
本節將深入探討圖靈體系結構的關鍵新內存層次結構和顯示子系統特性。
內存子系統的性能對于應用程序加速至關重要。圖靈改進了主內存、緩存和壓縮架構,以增加內存帶寬并減少訪問延遲。改進和增強的 GPU 計算功能有助于加速游戲和許多計算密集型應用程序和算法。新的顯示和視頻編碼/解碼功能支持更高分辨率和 HDR 功能的顯示器、更先進的 VR 顯示器、數據中心不斷增加的視頻流需求、 8K 視頻制作和其他視頻相關應用。詳細討論了以下特點:
GDDR6 內存子系統
二級緩存和 ROPs
圖靈存儲器壓縮
視頻顯示引擎
USB-C 和 VirtualLink
總結
以上是生活随笔為你收集整理的NVIDIA Turing Architecture架构设计(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: MLPerf Inference 0.7
 - 下一篇: NVIDIA Turing Archit