NVIDIA Turing Architecture架构设计(下)
NVIDIA Turing Architecture架構設計(下)
GDDR6 內存子系統
隨著顯示分辨率不斷提高,著色器功能和渲染技術變得更加復雜,內存帶寬和大小在 GPU 性能中扮演著更大的角色。為了保持最高的幀速率和計算速度, GPU 不僅需要更多的內存帶寬,還需要一個大的內存池來提供持續的性能。
NVIDIA 與 DRAM 行業密切合作,開發了世界上第一款使用 HBM2 和 GDDR5X 內存的
GPUs 。現在圖靈是第一個使用 GDDR6 內存的 GPU 架構。
GDDR6 是高帶寬 GDDRAM 內存設計的下一個重大進步。隨著許多高速 SerDes 和 RF 技術的增強,圖靈 GPUs 中的 GDDR6 內存接口電路已經完全重新設計,以實現速度、功率效率和降噪。這種新的接口設計帶來了許多新的電路和信號訓練改進,最大限度地減少了噪聲和工藝、溫度和電源電壓的變化。廣泛的時鐘門控被用來最小化低利用率期間的功耗,從而顯著提高整體功率效率。與 Pascal GPUs 中使用的 GDDR5X 內存相比, Turing 的 GDDR6 內存子系統提供了 14 Gbps 的信令速率和 20% 的能效改進。
實現這種速度提升需要端到端的優化。利用廣泛的信號和電源完整性仿真, NVIDIA 精心設計了圖靈的封裝和電路板設計,以滿足更高的速度要求。例如,信號串擾降低 40% ,這是大型存儲系統中最嚴重的損傷之一。
為了實現 14 Gbps 的速度,內存子系統的各個方面都經過精心設計,以滿足如此高頻率操作所需的高要求標準。設計中的每個信號都經過了仔細的優化,以提供盡可能干凈的內存接口信號(參見圖 9 )。
圖 9. 圖靈 GDDR6
二級緩存和 ROPs
圖靈 GPU 除了新的 GDDR6 內存子系統之外,還增加了更大更快的二級緩存。 TU102 GPU 附帶 6mb 的二級緩存,是上一代 GP102 GPU 在 Xp 中使用的3mb 二級緩存的兩倍。 TU102 還提供比 GP102 更高的二級緩存帶寬。
和上一代 NVIDIA GPU 一樣,圖靈圖靈中的每個 ROP 分區包含 8 個 ROP 單元,每個單元可以處理一個單一的顏色樣本。一個完整的 TU102 芯片包含 12 個 ROP分區,總共 96 個 ROP 。
圖靈存儲器壓縮
NVIDIA GPUs 利用幾種無損內存壓縮技術,在數據被寫入幀緩沖存儲器時減少對內存帶寬的需求。 GPU 的壓縮引擎有各種不同的算法,這些算法根據數據的特性來確定最有效的壓縮方法。這減少了寫入內存和從內存傳輸到二級緩存的數據量,并減少了客戶端(如紋理單元)和幀緩沖區之間傳輸的數據量。圖靈對 Pascal 最先進的內存壓縮算法進行了進一步的改進,在 GDDR6 的原始數據傳輸速率提高之外,提供了更大的有效帶寬。如圖 10 , 所示,原始帶寬的增加和通信量的減少意味著圖靈上的有效帶寬比Pascal 增加了 50% ,這對于保持架構平衡和支持新圖靈SM 架構提供的性能至關重要。
圖 10 .有效帶寬提高 50%
基于圖靈 TU102 的存儲子系統和壓縮(流量減少)改進
RTX 2080 Ti 比基于Pascal GP102 的 1080 Ti 提供大約 50%
的有效帶寬改進。
視頻顯示引擎
消費者對高分辨率顯示器的需求逐年增加。例如, 8K 分辨率( 7680 x 4320 )需要的像素是 4K ( 3820 x 2160 )的四倍。游戲玩家和硬件發燒友也希望顯示器除了更高的分辨率外,還有更高的刷新率,以體驗盡可能平滑的圖像。
圖靈 GPUs 包括一個全新的顯示引擎,為新一輪的顯示設計,支持更高的分辨率,更快的刷新率,以及 HDR 。圖靈支持 DisplayPort1 . 4a ,在 60Hz 下支持 8K 分辨率,并包括
VESA 的顯示流壓縮( DSC ) 1 . 2 技術,提供更高的壓縮,視覺無損。
表 2 顯示了圖靈 GPUs 中對 DisplayPort 的支持。
Table 2. DisplayPort Support in Turing
GPUs
圖靈 GPUs 可以驅動兩個 60hz的 8K 顯示器,每個顯示器有一根電纜。 8K 分辨率也可以通過 USB-C 發送(有關更多詳細信息,請參見 下面的 USB-C 和 VirtualLink 部分)。
圖靈的新顯示引擎支持顯示管道中的 HDR 本地處理。色調映射也被添加到了 HDR 管道中。色調映射是一種用于在標準動態范圍顯示器上近似顯示高動態范圍圖像的技術。圖靈支持 ITU-R 建議 BT . 2100 標準定義的色調映射公式,以避免不同 HDR 顯示器上的顏色偏移。
圖靈 GPUs 還附帶了一個增強的NVENC 編碼器單元,它增加了對 H . 265 (HEVC ) 8K 編碼的支持,每秒 30 幀。新的 NVENC 編碼器為 HEVC 提供了高達 25% 的比特率節省,為 H . 264 提供了高達 15% 的比特率節省。
圖靈的新 NVDEC 解碼器也已更新,以支持在 30 幀/秒、 H . 264 8K 和 VP9 10 / 12b HDR 解碼 HEVC YUV444 10 / 12b HDR 。
與上一代 Pascal GPU 和軟件編碼器相比,圖靈改進了編碼質量。 圖 11 顯示,在常見的 Twitch 和
YouTube 流媒體設置中, Turing 的視頻編碼器超過了使用 快速的 編碼設置的基于 x264 軟件的編碼器的質量,同時 CPU 利用率顯著降低。在典型的 CPU 設置上, 4K 流對于編碼來說是一個太重的工作負載,但是圖靈的編碼器使 4K 流成為可能。
圖 11 . 新的視頻特性和視頻質量比較圖靈和帕斯卡與一個快速的 x264 軟件編碼器
USB-C 和 VIRTUALLINK
在今天的 PC 機上支持 VR 耳機需要在耳機和系統之間連接多條電纜;一條顯示電纜將圖像數據從 GPU 發送到耳機中的兩個顯示器,一條電纜用于為耳機供電,以及一個 USB 連接,用于傳輸攝像機流并從耳機讀取后頭姿勢信息(以更新由 GPU 渲染的幀)。電纜的數量可能會讓最終用戶感到不舒服,并限制了他們在使用耳機時四處走動的能力。耳機制造商需要適應電纜,使其設計復雜化,并使其體積更大。
為了解決這個問題, Turing GPUs 設計了支持 USB Type-C 的硬件? 和VirtualLink ?. VirtualLink 是一種新的開放式行業標準,包括領先的硅、軟件和耳機制造商,由 NVIDIA 、 Oculus 、Valve 、 Microsoft 和 AMD 領銜。
VirtualLink 是為了滿足當前和下一代 VR 耳機的連接需求而開發的。 VirtualLink 采用了一種新的 USB-C 替代模式,旨在通過一個 USB-C 接口提供為 VR 耳機供電所需的電源、顯示器和數據。
VirtualLink 同時支持四個通道的高比特率 3 ( HBR3 )顯示端口,以及連接到耳機的超高速 USB 3 鏈路,用于運動跟蹤。相比之下, USB-C 只支持四個通道的 HBR3 顯示端口 或者 兩個通道的 HBR3 顯示端口+兩個通道的超高速 USB 3 。
除了減輕目前 VR 耳機的安裝麻煩之外, VirtualLink 還將把 VR 應用到更多的設備中。單連接器解決方案將虛擬現實技術帶到可以容納單個、小尺寸 USB-C 連接器(如輕薄筆記本)的小型設備上,而不是現在的虛擬現實基礎設施,后者需要一臺能夠容納多個連接器的 PC 機。
NVLINK 改善了 SLI
在 Pascal GPU 架構之前,
NVIDIA GPUs 使用單個多輸入/輸出( MIO )接口作為 SLI 橋接技術,允許第二個(或第三個或第四個) GPU 將其最終渲染幀輸出傳輸到物理連接到顯示器的主 GPU 。帕斯卡通過使用更快的雙 MIO 接口增強了 SLI 橋,提高了 GPUs 之間的帶寬,允許更高分辨率的輸出,以及 NVIDIA 環繞的多個高分辨率監視器。
圖靈 TU102 和 TU104 GPUs 使用 NVLink 代替 MIO 和 PCIe 接口進行 SLI GPU – GPU 數據傳輸。圖靈 TU102 GPU 包括兩個 x8 第二代 NVLink 鏈路, Turing TU104 包括一個 x8 第二代 NVLink 鏈路。每條鏈路在兩個 GPUs 之間的每個方向提供 25 GB / s 的峰值帶寬( 50 GB / s 雙向帶寬)。雙向鏈路為 100 GB /秒,或每秒鐘提供兩個 GB /秒的雙向鏈路。具有 NVLink 的圖靈 GPUs 支持雙向 SLI ,但不支持3 路和 4 路 SLI 配置。
與以前的 SLI 網橋相比,新的NVLink 網橋的帶寬增加了以前不可能實現的高級顯示拓撲(參見 圖 12 )。
圖 12 . NVLink 支持新的 SLI 顯示拓撲
啟動和 8POST 驅動支持將啟用。
圖靈射線追蹤技術
光線跟蹤是一種計算密集的渲染技術,可以真實地模擬場景及其對象的照明。基于圖靈 GPU 的光線跟蹤技術可以實時渲染物理上正確的反射、折射、陰影和間接照明。有關光線跟蹤如何工作的詳細信息可以在完整的圖靈白皮書 中找到。
在過去, GPU 體系結構無法使用單個GPU 為游戲或圖形應用程序執行實時光線跟蹤。盡管 NVIDIA 的 GPU 加速 NVIDIA Iray ?插件和 OptiX 光線跟蹤引擎多年來一直為設計師、藝術家和技術總監提供逼真的光線跟蹤渲染,但高質量的光線跟蹤效果無法實時執行。類似地,當前的 NVIDIA Volta GPUs 可以渲染逼真的電影級光線跟蹤場景,但不能在單個
GPU 上實時渲染。由于其處理密集的性質,光線跟蹤在游戲中尚未用于任何重要的渲染任務。相反,需要 30 到 90 幀/秒動畫的游戲多年來一直依賴快速 GPU 加速光柵化渲染技術,而犧牲了完全逼真的場景。
在 GPUs 上實現實時光線跟蹤是一個巨大的技術挑戰,需要 NVIDIA 的研究、 GPU 的硬件設計和軟件工程團隊進行近 10 年的合作。通過在圖靈 TU102 、 TU104 和 TU106 GPUs 中加入稱為 RT Cores 的多個新的基于硬件的光線跟蹤加速引擎,結合 NVIDIA RTX 軟件技術 . ,使得游戲和其他應用中的實時光線跟蹤成為可能
在圖靈 TU102 GPU 上實時運行的采用 RTX NVIDIA 技術的 NVIDIA SOL ray Tracking demo
的 SOL MAN 如 圖 13 ( 參見演示 )。
如前所述,光柵化技術多年來一直是實時渲染的規范,尤其是在計算機游戲中,雖然許多光柵化場景看起來非常好,但基于光柵化的渲染有很大的局限性。例如,僅使用光柵化渲染反射和陰影需要簡化可能導致許多不同類型瑕疵的假設。類似地,靜態光照貼圖可能看起來是正確的,直到有東西移動,光柵化陰影通常會出現鋸齒和光泄漏,屏幕空間反射只能反射屏幕上可見的對象。這些人工制品有損于游戲體驗的真實感,對于開發者和藝術家來說,試圖用額外的效果來修復是非常昂貴的。
圖 13. 來自 NVIDIA 的 SOL MAN 太陽射線追蹤演示
雖然光線跟蹤可以產生比柵格化更真實的圖像,但它也需要大量的計算。我們發現最好的方法是混合渲染,光線跟蹤和光柵化的結合。使用這種方法,光柵化用于最有效的地方,而光線跟蹤用于與光柵化相比提供最大視覺好處的地方,例如渲染反射、折射和陰影。
圖 14 顯示混合渲染管道。
混合渲染結合了渲染管道中的光線跟蹤和光柵化技術,以充分利用每種技術在渲染場景時的最佳效果。 SEED 為他們的 PICA-PICA 實時光線跟蹤實驗使用了一個混合的渲染模型,該實驗在程序化組裝的世界中具有自學習代理。 PICA-PICA 使用 SEED 的研發引擎 Halcyon 構建,使用 microsoftdxr 和 NVIDIA GPUs 實現實時光線跟蹤。
圖 14 .混合渲染管道。圖片由 EA 的SEED 部門提供( SEED // Pica Pica Hardware Raytracing and
Turing )
光柵化和 z 緩沖在確定對象可見性方面要快得多,并且可以替代光線跟蹤過程中的主要光線投射階段。然后,可以使用光線跟蹤來拍攝次光線,以生成高質量的物理校正反射、折射和陰影。
開發人員還可以使用材質屬性閾值來確定要在場景中執行光線跟蹤的區域。一種技術是規定只有具有一定反射率水平(比如 70% )的表面才會觸發是否應在該表面上使用光線跟蹤來生成二次光線。
我們期望許多開發人員使用混合光柵化/光線跟蹤技術來獲得高幀速率和出色的圖像質量。或者,對于圖像保真度是最高優先級的專業應用程序,我們希望看到在整個渲染工作負載中使用光線跟蹤,投射主光線和次光線以創建令人驚嘆的逼真渲染。
圖靈 GPUs 不僅包括專用的光線跟蹤加速硬件,還使用了下一節描述的高級加速結構。本質上,一個全新的渲染管道可以使用單個圖靈 GPU 在游戲和其他圖形應用程序中實現實時光線跟蹤(參見 圖 15 )。
圖 15 .射線追蹤和光柵化管道階段的詳細信息
在圖靈 GPUs 中使用的混合繪制模型中,光線跟蹤和光柵化流水線同時工作并協同工作。
雖然圖靈 GPUs 支持實時光線跟蹤,但每個像素或曲面位置投射的主光線或次光線數量會根據許多因素而變化,包括場景復雜性、分辨率、場景中渲染的其他圖形效果,當然還有 GPU 馬力。不要期望每像素實時投射數百條光線。事實上,當使用圖靈 -RT 核心加速與先進的去噪濾波技術相結合時,每像素所需的光線要少得多。
NVIDIA 實時光線跟蹤去噪模塊可以顯著減少每個像素所需的光線數,并且仍然可以產生出色的效果。
對選定對象的實時光線跟蹤可以使游戲和應用程序中的許多場景看起來與高端電影特效一樣逼真,或與使用基于專業軟件的非實時渲染應用程序創建的光線跟蹤圖像一樣逼真。
圖 16 顯示了 Epic Games 與 ILMxLAB 和 NVIDIA 合作創建的反射演示示例。
光線跟蹤反射、光線跟蹤區域光陰影和光線跟蹤環境光遮擋可以在單個四邊形 RTX 6000
或 GeForce RTX 2080 Ti GPU 上運行,提供幾乎無法與電影區分的渲染質量,如這個不真實的引擎演示所示。
圖 16. 虛幻引擎反射光線跟蹤演示
圖靈光線跟蹤硬件與 NVIDIA 的RTX 光線跟蹤技術、 NVIDIA 實時光線跟蹤庫、NVIDIA OptiX 、 Microsoft DXR API 和即將推出的 Vulkan 光線跟蹤 API 一起工作。用戶將在游戲中以可播放的幀速率體驗實時、電影級的光線跟蹤對象和角色,或者在專業圖形應用程序中體驗到視覺真實感,而這在以前的 GPU 架構中是不可能實現的。
圖靈 GPUs 可以加速光線跟蹤技術,用于以下許多渲染和非渲染操作:
反射和折射
陰影和環境光遮擋
全局照明
即時離線光照圖烘焙
美女照片和高質量預覽
用于中心凹虛擬現實繪制的主光線
遮擋剔除
物理學,碰撞檢測,粒子模擬
音頻模擬(例如, NVIDIA VRWorks 音頻構建在 OptiX API 之上)
AI 可見性查詢
引擎內路徑跟蹤(非實時)生成參考屏幕截圖,用于調整實時渲染技術和去噪器、材質合成和場景照明。
在下面的章節中,將詳細介紹使用圖靈光線跟蹤加速渲染光線跟蹤陰影、環境光遮擋和反射。 NVIDIA 開發者網站 有更詳細的描述可以用圖靈光線跟蹤加速的渲染操作。
圖靈 RT 核
圖靈基于硬件的光線跟蹤加速的核心是每個 SM 中包含的新 RT 核心。 RT 核心加速邊界層(BVH )遍歷和光線/三角形相交測試(光線投射)功能。 RT 核心代表在 SM 中運行的線程執行可見性測試。
RT 核與先進的去噪濾波、由NVIDIA 研究所開發的高效 BVH 加速結構以及與 RTX兼容的 api 一起工作,以在單個圖靈 GPU 上實現實時光線跟蹤。 RT 核心自動遍歷 BVH ,通過加速遍歷和光線/三角形相交測試,他們卸載了 SM ,允許它處理其他頂點、像素和計算著色工作。諸如 BVH 構建和重新安裝等功能由驅動程序處理,光線生成和著色由應用程序通過新型著色器進行管理。
為了更好地理解 RT 核心的功能,以及它們究竟加速了什么,我們首先應該解釋在沒有專用硬件光線跟蹤引擎的情況下如何在 GPUs 或 CPU 上執行光線跟蹤。本質上, BVH 遍歷的過程需要通過著色操作來執行,并且每光線投射需要數千個指令槽來測試 BVH中的包圍盒相交,直到最后碰到一個三角形,并且相交點的顏色對最終像素顏色有貢獻(或者如果沒有碰到三角形,則背景顏色可用于著色像素)。
沒有硬件加速的光線跟蹤需要每個光線數千個軟件指令槽來連續測試 BVH 結構中較小的邊界框,直到可能碰到三角形為止。這是一個計算密集的過程,如果沒有基于硬件的光線跟蹤加速,就不可能在 GPUs 上進行實時操作(請參見 圖 17 )。
圖 17 .光線追蹤預圖靈
圖靈中的 RT 核可以處理所有的BVH 遍歷和射線三角形相交測試,從而節省了 SM 在每條光線上花費數千個指令槽的開銷,這可能是整個場景的大量指令。 RT 核心包括兩個專門單元。第一個單元執行邊界框測試,第二個單元執行光線三角形相交測試。 SM 只需啟動一個光線探測器, RT 核心進行 BVH 遍歷和光線三角形測試,并返回一個命中或未命中 SM 。 SM 在很大程度上被騰出去做其他的圖形或計算工作。參見圖 18 或使用 RT 核心的圖靈射線追蹤圖。
圖 18 . RT 核圖靈射線追蹤
在 Pascal GPUs 中, RT
核的圖靈射線跟蹤性能明顯快于光線跟蹤。在不同的工作負載下,圖靈可以比 Pascal 提供更多的千兆射線/秒,如 圖 19 。 所示,Pascal 在軟件中花費大約 1 . 1 千兆射線/秒,或 10 TFLOPS / gigaray 來進行光線跟蹤,而圖靈可以使用 RT 核來實現 10 + Giga 射線/秒,并且運行光線跟蹤的速度是 Pascal 的 10 倍。
圖 19 .圖靈射線跟蹤性能
深度學習超級抽樣( DLSS )
在現代游戲中,渲染幀不是直接顯示的,而是經過一個后處理圖像增強步驟,該步驟將來自多個渲染幀的輸入合并在一起,試圖在保留細節的同時去除諸如鋸齒之類的視覺偽影。例如,時間反走樣( TAA )是一種基于著色器的算法,它使用運動矢量將兩個幀組合在一起,以確定在何處對前一幀進行采樣,這是當今最常用的圖像增強算法之一。然而,這種圖像增強過程從根本上說是很難實現的。
NVIDIA 的研究人員認識到,這類問題——一個沒有清晰算法解決方案的圖像分析和優化問題——將是人工智能的完美應用。正如本文前面所討論的,圖像處理案例(例如 ImageNet )是深度學習最成功的應用之一。深度學習現在已經取得了超人的能力,可以通過觀察圖像中的原始像素來識別狗、貓、鳥等。在這種情況下,目標將是結合渲染圖像,基于觀察原始像素,以產生高質量的結果 – 一個不同的目標,但使用相似的能力。
為解決這一難題而開發的深度神經網絡( DNN )被稱為深度學習超級采樣( DLSS )。 DLSS 從一組給定的輸入樣本中產生比 TAA 更高質量的輸出,我們利用這種能力來提高整體性能。
雖然 TAA 在最終目標分辨率下渲染,然后合并幀,減去細節, DLSS 允許以較低的輸入采樣數進行更快的渲染,然后推斷出在目標分辨率下質量與 TAA
結果相似的結果,但著色工作只有一半。
下面的 圖 20 , 顯示了 UE4 滲透器演示的結果示例。 DLSS 提供了與 TAA 類似的圖像質量,并大大提高了性能。 RTX 2080 Ti 更快的原始渲染馬力,加上 DLSS 和張量核心的性能提升,使 RTX 2080 Ti 的性能達到 GTX 1080 Ti 的兩倍。
圖 20 .使用 4K dls 的圖靈性能是使用 4ktaa 的 Pascal 的兩倍
這一結果的關鍵是 DLSS 的培訓過程,在培訓過程中, DLSS 有機會學習如何根據大量超高質量的示例生成所需的輸出。為了訓練網絡,我們收集了數以千計的“真實”參考圖像,這些參考圖像采用了完美圖像質量的黃金標準方法 64x 超采樣( 64xSS )。
64x 超采樣意味著我們不必對每個像素進行一次著色處理,而是在像素內以 64 個不同的偏移量進行著色處理,然后結合輸出,生成具有理想細節和抗鋸齒質量的結果圖像。我們還捕捉匹配的原始輸入圖像正常渲染。接下來,我們開始訓練 DLSS 網絡以匹配 64xSS 輸出幀,方法是遍歷每個輸入,要求 DLSS 生成一個輸出,測量其輸出與 64xSS 目標之間的差異,并根據差異通過稱為反向傳播的過程調整網絡中的權重。
經過多次迭代后, DLSS 會自行學習生成接近 64xs 質量的結果,同時也會學習避免影響 TAA 等經典方法的模糊、混淆和透明性問題。
除了上述 DLSS 功能(標準DLSS 模式)之外,我們還提供了第二種模式,稱為 DLSS 2X 。在這種情況下, DLSS 輸入將以最終目標分辨率呈現,然后由更大的 DLSS 網絡組合,生成接近 64x 超級采樣渲染級別的輸出圖像–這一結果將用任何傳統方法都不可能實時實現。圖 21 顯示了 DLSS 2X 模式的運行,提供的圖像質量非常接近參考 64x 超級采樣圖像。
圖21 . DLSS 2X 與 64xSS 圖像幾乎無法區分
最后,圖 22 說明了多幀圖像增強的一個具有挑戰性的案例。在這種情況下,一個半透明的屏幕漂浮在移動不同的背景前面。 TAA 傾向于盲目跟蹤運動對象的運動矢量,模糊了屏幕上的細節。 DLSS 能夠識別出場景中的變化更為復雜,并以更智能的方式組合輸入,從而避免模糊問題。
圖 22 . dlss2x 比 TAA 具有更好的時間穩定性和圖像清晰度
總結
圖形剛剛被革新。新的 NVIDIA Turing GPU 架構是有史以來最先進、最高效的 GPU 架構。圖靈實現了一種新的混合渲染模型,它結合了實時光線跟蹤、柵格化、人工智能和模擬。圖靈與下一代圖形 API 相結合,為 PC 游戲和專業應用程序帶來了巨大的性能提升和難以置信的逼真圖形。
未來的博客文章將包括更多關于圖靈高級著色器技術的細節。如果您想深入研究圖靈架構,請下載完整的 NVIDIA 圖靈體系結構白皮書 。您也可以在
RTX 開發者頁面 上找到有關 RTX 技術的更多信息,或者閱讀如何 RTX 和 directx12 射線跟蹤工作 here。
總結
以上是生活随笔為你收集整理的NVIDIA Turing Architecture架构设计(下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NVIDIA Turing Archit
- 下一篇: Relay张量集成