相關文章

9643613e778b505024a963c1b5ecb917 掐指一算,距離 NVIDIA 發表 GeForce GTX 1080 已有 2 年以上的時間,Pascal 架構同時具備高效能與能源效率,繼任者有何表現相當令人期待。Turing 架構不僅包含傳統光柵化運算特化的硬體單元,更有加速光追蹤技法的 RT 單元,以及機器學習 Tensor 單元。

新.三位一體

此次 NVIDIA 宣布利用 Turing 架構推出 GeForce RTX 2070、GeForce RTX 2080、GeForce RTX 2080 Ti 共 3 款顯示卡,首先由 GeForce RTX 2080 作為先鋒,於 9 月 20 日上市,GeForce RTX 2080 Ti 則延遲至 9 月 27 號,GeForce RTX 2070 將於 10 月發售。

Turing 世代晶片設計不僅包含更新過的 SM 核心設計,另外針對市場應用趨勢,加入特化的硬體加速單元,Tensor 核心用以執行與機器學習高度相關的矩陣運算,RT 核心則負責光追蹤運算當中,佔有重要地位的 BVH 和光線與物件三角形互動。編輯手中也拿到 GeForce RTX 2080、GeForce RTX 2080 Ti 2 款 Founders Edition 產品,就讓我們抽絲剝繭,從設計到硬體,從硬體到效能一層層揭開面紗。

改良 SM 設計

Turing 架構之中,每個 TPC(Texture Processor Cluster、材質處理叢集)內部包含 2 個 SM,並根據顯示卡等級不同調整數量,譬如 Quadro RTX 6000 為 TU102 最完整的 36 個 TPC、GeForce RTX 2080 Ti 則削減為 34 個 TPC、GeForce RTX 2080 的 TU104 再減為 23 個 TPC。

Pascal 與 Turing 世代不同型號顯示卡規格比較。(註:峰值效能以超頻時脈計算)
▲Pascal 與 Turing 世代不同型號顯示卡規格比較。(註:峰值效能以超頻時脈計算)

TU102 功能方塊圖
▲TU102 功能方塊圖。

TU102 實際晶粒照片
▲TU102 實際晶粒照片。

Turing 每個 TPC 內部共有 2 個 SM(Streaming Multiprocessor),並改善 SM 內部架構組成,官方表示相對於 Pascal 架構版本,單一 CUDA 核心的運算效能提升 50% 之譜(Pascal 單一 TPC 僅包含 1 個 SM)。其中有 2 個主要的進步,其一為新增獨立的整數資料路徑,讓整數指令可以隨著浮點資料路徑一同處理;過去的架構則存在整數與浮點數互斥的狀況,當執行整數指令時,指令配發器並沒有辦法 issue 浮點運算工作給後端的運算單元。

其次為 SM 記憶體架構更新,變更為共享式記憶體架構(Shared Memory Architecture),Pascal 為 L1 24KB 快取(供著色器使用)和 96KB 共享記憶體(放置貼圖資料或暫存器資料),Turing SM 將 2 者結合成單一區域,並依據實際運算所需,分成 64KB+32KB 或是 32KB+64KB,存取 L1 頻寬同時上升至 2 倍,L1 的容量最高也多出 1.7 倍。

Turing SM 相較 Pascal SM 改良 L1 架構,變更為共享式記憶體,能夠分配成 64KB+32KB 或是 32KB+64KB,並提升 L1 存取頻寬至 2 倍,L2 同時加大 1 倍容量至 6MB
▲Turing SM 相較 Pascal SM 改良 L1 架構,變更為共享式記憶體,能夠分配成 64KB+32KB 或是 32KB+64KB,並提升 L1 存取頻寬至 2 倍,L2 同時加大 1 倍容量至 6MB。

每個 SM 包含 64 個 FP32 核心、64 個 INT32 核心、8 個 Tensor 核心、1 個 RT 核心(Pascal 缺少後 3 者,單一 SM 包含 128 個 FP32 核心);以目前遊戲運算平均值,大約每 100 個浮點運算指令,就有 36 個整數運算指令,整數運算多為記憶體定址和擷取資料工作,浮點運算則為比較、最大值、最小值等數學運算。整數與浮點運算能夠同步作業,相對而言浮點數效能提升 36%。

TU102、TU104、TU106 單一 SM 功能區塊圖
▲TU102、TU104、TU106 單一 SM 功能區塊圖。

多款遊戲平均下來,大約每 100 個浮點運算就有 36 個整數運算,而 Turing 架構可以同時處理這 2 個部分
▲多款遊戲平均下來,大約每 100 個浮點運算就有 36 個整數運算,而 Turing 架構可以同時處理這 2 個部分。

Tensor 機器學習

NVIDIA 在 Volta 架構首次導入用於機器學習的專用處理單元 Tensor,這次也放入 Turing 架構當中,並隨著 Microsoft 發表 DirectML,未來 Tensor 能夠以硬體加速 Windows Machine Learning 相關作業。對於遊戲來說,也可以期待與電腦 AI 對戰時,遇到更為千變萬化的戰略。

Tensor 除了可以支援 FP16 浮點數運算,Turing 世代更加入 INT8 和 INT4 的支援能力,讓可以容忍較低精度的應用提升處理速度。Tensor 針對機器學習經常使用的矩陣運算最佳化,單一 SM 內部包含 8 個 Tensor 核心,每個時脈週期可以完成 512 個 FP16 乘法與積運算,或是總額 1024 個浮點運算,將精度調低至 INT8 則能夠完成 2048 個運算。

Tensor 以硬體加速方式完成 NVIDIA 自己的 NGX(Neural Graphics Acceleration),包含近期轟炸各位腦袋的深度學習超取樣反鋸齒(Deep Learning Super Sampling、DLSS),原本利用著色器運算效能進行的反鋸齒技術,將部份工作轉移至 Tensor 核心進行。透過機器學習訓練,DLSS 可以提供比 TAA(Temporal Anti-Aliasing)更高的畫面品質,或是在減少輸入樣本的情形之下,提供與 TAA 相同的 4K 畫面品質,卻只要 TAA 一半的運算資源。

DLSS 需要經過機器學習訓練這一道關卡,因此並非所有遊戲均支援,筆者將支援遊戲整理成下方列表。首先,針對遊戲畫面以 64 倍超級取樣的方式進行繪製,表示每個像素不僅繪製 1 次,還透過位移方式繪製其它 63 個取樣點,最終再以 64 個取樣點平均值成為該像素顏色,如此這般繪製出具備反鋸齒效果的畫面。

預計支援 DLSS 的遊戲列表
▲預計支援 DLSS 的遊戲列表。

DLSS 在 4K 解析度可以提供類似於 4 倍 TAA 的效果,卻只要花費一半的運算資源
▲DLSS 在 4K 解析度可以提供類似於 4 倍 TAA 的效果,效能卻是 2 倍。

接著再利用同一場景、沒有經過反鋸齒處理的遊戲畫面,輸入 DLSS 並要求輸出 1 張畫面,比對 64 倍超級取樣遊戲畫面與 DLSS 輸出,觀察哪些地方做得不好,再回頭修正 DLSS 內部演算法權重。重複幾次上述步驟,DLSS 就會知道該如何處理遊戲畫面,產出 1 張與 64 倍超級取樣相近的畫面,並同時避免 TAA 無法解決的模糊、錯位、半透明等缺失。

DLSS 另外還有個 2 倍 DLSS 模式,首先以目標解析度繪製 1 張畫面,接著再以更大的 DLSS 網路輸出 1 張極為近似 64 倍超級取樣的畫面。簡而言之,DLSS 追求效能與畫面輸出速率的平衡,提供 4 倍 TAA 畫質,2 倍 DLSS 則是追求畫面的極致,提供近似 64 倍超級取樣畫質。

64 倍超級取樣可以提供無與倫比的畫面品質,但因為計算量過大無法實作並維持一定的畫面輸出速率,如今 2 倍 DLSS 能夠提供極為接近的畫質表現並維持相當效能
▲64 倍超級取樣可以提供無與倫比的畫面品質,但因為計算量過大無法實作並維持一定的畫面輸出速率,如今 2 倍 DLSS 能夠提供極為接近的畫質表現並維持相當效能。

Tensor 核心機器學習的應用還不只於此,更能夠移除畫面中不需要的物件並填補背景,亦或是從殘缺的畫面資訊推算出整張畫面,後者對於支援即時光追蹤相當重要。目前(甚至是未來數年)遊戲依然以光柵化為主、小區域光追蹤為輔,但光追蹤運算量相當大,RT 核心無法在 1/60 秒之內提供完整運算結果,此時就要依靠 Tensor 核心,以不完整的光追蹤運算結果,推導剩餘未完成的畫面。

RT 光追蹤運算

光柵化運算相信大家並不陌生,先行判斷 3D 場景內部物件的前後順序,被擋住看不到的物件剃除減少運算量,接著再為這些物件貼上材質貼圖。在過去幾十年當中,這是個相當有效且快速繪製 3D 畫面的方式,廣泛應用於遊戲當中。

另一方面,若是相當要求畫面品質,如 3D 動畫、電影特效,則需要採用光追蹤運算方式,以數學方程式描述光的物理性質,包含光如何在物體表面吸收、反射、繞射,或是透明物體的折射等。光追蹤運算量相當大,因此較常見到利用多台伺服器算圖農場,在較沒有時間壓力的情況下繪製畫面,接著再結合這些畫面變成 1 段影片。

光柵化與光追蹤的原理差異簡圖
▲光柵化與光追蹤的原理差異簡圖。

NVIDIA 在 Turing 架構當中放入專門負責光追蹤運算的 RT 核心,RT 核心主要用來加速 BVH(Bounding Volume Hierarchies)遍歷,以及光和物件三角形之間的交互關係。RT 核心主要有 2 個特化處理單元,其中之一負責 bounding box/bounding volume 的測試、之二負責光線與三角形測試,SM 只要發出光探測指令,接下來 RT 核心就會回報光是否命中物件,再交由 SM 完成著色動作。

RT 核心負責複雜的 bounding box 測試和光-三角形測試,接著回報 SM 是否命中,由 SM 完成著色動作,若沒有命中物件模型則以其它方式產生顏色(如背景顏色)
▲RT 核心負責複雜的 bounding box 測試和光-三角形測試,接著回報 SM 是否命中,由 SM 完成著色動作,若沒有命中物件模型則以其它方式產生顏色(如背景顏色)。

既然光追蹤運算量龐大又複雜,為何 Turing 要導入 RT 硬體加速?原因在於光柵化效率雖然相當好,卻無法模擬真實世界的狀況,譬如透明物體的折射、鏡面反射等相當基礎的物理現象。以往遊戲當中的鏡面反射特效,若是場景複雜度不高,可以在鏡面裡實際建立 1 個左右相反的場景並繪製,但多數時間是以 cube mapping 技巧,預先將周圍環境繪製成貼圖,再貼至鏡面物件,並根據視角移動、縮小放大。

新.三位一體 此次NVIDIA宣布利用Turing架構推出GeForce RTX 2070、GeForce RTX 2080、GeForce RTX 2080 Ti共3款顯示卡,首先由GeForce RTX 2080作為先鋒,於9月20日上市,GeForce RTX 2080 Ti則延遲至9月27號,GeForce RTX 2070則將於10月中發售。 Turing世代的晶片設計不僅包含更新過後的SM核心設計,另外針對市場應用趨勢,加入特化後的硬體加速單元,Tensor核心用以執行與機器學習高度相關的矩陣運算,RT核心則負責光追蹤運算當中,佔有重要地位的BVH和光線與物件三角形互動。編輯手中也拿到GeForce RTX 2080、GeForce RTX 2080 Ti 2款產品,就讓我們抽絲剝繭,從設計到硬體,從硬體到效能一層層揭開面紗。  改良SM設計 Turing架構之中,每個TPC(Texture Processor Cluster、材質處理叢集)內部包含2個SM,並根據顯示卡等級不同調整數量,譬如Quadro RTX 6000為TU102最完整的36個TPC、GeForce RTX 2080 Ti則削減為34個TPC、GeForce RTX 2080的TU104再減為23個TPC。 ▲Pascal與Turing世代不同型號顯示卡規格比較。(註:峰值效能以超頻頻率計算) ▲TU102功能方塊圖。 ▲TU102實際晶粒照片。 Turing每個TPC內部共有2個SM(Streaming Multiprocessor),並改善SM內部架構組成,官方表示相對於Pascal架構版本,單一CUDA核心的運算效能提升50%之譜(Pascal單一TPC僅包含1個SM)。其中有2個主要的進步,其一為新增獨立的整數資料路徑,讓整數指令可以隨著浮點資料路徑一同處理;過去的架構則存在整數與浮點數互斥的狀況,當執行整數指令時,指令配發器並沒有辦法issue浮點運算工作給後端的運算單元。 其次為SM記憶體架構更新,變更為共享式記憶體架構(Shared Memory Architecture),Pascal為L1 24KB快取(供著色器使用)和96KB共享記憶體(放置貼圖資料或暫存器資料),Turing SM則是將2者結合成單一區域,並依據實際運算所需,分成64KB+32KB或是32KB+64KB,存取L1的頻寬同時上升至2倍,L1的容量最高也多出1.7倍。 ▲Turing SM相較Pascal SM改良L1架構,變更為共享式記憶體,能夠分配成64KB+32KB或是32KB+64KB,並提升L1存取頻寬至2倍,L2同時加大1倍容量至6MB。 每個SM包含64個FP32核心、64個INT32核心、8個Tensor核心、1個RT核心(Pascal少了後3者,單一SM包含128個FP3核心);以目前遊戲運算平均值,大約每100個浮點運算指令,就有36個整數運算指令,整數運算多為記憶體定址和擷取資料工作,浮點運算則為比較、最大值、最小值等數學運算。整數與浮點運算能夠同步作業,相對而言浮點數效能提升36%。 ▲TU102、TU104、TU106單一SM功能區塊圖。 ▲多款遊戲平均下來,大約每100個浮點運算就有36個整數運算,而Turing架構可以同時處理這2個部分。  Tensor機器學習 NVIDIA在Volta架構首次導入用於機器學習的專用處理單元Tensor,這次也放入Turing架構當中,並隨著Microsoft發表DirectML,未來Tensor能夠以硬體加速Windows Machine Learning相關作業。對於遊戲來說,也可以期待與電腦AI對戰時,遇到更為千變萬化的戰略。 Tensor除了可以支援FP16浮點數運算,Turing世代更加入INT8和INT4的支援能力,讓可以容忍較低精度的應用提升處理速度。Tensor針對機器學習經常使用的矩陣運算最佳化,單一SM內部包含8個Tensor核心,每個時脈週期可以完成512個FP16乘法與積運算,或是總額1024個浮點運算,將精度調低至INT8則能夠完成2048個運算。 Tensor以硬體加速方式完成NVIDIA自己的NGX(Neural Graphics Acceleration),包含近期轟炸各位腦袋的深度學習超取樣反鋸齒(Deep Learning Super Sampling、DLSS),原本利用著色器運算效能進行的反鋸齒技術,將部份工作轉移至Tensor核心進行。透過機器學習訓練,DLSS可以提供比TAA(Temporal Anti-Aliasing)更高的畫面品質,或是在減少輸入樣本的情形之下,提供與TAA相同的4K畫面品質,卻只要TAA一半的運算資源。 DLSS需要經過機器學習訓練這一道關卡,因此並非所有遊戲均支援,筆者將支援遊戲整理成下方列表。首先,針對遊戲畫面以64倍超級取樣的方式進行繪製,表示每個像素不僅繪製1次,還透過位移方式繪製其它63個取樣點,最終再以64個取樣點平均值成為該像素顏色,如此這般繪製出具備反鋸齒效果的畫面。 ▲預計支援DLSS的遊戲列表。 ▲DLSS在4K解析度可以提供類似於4倍TAA的效果,卻只要花費一半的運算資源。 接著再利用同一場景、沒有經過反鋸齒處理的遊戲畫面,輸入DLSS要求輸出1張畫面,比對64倍超級取樣遊戲畫面與DLSS輸出,觀察哪些地方做得不好,再回頭修正DLSS內部演算法權重。重複幾次上述步驟,DLSS就會知道該如何處理遊戲畫面,產出1張與64倍超級取樣相近的畫面,並同時避免TAA無法解決的模糊、錯位、半透明等缺失。 DLSS另外還有個2倍DLSS模式,首先以目標解析度繪製1張畫面,接著再以更大的DLSS網路輸出1張極為近似64倍超級取樣的畫面。簡而言之,DLSS追求效能與畫面輸出速率的平衡,提供4倍TAA畫質,2倍DLSS則是追求畫面的極致,提供近似64倍超級取樣畫質。 ▲64倍超級取樣可以提供無與倫比的畫面品質,但因為計算量過大無法實作並維持一定的畫面輸出速率,如今2倍DLSS能夠提供極為接近的畫質表現並維持相當效能。 Tensor核心機器學習的應用還不只於此,更能夠移除畫面中不需要的物件並填補背景,亦或是從殘缺的畫面資訊推算出整張畫面,後者對於支援即時光追蹤相當重要。目前(甚至是未來數年)遊戲依然以光柵化為主、小區域光追蹤為輔,但光追蹤運算量相當大,RT核心依然無法在1/60秒之內提供完整運算結果,此時就要依靠Tensor核心,以不完整的光追蹤運算結果,推導剩餘未完成的畫面。  RT光追蹤運算 光柵化運算相信大家並不陌生,先行判斷3D場景內部物件的前後順序,被擋住的物件先行剃除減少運算量,接著再為這些物件貼上材質貼圖。在過去幾十年當中,這是個相當有效且快速繪製3D畫面的方式,廣泛應用於遊戲當中。 另一方面,若是相當要求畫面品質,如3D動畫、電影特效,則需要採用光追蹤運算方式,以數學方程式描述光的物理性質,包含光如何在物體表面吸收、反射、繞射,或是透明物體的折射等。光追蹤運算量相當大,因此較常見到利用多台伺服器算圖農場,在較沒有時間壓力的情況下繪製畫面,接著再結合這些畫面變成1段影片。 ▲光柵化與光追蹤的原理差異簡圖。 NVIDIA在Turing架構當中放入專門負責光追蹤運算的RT核心,RT核心主要用來加速BVH(Bounding Volume Hierarchies)遍歷,以及光和物件三角形之間的交互關係。RT核心主要有2個特化處理單元,其中之一負責bounding box/bounding volume的測試、之二負責光線與三角形測試,SM只要發出光探測指令,接下來RT核心就會回報光是否命中物件,再交由SM完成著色動作。 ▲RT核心負責複雜的bounding box測試和光-三角形測試,接著回報SM是否命中,由SM完成著色動作,若沒有命中物件模型則以其它方式產生顏色(如背景顏色)。 既然光追蹤運算量龐大又複雜,為何Turing要導入RT硬體加速?原因在於光柵化效率雖然相當好,卻無法模擬真實世界的狀況,譬如透明物體的折射、鏡面反射等相當基礎的物理現象。以往遊戲當中的鏡面反射特效,若是場景複雜度不高,可以在鏡面裡實際建立1個左右相反的場景並繪製,但多數時間是以cube mapping的技巧,預先將周圍環境繪製成貼圖,再貼至鏡面物件,並根據視角移動、縮小放大。 ▲透過cube mapping,能夠做到光柵化無法達成的環境反射。 若是場景物件位置移動更新,也可以利用cube mapping技巧生成另外1組貼圖,以便將3D場景物件移動反應在鏡面反射內容,但在變化度相當高的場景,如自由移動車輛、可破壞式物件等,無限量產出cube mapping貼圖並不實際,此時就需要即時光追蹤運算,即時根據場景變化計算環境反射。 ▲即將推出的Battlefield V(戰地風雲5)爆炸場景是最為顯著的例子,戰車履帶位於爆炸效果前方,光柵化並無法提供車輛板金的反射效果,此時就需要光追縱運算的幫助。 現實環境光源大多具有體積,當陰影距離物體越遠時,邊緣就會越模糊,光柵化可以利用多個技巧模擬,如陰影貼圖邊緣柔化等,但是當光源與物體之間距離變化時就會破功不自然,此時也是光追縱運算出馬的時候。 ▲Shadow of the Tomb Raider(古墓奇兵:暗影)未來也會推出更新檔,利用光追蹤運算產生陰影和環境光遮蔽效果。 當然,Turing內建的RT核心效能還無法讓整個3D畫面都使用光追蹤運算,絕大部分依然採用光柵化,少部分加入光追蹤效果。即便僅少部分畫面採用光追蹤技術,運算量依然不小,NVIDIA在此降低光追蹤的光線數量以便即時送出結果,並替光線數量不足形成的雜訊畫面,以AI或是非AI演算法去除雜訊,並朝全面AI去雜訊方向邁進。  新型渲染技術 新硬體能夠帶來新功能,而舊有繪製畫面流程,也可以透過最佳化提升效能,NVIDIA這次也隨著發表Turing架構顯示卡,提出多個處理技巧,Mesh Shading就是其中之一。我們都知道若要提升畫面繪製速度,可以降低遠方物件的精細度,但CPU在此還是要負責計算LOD(Level Of Detail)和物件剃除工作,形成繪圖流程當中,限制畫面物件數量的瓶頸。 Mesh Shading是NVIDIA進階幾何處理架構,旨在提供頂點與tessellation渲染模型與繪圖管線的幾何渲染階段,可以把LOD運算和物件剃除工作交由平行化處理能力相當高的GPU執行,降低處理器的負荷量。原本每個物件都需要1個CPU draw call,如今開發者1次可以送出1個物件清單,交由Task Shader以平行化方式處理。 ▲有了Task Shader和Mesh Shader之後,原本由CPU負責的LOD和物件剃除,將轉移到GPU進行運算。 ▲採用Meshing Shading技術,便可在同一場景放入成千上萬的物件。 NVIDIA因應VR應用環境,於前代Maxwell架構導入MRS(Multi-Res Shading),Pascal再導入LMS(Lens-Matched Shading),前者依據VR頭戴式顯示器的特點,降低邊緣畫面的繪製解析度以便提升效能,後者則是根據顯示器內部鏡片造成畫面變形,預先修正繪製畫面,讓畫面透過鏡片後可以獲得正常不扭曲的觀看效果。 Turing架構導入稱為VRS(Variable Rate Shading)的技術,可以將畫面以16x16像素分為多個區域,開發者可以指定部分區域渲染結果與像素點以1:1繪製(1x1),或是使用1個渲染結果填滿4個點(2x2),亦可選擇非正方形的方式填滿(1x2或是2x1),如此一來就可以降低GPU渲染的壓力,提供較高的畫面輸出速率。 ▲Variable Rate Shading將畫面以16x16像素為單位,分割成許多區域,單一區域可依據實際需求降低渲染解析度。 在VRS技術之後可以達成3種渲染方式,第一種為Content Adaptive Shading,若16x16像素區域的貼圖細節不高,便可採用單一渲染結果填滿更多像素點的方式。第二種則是由於人眼動態視覺限制,無法看清移動中的物體,此物體也可以採用較低的渲染解析度節省運算資源。最後1種則是Foveated Rendering,透過人眼視網膜中央解析度較高,越往外圍解析度較低的特性,若電腦能夠掌握人眼位置(透過其它追蹤技術,如Tobii Eye Tracking),便能夠以較低解析度渲染視覺焦點中心以外的區域。 ▲Content Adaptive Shading可以根據切割畫面區域的細節多寡,於下一張畫面降低渲染的解析度。  GDDR6和記憶體壓縮 隨著螢幕解析度越來越高,繪圖技巧日趨複雜,GPU不僅需要更快的繪圖記憶體,也需要更多的繪圖記憶體,NVIDIA繼首先採用GDDR5X和HBM2之後,Turing架構也首先採用了GDDR6繪圖記憶體。 GeForce RTX 2080和GeForce RTX 2080 Ti均採用14Gbps速度的GDDR6,單一封裝為雙通道16bit共32bit。欲達成14Gbp的速度,NVIDIA仔細地設計內部記憶體控制器與電路板佈線,減少串音干擾達40%。另外根據GDDR6製造商Micron的資料,GDDR6 DQ資料傳輸針腳被Vss圍繞,能夠提供較好的訊號傳輸品質。 為了避免眼圖在接收端張得不夠開,影響0與1的判斷,GDDR6每次接收資料時都可以設定VREFD,而GDDR5X則是以每資料byte為單位設定;另外還有1-tap DFE(Decision Feedback Equalization),當正確偵測到1個bit訊號時,再加上對傳輸通道的理解,即可計算出此bit對訊號的干擾並,以便更容易判斷下個bit訊號是0或1。 ▲接收方眼圖張得越開,表示更容易判斷傳輸訊號為0或是1。 Turing架構再次升級記憶體壓縮技術,可以減少資料從GDDR6記憶體搬移至L2快取,或是材質單元之間、畫面緩衝區的資料傳輸量。加總GDDR6記憶體頻寬進步和增強壓縮技術,Turing的有效頻寬與Pascal相比提升50%。 ▲GeForce RTX 2080Ti的記憶體有效頻寬,大約比GeForce GTX 1080 Ti提升50%。  視訊功能加強 顯示卡對於部分玩家而言,打電動為其最主要的功用,另外也有一派玩家用來加速視訊影片編碼與解碼。Turing內部包含加強版NVENC編碼器,支援HEVC 8K@30FPS HDR影片編碼,並可於HEVC編碼解省最高25%的流量、H.264編碼亦可節省最高15%流量,影片壓縮畫質也比Pascal世代或是軟體壓縮來得好。 NVDEC解碼器同時更新,以30FPS的速率解碼HEVC YUV444色深10bit/12bbit HDR影片,或是H.264 8K和VP9 色深10bit/12bit HDR影片。Turing原生支援ITU-R Recommendation BT.2100色調映射,避免在不同的HDR螢幕出現色調偏移現象。 ▲4K解析度影片壓縮串流對於CPU的負荷不小,使用Turing架構的硬體壓縮功能,可以將遊戲效能下滑幅度控制在1%。 視訊輸出連接埠提供3個支援DSC(Display Stream Compression)1.2的DisplayPort 1.4a,最高可以輸出8K@60Hz,另外也保留1個HDMI 2.0b,最高支援4K@60Hz,HDCP 2.2加密支援性也不成問題。特別的是還新增1組USB Type-C並支援VirtualLink,將VR頭戴顯示器需要的電源、影像、資料傳輸集中於1條纜線。   Scanner API與多相轉換效率 從GeForce RTX 2070、GeForce RTX 2080、GeForce RTX 2080 Ti的Founders Edition發表之初,就可以嗅到與前一世代不太相同的味道,Turing世代特地強調超頻性,連NVIDIA官方Founders Edition版本就有不同程度的超頻。 NVIDIA這次自行放入超頻專用Scanner API,只要在支援的軟體按下按鈕,即可透過NVIDIA自己的測試演算法和工作負載,自動找尋這張顯示卡的最高頻率。目前已知EVGA的Precision X1軟體會支援Scanner API,經過20分鐘即可自動超頻完成,相信其它廠商軟體在不久的將來也會跟進。 ▲輕鬆按個按鈕,透過Scanner API即可找尋顯示卡最高運作時脈,自動超頻完成。  NVLink SLI TU102和TU104均支援2張顯示卡SLI串聯運算,2張顯示卡透過NVLINK傳輸繪製完畢的畫面以及相關資料,串聯方式限制2張顯示卡(2個GPU),3-way和4-way串連方式不受Turing架構所支援。TU102具備2個8通道第二代NVLINK,雙向頻寬為100GB/s,TU104則具備1個8通道第二代NVLINK,雙向頻寬為50GB/s。(註:單向頻寬減半) ▲NVLINK橋接器具備多種間隔版本,不變的是每個要價美金79元,折合約新台幣2,500元,想要跟著顯示卡或是主機板隨貨贈送有相當難度。 ▲透過NVLINK最高可達雙向100GB/s的頻寬,GeForce RTX 2080 Ti可支援8K解析度環景螢幕組態。  Ansel EXR、AI UP-RES、RT 隨著Turing架構嫁入Tensor核心和RT核心,多出機器學習和光追蹤運算,在遊戲內擷取畫面的Ansel也出現新功能。EXR用來擷取HDR遊戲畫面,而AI UP-RES同樣是經過訓練之後,可以把原始擷取1080p解析度畫面,輸出成8K解析度。RT則是以更高精度、更多光線的光追蹤運算,產生有如真實世界相片的截圖,由於截圖時不講究畫面輸出速率,因此不必擔心光追蹤運算量。 ▲Ansel RT能夠以更好的光追蹤運算,輸出栩栩如生的遊戲擷圖。
▲透過 cube mapping,能夠做到光柵化無法達成的環境反射。(圖片取自 NVIDIA)

若是場景物件位置移動更新,也可以利用 cube mapping 技巧生成另外 1 組貼圖,以便將 3D 場景物件移動反應在鏡面反射內容,但在變化度相當高的場景,如自由移動車輛、可破壞式物件等,無限量產出 cube mapping 貼圖並不實際,此時就需要即時光追蹤運算,即時根據場景變化計算環境反射。

即將推出的 Battlefield V(戰地風雲 5)爆炸場景是最為顯著的例子,戰車履帶位於爆炸效果前方,光柵化並無法提供車輛板金的反射效果,此時就需要光追縱運算的幫助
▲即將推出的 Battlefield V(戰地風雲 5)爆炸場景是最為顯著的例子,戰車履帶位於爆炸效果前方,光柵化並無法提供車輛板金的反射效果,此時就需要光追縱運算的幫助。

現實環境光源大多具有體積,當陰影距離物體越遠時,邊緣就會越模糊,光柵化可以利用多個技巧模擬,如陰影貼圖邊緣柔化等,但是當光源與物體之間距離變化時就會破功不自然,此時也是光追縱運算出馬的時候。

Shadow of the Tomb Raider(古墓奇兵:暗影)未來也會推出更新檔,利用光追蹤運算產生陰影和環境光遮蔽效果
▲Shadow of the Tomb Raider(古墓奇兵:暗影)未來也會推出更新檔,利用光追蹤運算產生陰影和環境光遮蔽效果。

當然,Turing 內建的 RT 核心效能還無法讓整個 3D 畫面都使用光追蹤運算,絕大部分依然採用光柵化,少部分區域加入光追蹤效果。即便僅少部分畫面採用光追蹤技術,運算量依然不小,NVIDIA 採用偷吃步的方式降低光追蹤光線數量,能夠在一定時限之內送出運算結果,並替光線數量不足形成的雜訊畫面,以 AI 或是非 AI 演算法去除雜訊,並朝全面 AI 去雜訊方向邁進。


▲Star Wars 星際大戰電梯展示影片,仔細觀察依舊可以發現不自然的地方,但這個結合 DLSS 和即時光追蹤運算的結果,已有電影級視覺享受。

新型渲染技術

新硬體能夠帶來新功能,而舊有繪製畫面流程,也可以透過最佳化提升效能,NVIDIA 這次隨著發表 Turing 架構顯示卡,提出多個處理技巧,Mesh Shading 就是其中之一。我們都知道若要提升畫面繪製速度,可以降低遠方物件的精細度,但 CPU 在此還是要負責計算 LOD(Level Of Detail)和物件剃除工作,形成繪圖流程當中,限制畫面物件數量的瓶頸。

Mesh Shading 是 NVIDIA 進階幾何處理架構,旨在提供頂點與曲面細分渲染模型與繪圖管線的幾何渲染階段,可以把 LOD 運算和物件剃除工作交由平行化處理能力相當高的 GPU 執行,降低處理器的負荷量。原本每個物件都需要 1 個 CPU draw call,如今開發者 1 次可以送出 1 個物件清單,交由 Task Shader 以平行化方式處理。

有了 Task Shader 和 Mesh Shader 之後,原本由 CPU 負責的 LOD 和物件剃除,將轉移到 GPU 進行運算
▲有了 Task Shader 和 Mesh Shader 之後,原本由 CPU 負責的 LOD 和物件剃除,將轉移到 GPU 進行運算。

採用 Meshing Shading 技術,便可在 Asteroids 示範程式同一場景放入成千上萬個物件
▲採用 Meshing Shading 技術,便可在 Asteroids 示範程式場景放入成千上萬個物件。

NVIDIA 因應 VR 應用環境,於前代 Maxwell 架構導入 MRS(Multi-Res Shading),Pascal 再導入 LMS(Lens-Matched Shading),前者依據 VR 頭戴式顯示器的特點,降低邊緣畫面的繪製解析度以便提升效能,後者則是讓頭戴顯示器內部透鏡造成畫面變形現象,預先修正繪製畫面,讓畫面透過鏡片後可以獲得正常不扭曲的觀看效果。

Turing 架構導入稱為 VRS(Variable Rate Shading)的技術,將畫面以 16x16 像素分為多個區域,開發者可以指定部分區域渲染結果與像素點以 1:1 繪製(1x1),或是使用 1 個渲染結果填滿 4 個點(2x2),亦可選擇非正方形的方式填滿(1x2 或是 2x1),如此一來就可以降低 GPU 渲染運算壓力,提供較高的畫面輸出速率。

Variable Rate Shading 將畫面以 16x16 像素為單位,分割成許多區域,單一區域可依據實際需求降低渲染解析度
▲Variable Rate Shading 將畫面以 16x16 像素為單位,分割成許多區域,單一區域可依據實際需求降低渲染解析度。

在 VRS 技術之後可以達成 3 種渲染方式,第一種為 Content Adaptive Shading,若 16x16 像素區域的貼圖細節不高,便可採用單一渲染結果填滿更多像素點。第二種則是由於人眼動態視覺限制,無法看清移動中的物體,此物體也可以採用較低的渲染解析度節省運算資源。最後 1 種則是 Foveated Rendering,透過人眼視網膜中央解析度較高,越往外圍解析度較低的特性,若電腦能夠掌握人眼位置(透過其它追蹤技術,如 Tobii Eye Tracking),便能夠以較低解析度渲染視覺焦點中心以外的區域。

Content Adaptive Shading 可以根據切割畫面區域的細節多寡,於下一張畫面降低渲染的解析度
▲Content Adaptive Shading 可以根據切割畫面區域的細節多寡,於下一張畫面降低渲染的解析度。

 

(下一頁:GDDR6、加強眾多功能)

使用 Facebook 留言

發表回應

謹慎發言,尊重彼此。按此展開留言規則