Nvidia安培VS AMD RDNA 2:體系結構之戰
對于GPU發燒友來說,這是一個漫長的等待。英偉達讓圖靈線持續使用了兩年,然后在2020年9月用安培取代了圖靈線。AMD則更仁慈一些,在他們的新設計之間留出了15個月的間隔,但大多數人對此并不感興趣。
他們想看到的是AMD推出一款高端機型,與NVIDIA的最佳機型展開正面競爭。他們就是這么做的,現在我們已經看到了結果,PC游戲玩家現在被寵壞了選擇(至少理論上是這樣),當涉及到花他們的美元購買性能最好的顯卡。
但是驅動它們的芯片呢?其中一個從根本上比另一個好嗎?
請繼續閱讀,看看安培和rDNA2是如何決斗的!
注意這是一篇很長的文章。使用此索引對其進行導航。。。
文章索引
節點和芯片尺寸
安培GA102和rDNA2 Navi21的總體結構
芯片內部的一切是如何組織的
Nvidia方式計算核心
射線追蹤
內存系統,多級緩存
呈現管道,SAM,RTX IO
多媒體引擎,流媒體
為電腦而建,為游戲而建
Nvidia萎縮,AMD增長
節點和芯片尺寸
多年來,高端GPU一直比CPU大得多,而且它們的尺寸一直在穩步增長。AMD最新產品的面積約為520 mm2,是之前Navi芯片的兩倍多。不過,這并不是他們最大的--這一榮譽要歸功于他們新推出的Instinct MI100加速器中的GPU,大約750 mm2。
AMD上一次制造接近Navi21大小的游戲處理器是為Radeon R9 Fury和Nano卡準備的,它們在斐濟芯片中搭載了GCN3.0架構。芯片面積為596 mm2,但它是在臺積電的28HP工藝節點上制造的。
自2018年以來,AMD一直在使用臺積電小得多的N7工藝,該生產線上最大的芯片是Vega 20(如Radeon VII中所示),面積為331 mm2。他們所有的Navi GPU都是在這一進程的一個稍微更新的版本上制造的,稱為N7P,所以這使得比較這些產品。
Radeon R9 Nano:微型卡,海量GPU
但是說到純粹的芯片尺寸,Nvidia占據了皇冠,并不是說這一定是一件好事。最新的基于安培的芯片GA102,面積為628 mm2。它實際上比它的前身TU102小了17%--那款GPU的芯片面積達到了驚人的754平方毫米。
與NVIDIA用于人工智能和數據中心的巨大的GA100芯片相比,這兩款GPU的尺寸都相形見絀,其面積為826 mm2,是臺積電的N7芯片。雖然從未設計用于驅動桌面圖形卡,但它確實顯示了GPU制造的規模是可能的。
把它們并排放在一起,就凸顯了NVIDIA最大的GPU是多么的笨重。Navi21看起來相當苗條,盡管處理器不僅僅是芯片面積。GA102封裝了大約283億個晶體管,而AMD的新芯片則少了5%,只有268億個晶體管。
我們不知道的是每個GPU是由多少層構成的,所以我們能比較的只有晶體管與管芯面積的比例,典型的稱為管芯密度。Navi21大約每平方毫米5150萬個晶體管,但GA102則明顯低于41.1個--這可能是NVIDIA的芯片堆疊比AMD的高一點,但這更有可能是工藝節點的指示。
正如已經提到的,Navi21是由臺積電制造的,使用他們的N7P生產方法,這提供了一個小的提高性能比N7;但是對于他們的新產品GA102,Nvidia轉向了三星的生產職責。這家韓國半導體巨頭正在使用一個經過調整的版本,特別是針對Nvidia,他們所謂的8納米節點(標記為8N或8NN)。
這些節點值7和8與芯片組件的實際尺寸幾乎沒有關系:它們只是市場術語,用于區分不同的生產技術。也就是說,即使GA102具有比Navi 21更多的層,管芯尺寸確實具有一個特定的影響。
正在臺積電制造廠測試的300毫米(12英寸)晶圓。
微處理器和其他芯片是由高度精煉的硅和其他材料制成的大圓盤,稱為晶圓片。臺積電和三星為AMD和Nvidia使用300毫米晶圓,每張光盤使用較小的管芯相比較大的管芯將產生更多的芯片。
這種差異不太可能是巨大的,但當每一塊晶圓的生產成本高達數千美元時,AMD在壓低制造成本方面比Nvidia有一點優勢。當然,這是假設三星或臺積電沒有與AMD/NVIDIA進行某種金融交易。
如果芯片本身并不擅長于它們的設計功能,那么所有這些芯片尺寸和晶體管數量的惡作劇都將是徒勞的。因此,讓我們深入挖掘每一個新的GPU的布局,看看他們的頭罩下面是什么。
解剖模具
安培GA102和rDNA2 Navi21的總體結構
我們從安培GA102和rDNA2 Navi21 GPU的整體結構開始對架構的探索--這些圖并不一定向我們展示所有東西是如何物理布局的,但它們給出了處理器有多少組件的清晰指示。
在這兩種情況下,布局都是非常熟悉的,因為它們本質上是它們的前輩的擴展版本。添加更多的單元來處理指令總是會提高GPU的性能,因為在最新的3D大片中,在高分辨率下,渲染工作負載涉及大量的并行計算。
這樣的圖表是有用的,但是對于這種特殊的分析,實際上更有趣的是查看GPU管芯中的各個組件本身的位置。在設計大規模處理器時,您通常希望共享資源,例如位于中心位置的控制器和緩存,以確保每個組件都具有相同的路徑。
接口系統,例如本地內存控制器或視頻輸出,應該位于芯片邊緣,以便更容易地將它們連接到數以千計的單獨導線上,這些導線將GPU連接到圖形卡的其余部分。
下面是AMD的Navi21和NVIDIA的GA102芯片的假彩色圖像。這兩個都經過了一些圖像處理來清理圖像,而且這兩個都只顯示了芯片內的一層;但它們確實給了我們一個現代GPU內部的絕佳視角。
這兩種設計之間最明顯的區別是,Nvidia沒有采用集中式的芯片布局方式--所有的系統控制器和主緩存都在底部,邏輯單元以長列形式運行。他們過去也這樣做過,但僅限于中低端車型。
例如,Pascal GP106(用于類似GeForce GTX 1060的產品中)實際上是GP104(來自GeForce GTX 1070)的一半。后者是較大的芯片,其緩存和控制器在中間;這些移動到旁邊的兄弟姐妹,但只是因為設計已經分裂。
Pascal GP104 vs GP106。資料來源:Fritzchens Fritz
對于他們之前所有的高端GPU布局,Nvidia使用了經典的集中式組織。那么為什么這里會發生變化呢?這不可能是接口原因,因為內存控制器和PCI Express系統都在芯片邊緣運行。
這也不是因為散熱原因,因為即使芯片的高速緩存/控制器部分比邏輯部分更熱,您仍然希望芯片中間的部分周圍有更多的硅,以幫助吸收和散熱。雖然我們不完全確定這一變化的原因,但我們懷疑這與Nvidia在芯片中實現的ROP(渲染輸出)單元有關。
稍后我們將更詳細地討論這些問題,但現在我們只想說,盡管布局上的改變看起來很奇怪,但它不會對性能產生重大影響。這是因為3D渲染被大量的長延遲所困擾,通常是因為必須等待數據。因此,由于某些邏輯單元比其他邏輯單元離高速緩存更遠而增加的納秒數,都隱藏在事物的大格局中。
在我們繼續前進之前,有必要說明一下AMD在Navi21布局中實施的工程更改,與Radeon RX5700 XT之類的Navi10相比。盡管新芯片在面積和晶體管數量上都比早期芯片大了一倍,但設計人員還設法提高了時鐘速度,而沒有顯著增加功耗。
例如,Radeon RX 6800 XT的基本時鐘和升壓時鐘分別為1825 MHz和2250 MHz,TDP為300 W;Radeon RX 5700 XT的相同指標為1605 MHz,1905 MHz和225 W.Nvidia也以安培的速度提高了時鐘速度,但這部分可歸因于使用更小,更高效的處理節點。
我們對安培和rDNA2卡進行的每瓦性能測試表明,這兩家廠商在這方面都取得了顯著的改進,但AMD和臺積電取得了相當顯著的成績--比較上圖中Radeon RX 6800和Radeon VII之間的差異。
后者是他們第一次使用N7節點的GPU合作,在不到兩年的時間里,他們將每瓦性能提高了64%。如果Nvidia留在臺積電為他們的生產職責,安培GA102可能會有多大的進步,這確實是個問題。
管理GPU工廠
芯片內部的一切是如何組織的
當涉及到指令處理和管理數據傳輸時,安培和rDNA2都遵循著類似于芯片內部組織一切的模式。游戲開發人員使用圖形API編碼他們的標題,以制作所有的圖像;它可能是Direct3D,OpenGL或Vulkan。這些本質上是軟件庫,裝滿了規則,結構和簡化指令的“書”。
AMD和Nvidia為他們的芯片創建的驅動程序本質上是翻譯程序:將通過API發布的例程轉換成GPU可以理解的操作序列。在此之后,就完全由硬件來管理事情了,包括先執行什么指令,芯片的哪一部分執行指令,等等。
指令管理的這一初始階段由一組單元處理,合理地集中在芯片中。在rDNA2中,圖形和計算機著色器通過單獨的流水線路由,這些流水線調度和分派指令到芯片的其余部分;前者稱為圖形命令處理器,后者稱為異步計算引擎(簡稱ACE)。
Nvidia只是用一個名字來描述他們的管理單元,GigaThread Engine,在安培,它做的任務與rDNA2相同,盡管Nvidia并沒有說太多它是如何實際管理的。總之,這些命令處理器的功能相當像工廠的生產經理。
GPU的性能來自于并行處理所有的事情,因此下一級的組織在整個芯片上都是重復的。與工廠類比,這類似于一個企業有一個中央辦公室,但有多個生產地點。
AMD使用標簽著色引擎(SE),而Nvidia稱他們的圖形處理集群(GPC)--不同的名稱,相同的角色。
對芯片進行這種劃分的原因很簡單:命令處理單元不能處理所有的事情,因為它最終會過于龐大和復雜。因此,將一些日程安排和組織職責進一步推進是有意義的。這還意味著每個分離分區可以完全獨立于其他分區來做一些事情--因此,一個分區可以處理大量的圖形著色器,而其他分區則需要處理長而復雜的計算機著色器。
在rDNA2的情況下,每個SE都包含自己的一組固定功能單元:設計用來執行一個特定任務的電路,程序員通常無法對其進行大量調整。
原始設置單元--使頂點準備好處理,以及生成更多(鑲嵌)和剔除它們
光柵化器--將三角形的3D世界轉換為像素的2D網格
渲染輸出--讀取,寫入和混合像素
基元設置單元以每個時鐘周期1個三角形的速率運行。這可能聽起來不太像,但不要忘記,這些芯片運行在1.8-2.2GHz之間的任何地方,所以原始的設置應該永遠不會成為GPU的瓶頸。對于安培,基本單元位于組織的下一層,我們將很快介紹這一點。
AMD和Nvidia都沒有說太多關于他們的光柵器。后者稱它們為光柵引擎,我們知道它們每個時鐘周期處理1個三角形,并吐出大量像素,但沒有進一步的信息可供參考,例如它們的亞像素精度。
Navi 21芯片中的每個SE支持4個8個ROP的存儲庫,導致總共128個渲染輸出單元;NVIDIA的GA102封裝了每個GPC的8個ROP的2個存儲庫,因此全芯片運動112個單元。這可能看起來AMD在這里有優勢,因為更多的ROPs意味著更多的像素可以處理每個時鐘。但是這樣的單元需要很好地訪問緩存和本地內存,我們將在本文后面詳細介紹這一點。現在,讓我們繼續看看SE/GPC分區是如何進一步劃分的。
AMD的著色引擎被劃分為雙計算單元(DCU),Navi21芯片本身有10個DCU--注意,在一些文檔中,它們也被歸類為工作組處理器(WGP)。在安培和GA102的情況下,它們被稱為紋理處理集群(TPCs),每個GPU包含6個TPCs。NVIDIA設計中的每一個集群都包含一個叫做多形引擎的東西--本質上是安培的原始設置單元。
雖然NVIDIA的GPU的時鐘比AMD的低,但是NVIDIA的TPC比Navi21的SES多得多。因此,對于相同的時鐘速度,GA102應該有一個顯著的優勢,因為完整的芯片擁有42個原始設置單元,而AMD的新rDNA2只有4個。但是由于每個光柵引擎有6個TPC,GA102實際上有7個完整的原始系統,而Navi21只有4個。由于后者并沒有比前者高出75%,所以在幾何圖形處理方面,Nvidia似乎明顯領先(雖然沒有游戲可能會在這方面受到限制)。
芯片組織的最后一層是rDNA2中的計算單元(CUs)和安培中的流式多處理器(SMs)--我們GPU工廠的生產線。
這些都是GPU大餅中的肉和蔬菜,因為它們包含了所有用于處理圖形,計算的高度可編程單元,現在還有光線跟蹤著色器。正如您在上圖中看到的,每一個都占據了整個芯片空間的很小一部分,但它們仍然極其復雜,并且對芯片的整體性能高度重要。
到目前為止,這兩個GPU的布局和組織方式還沒有什么嚴重的問題--名稱完全不同,但它們的功能大同小異。由于它們的很多功能都受到可編程性和靈活性的限制,因此它們之間的任何優勢都歸結于一種規模感,即哪一個功能最大。
但是對于CUs和SMs,AMD和Nvidia采取了不同的方法來處理著色器。在某些方面,它們有很多共同點,但在其他許多方面卻并非如此。
Nvidia方式計算核心
由于安培在RDNA 2之前就冒險進入野外,我們先來看看NVIDIA的短信。現在看芯片本身的圖像是沒有意義的,因為它們不能告訴我們芯片內部的具體內容,所以讓我們使用組織圖。這些并不是表示芯片中各種元件的物理排列方式,只是表示每種元件的數量。
圖靈是對其桌面前身Pascal的實質性改變(失去了一堆FP64單元和寄存器,但獲得了張量內核和光線追蹤),安培實際上是一個相當溫和的更新--至少從表面上看是這樣。然而,對于NVIDIA的營銷部門來說,新設計將每個SM中的CUDA核心數量增加了一倍以上。
在圖靈中,流式多處理器包含四個分區(有時稱為處理塊),每個分區容納16x INT32和16x FP32邏輯單元。這些電路設計用于對32位數據值進行非常具體的數學運算:INT單元處理整數,FP單元處理浮點數,即十進制數。
Nvidia聲稱一個安培SM總共有128個CUDA核心,但嚴格地說,這是不真實的--或者如果我們必須堅持這個數量,那么圖靈也是如此。該芯片中的INT32單元實際上可以處理浮點值,但僅限于極少量的簡單操作。對于安培,Nvidia已經開放了他們支持的浮點數學運算的范圍,以匹配其他FP32單元。這意味著每個SM的CUDA核心總數并沒有真正改變;只是他們中的一半現在有了更多的能力。
每個SM分區中的所有內核在任何時間處理相同的指令,但是由于INT/FP單元可以獨立操作,安培SM每個周期最多可以處理128x FP32計算,或者一起處理64x FP32和64x INT32操作。在圖靈身上,只是后者。
因此,新的GPU有可能將FP32的輸出量提高一倍。對于計算工作負載,特別是在專業應用程序中,這是一個很大的進步;但對于游戲來說,好處就會小得多。當我們第一次測試GeForce RTX 3080時,這一點就很明顯了,它使用的是GA102芯片,啟用了68條短信。
盡管其峰值FP32吞吐量比GeForce 2080 Ti高121%,但幀速率僅平均提高31%。那么,為什么要浪費所有的計算能力呢?簡單的答案是不是,但是游戲并不是一直在運行FP32指令。
2018年Nvidia發布圖靈時,他們指出平均一個GPU處理的指令中約有36%涉及INT32例程。這些計算通常用于計算存儲器地址,兩個值之間的比較以及邏輯流/控制。
因此,對于這些操作,雙速率FP32特性無法發揮作用,因為具有兩個數據路徑的單元只能執行整數或浮點運算。并且只有當SM分區當時處理的所有32個線程都有相同的FP32操作時,它才會切換到此模式。在所有其他情況下,安培中的分區就像圖靈中的分區一樣運行。
這意味著,當在INT+FP模式下工作時,GeForce RTX 3080僅比2080 Ti具有11%的FP32優勢。這就是為什么在游戲中看到的實際性能增長并沒有原始數據所顯示的那么高的原因。
其他改進?每個SM分區的張量核較少,但每個張量核的能力都比圖靈中的要強得多。這些電路執行非常特定的計算(例如將兩個FP16值相乘,并將結果與另一個FP16數累加),現在每個內核每個周期執行32個此類操作。
他們還支持一個新的特性,叫做細粒度結構化稀疏性,在不涉及所有細節的情況下,本質上這意味著通過剪除不影響答案的數據,數學率可以翻倍。同樣,這對于從事神經網絡和人工智能工作的專業人士來說是個好消息,但目前,對于游戲開發者來說并沒有什么顯著的好處。
光線追蹤核心也進行了調整:它們現在可以獨立于CUDA核心工作,所以當它們進行BVH遍歷或光線圖元交集數學時,SM的其余部分仍然可以處理著色器。RT內核中處理光線是否與基元相交測試的部分性能也提高了一倍。
RT核心還運動額外的硬件,以幫助應用光線跟蹤運動模糊,但這一功能目前只暴露于NVIDIA的專有Optix API。
雖然還有其他的調整,但總體的方法是一種明智而穩定的發展,而不是一個重大的新設計。但考慮到圖靈的原始功能在一開始并沒有什么特別的問題,看到這一點也不足為奇。
那么AMD呢--他們對rDNA2中的計算單元做了什么?
追蹤光線奇妙
從表面上看,AMD在計算單元方面沒有太大變化--它們仍然包含兩組SIMD32向量單元,SISD標量單元,紋理單元和各種緩存的堆棧。在數據類型和相關的數學運算方面有一些變化,稍后我們將詳細介紹這些變化。對于一般消費者來說,最顯著的變化是AMD現在為光線追蹤中的特定例程提供硬件加速。
CU的這一部分執行射線盒或射線三角交叉檢查--與RT內核相同,單位為安培。然而,后者也加速了BVH遍歷算法,而在rDNA2中,這是通過使用SIMD32單元的計算著色器完成的。
不管一個人有多少著色器核心,或者它們的時鐘速率有多高,采用定制的電路設計只做一個工作總是要比通用的方法更好。這就是GPU最初被發明的原因:渲染世界中的一切都可以使用CPU來完成,但是它們的一般性質使它們不適合于此。
RA單元緊挨著紋理處理器,因為它們實際上是同一個結構的一部分。早在2019年7月,我們就報道了AMD提交的一項專利的出現,該專利詳細說明了使用“混合”方法來處理光線追蹤中的關鍵算法。。。
雖然這個系統確實提供了更大的靈活性,并且消除了當有光線追蹤工作負載時需要有部分芯片不做任何事情的需要,AMD的第一個實現這個確實有一些缺點。其中最值得注意的是紋理處理器在任意時刻只能處理涉及紋理或光線-基元交點的操作。
鑒于NVIDIA的RT核心現在完全獨立于SM的其余部分運行,這似乎會給安培一個明顯的領先地位,與RNDA 2相比,當涉及到磨削通過加速結構和交叉測試所需的射線追蹤。
雖然我們只是簡單地考察了AMD最新顯卡中的光線追蹤性能,但到目前為止,我們確實發現使用光線追蹤的影響很大程度上取決于正在玩的游戲。
例如,在第5檔中,Radeon RX 6800(使用Navi 21 GPU的60 CU變體)僅有17%的幀率命中,而在《古墓麗影的陰影》中,這上升到了52%的平均損失。相比之下,NVIDIA的RTX3080(使用68 SM GA102)在兩款游戲中的平均幀率損失分別為23%和40%。
一個更詳細的分析光線追蹤是需要說任何更多關于AMD的實現,但作為第一次迭代的技術,它確實看起來有競爭力,但敏感的應用程序是做光線追蹤。
如前所述,rDNA2中的計算單元現在支持更多的數據類型;最值得注意的是低精度數據類型,如INT4和INT8。這些用于機器學習算法中的張量運算,雖然AMD為AI和數據中心提供了一個單獨的架構(CDNA),但此更新用于DirectML。
這個API是微軟DirectX12系列的最新添加,硬件和軟件的結合將為光線追蹤和時間提升算法中的去噪提供更好的加速。在后者的情況下,Nvidia有自己的,當然,稱為DLSS。他們的系統使用SM中的張量核來執行部分計算,但是考慮到可以通過DirectML構造類似的過程,這些單元似乎有些多余。然而,在圖靈和安培中,張量核也處理所有涉及FP16數據格式的數學運算。
對于rDNA2,這樣的計算是使用著色器單元完成的,使用打包數據格式,即每個32位向量寄存器保存兩個16位1。那么哪種方法更好呢?AMD將他們的SIMD32單元標記為向量處理器,因為它們為多個數據值發出一條指令。
每個向量單元包含32個流處理器,由于每個流處理器只處理單個數據,所以實際操作本身本質上是標量的。這本質上與以安培為單位的SM分區相同,其中每個處理塊也在32個數據值上攜帶一條指令。
但是,在NVIDIA的設計中,整個SM每個周期最多可以處理128個FP32 FMA計算(融合乘加),而單個rDNA2計算單元只能處理64個FP32 FMA計算。使用FP16將此值提高到128 FMA/周期,這與執行標準FP16數學運算時的安培張量內核相同。
NVIDIA的SMs可以同時處理整數值和浮點數值的指令(例如64個FP32和64個INT32),并具有用于FP16運算,張量數學和光線跟蹤例程的獨立單元。AMD的CUs承擔了SIMD32單元上的大部分工作負載,盡管它們確實有支持簡單整數數學的獨立標量單元。
因此,安培似乎在這方面具有優勢:GA102的SMs比Navi21的CUs更多,而且它們在峰值吞吐量,靈活性和提供的功能方面都有更大的優勢。但AMD有一個相當不錯的把戲牌在他們的袖子里。
喂那些饑餓的河馬
內存系統,多級緩存
擁有一個擁有數千個邏輯單元的GPU,所有的邏輯單元都能通過精妙的數學進行運算,這一切都是很好的,但如果它們不能足夠快地獲得所需的指令和數據,它們就會在海上掙扎。這兩種設計都具有豐富的多級緩存,擁有巨大的帶寬。
我們先來看看安培的。總體而言,內部發生了一些顯著變化。2級緩存的數量增加了50%(圖靈TU102分別支持4096 kB),每個SM中的1級緩存的大小都增加了一倍。
與前面一樣,安培L1高速緩存是可配置的,就可以為數據,紋理或一般計算機使用分配多少高速緩存空間而言。但是,對于圖形著色器(例如頂點,像素)和異步計算,緩存實際上設置為:
64 kB用于數據和紋理
48 kB用于共享通用內存
16 kB為特定操作保留
只有在完全計算模式下運行時,L1才變得完全可配置。在好的方面,可用帶寬也增加了一倍,因為高速緩存現在每個時鐘可以讀/寫128個字節(盡管還不知道延遲是否也得到了改善)。
內部內存系統的其余部分在安培數上保持不變,但當我們移動到GPU之外時,就會有一個美好的驚喜等待我們。Nvidia與DRAM制造商Micron合作,使用GDDR6的修改版本來滿足他們的本地內存需求。這基本上仍然是GDDR6,但數據總線已被完全取代。GDDR6X采用四個電壓,而不是采用傳統的每引腳1位設置,即信號在兩個電壓(又稱PAM)之間快速反彈:
GDDR6中的PAM2(上)與GDDR6X中的PAM4(下)
通過這種改變,GDDR6X每個引腳每個周期有效傳輸2位數據,因此,對于相同的時鐘速度和引腳數,帶寬增加一倍。GeForce RTX 3090支持24個GDDR6X模塊,在單通道模式下運行,額定值為19 Gbps,峰值傳輸帶寬為936 Gb/s。
這比GeForce RTX2080 Ti增加了52%,不能輕視。這樣的帶寬數字在過去只有通過使用HBM2之類的器件才能實現,與GDDR6相比,HBM2的實現成本較高。
然而,只有Micron公司生產這種存儲器,PAM4的使用增加了生產過程的復雜性,需要更嚴格的信號公差。AMD走了一條不同的道路--他們沒有向外部機構尋求幫助,而是利用他們的CPU部門將一些新的東西帶到桌面上。rDNA2的整體記憶系統與它的前身相比沒有太大的變化--只有兩個主要的變化。
每個著色器引擎現在有兩組1級緩存,但是由于它們現在支持兩個雙計算單元庫(RDNA剛剛有一個),這種改變是可以預料的。但是把128 MB的三級緩存塞進GPU?這讓很多人感到驚訝。利用SRAM設計的L3高速緩存發現在他們的EPYC系列的Zen 2服務器芯片,AMD已經嵌入兩套64 MB高密度高速緩存到芯片。數據事務由16組接口處理,每個接口每個時鐘周期移位64字節。
所謂的無限高速緩存有自己的時鐘域,最高可運行1.94GHz,峰值內部傳輸帶寬為1986.6Gb/s。而且因為它不是外部DRAM,所以所涉及的延遲非常低。這樣的高速緩存非常適合存儲射線跟蹤加速結構,而且由于BVH遍歷涉及大量的數據檢查,因此無限高速緩存應該對此有顯著的幫助。
兩個64 MB條帶的Infinity Cache和Infinity Fabric系統
目前,還不清楚rDNA2中的3級緩存是否與Zen2 CPU中的運行方式相同:即作為2級受害者緩存。通常情況下,當需要清除最后一級緩存以為新數據騰出空間時,對該信息的任何新請求都必須轉到DRAM。
受害者高速緩存存儲的數據已經被標記為從下一層內存中移除,在現有128 MB的情況下,無限高速緩存可以潛在地存儲32個完整的二級高速緩存集。該系統減少了對GDDR6控制器和DRAM的需求。
AMD的老式GPU設計一直在努力解決內部帶寬不足的問題,特別是當它們的時鐘速度提高之后,但是額外的緩存將會讓這個問題逐漸淡出背景。
那么這里哪種設計更好呢?GDDR6X的使用為GA102提供了巨大的本地內存帶寬,更大的高速緩存將有助于減少高速緩存未命中的影響(這會阻礙線程的處理)。Navi21的海量3級緩存意味著DRAM不必經常被點擊,并且利用GPU在更高的時鐘速度下運行的能力,而不會出現數據饑餓。
AMD堅持使用GDDR6的決定意味著有更多的內存來源可供第三方供應商使用,與此同時,任何生產GeForce RTX3080或3090的公司將不得不使用Micron。雖然GDDR6有多種模塊密度,但GDDR6X目前僅限于8 GB。
RDNA 2中的高速緩存系統可以說是一種比安培中使用的更好的方法,因為與外部DRAM相比,無論后者的帶寬如何,在給定的電源包絡下,使用多級片上SRAM總是能提供更低的延遲和更好的性能。
GPU的來龍去脈
呈現管道
這兩種體系結構都對呈現管道的前端和后端進行了大量更新。安培和rDNA2在DirectX12 Ultimate中完全運動網格著色器和可變速率著色器,盡管NVIDIA的芯片確實有更多的幾何性能,感謝其更多的處理器用于這些任務。
雖然網格著色器的使用將使開發者能夠創建更加逼真的環境,但是沒有一款游戲的性能會完全受制于渲染過程中的這個階段。這是因為大部分最困難的工作是在像素或光線跟蹤階段。
這就是使用可變速率著色器發揮作用的地方--基本上,這個過程涉及到在像素塊上應用著色器來照明和顏色,而不是單獨的著色器。這類似于為了提高性能而降低游戲的分辨率,但由于它只適用于選定的區域,因此視覺質量的損失并不明顯。
但是這兩個體系結構也都更新了渲染輸出單元(ROPs),因為這將提高高分辨率下的性能,無論是否使用可變速率著色器。Nvidia在其所有前幾代GPU中,都將ROP與內存控制器和2級高速緩存綁定在一起。
在圖靈中,8個ROP單元(統稱為分區)直接鏈接到一個控制器和緩存的512 kB片。添加更多的ROP會產生一個問題,因為它需要更多的控制器和緩存,因此對于安培,ROP現在完全分配給GPC。GA102運動12 ROP每個GPC(每一個處理1個像素每個時鐘周期),給了總共112個單元的完整芯片。
AMD遵循與NVIDIA舊方法類似的系統(即綁定到內存控制器和二級高速緩存片),盡管他們的ROP主要使用一級高速緩存進行像素讀/寫和混合。在Navi21芯片中,他們得到了急需的更新,每個ROP分區現在處理8個像素在32位彩色每周期,4個像素在64位。
Nvidia還與安培一起推出了RTX IO,這是一種數據處理系統,允許GPU直接訪問存儲驅動器,復制所需的數據,然后使用CUDA內核進行解壓縮。不過,目前該系統還不能用于任何游戲,因為Nvidia正在使用DirectStorage API(另一個DirectX12增強版)來控制它,而且還沒有準備好公開發布。
目前使用的方法包括讓CPU管理所有這些:它接收來自GPU驅動程序的數據請求,將數據從存儲驅動器復制到系統內存,解壓縮,然后將其復制到圖形卡的DRAM。
除了這涉及大量浪費復制的事實之外,這種機制本質上是串行的--CPU一次處理一個請求。Nvidia聲稱數據吞吐量達到了100倍,CPU利用率降低了20倍,但在實際測試之前,這些數據還不能進一步研究。
當AMD推出rDNA2和新的Radeon RX6000顯卡時,他們推出了一種叫做智能存取存儲器的東西。這不是他們對NVIDIA的RTX IO的回答--事實上,它甚至不是一個真正的新功能。默認情況下,CPU中的PCI Express控制器最多可以為每個訪問請求尋址256 MB的圖形卡內存。
該值由基址寄存器(BAR)的大小設置,早在2008年,PCI Express 2.0規范中就有一個可選特性,允許調整其大小。這樣做的好處是,為了尋址整個卡的DRAM,必須處理的訪問請求較少。
該功能需要操作系統,CPU,主板,GPU及其驅動程序的支持。目前,在Windows PC上,系統僅限于Ryzen 5000 CPU,500系列主板和Radeon RX 6000顯卡的特定組合。
當我們測試時,這個簡單的功能給出了一些令人吃驚的結果--4K時15%的性能提升是不可輕視的,所以Nvidia表示他們將在不久的將來為RTX3000系列提供這個功能也就不足為奇了。
至于是否為其他平臺組合推出了可調整大小條形圖支持還有待觀察,但它的使用肯定是受歡迎的,盡管它本身并不是安培/rDNA2的架構特性。
視頻殺死了電臺明星
多媒體引擎,視頻輸出
GPU世界通常由核心數,TFLOPS,Gb/s和其他引人注目的指標來主導,但由于YouTube內容創建者和直播游戲流的崛起,顯示和多媒體引擎功能也相當引人注目。
隨著支持超高刷新率的顯示器價格的下降,對超高刷新率(所有分辨率)的需求不斷增長。兩年前,一臺144赫茲4K 27英寸HDR顯示器要花掉你2,000美元;如今,你可以用幾乎一半的價格買到類似的東西。
兩種架構均通過HDMI 2.1和DisplayPort 1.4a提供顯示輸出。前者提供更多的信號帶寬,但兩者的額定頻率均為4K(240 Hz,HDR)和8K(60 Hz)。這是通過使用4:2:0色度二次采樣或DSC 1.2A實現的。這些是視頻信號壓縮算法,提供了帶寬需求的顯著降低,而沒有太多的視覺質量損失。如果沒有它們,即使HDMI2.1的6 Gb/s峰值帶寬也不足以以6 Hz的速率傳輸4K圖像。
48英寸LG CK OLED顯示器--120赫茲4K需要HDMI 2.1
安培和rDNA2還支持可變刷新率系統(AMD的FreeSync,Nvidia的G-Sync),當涉及到視頻信號的編碼和解碼時,這里也沒有明顯的區別。
無論您查看哪種處理器,您都會發現支持8K AV1,4K H.264和8K H.265解碼,盡管它們在這種情況下的性能究竟如何還沒有得到徹底的研究。兩家公司都沒有給出更多關于他們的顯示器和多媒體引擎的實際內部細節。雖然它們現在很重要,但仍然是GPU的其余部分吸引了所有的注意力。
各有所好
為電腦而建,為游戲而建
GPU歷史的發燒友們會知道,AMD和Nvidia過去在架構選擇和配置上采取了相當不同的做法。但是隨著3D圖形越來越多地被計算機世界和API的同質化所支配,它們的總體設計也越來越相似。
而不是今天的游戲對渲染的需求為架構定下基調,而是GPU產業已經擴展到的市場部門在指引方向。在撰寫本文時,Nvidia公司有三款采用安培技術的芯片:GA100,GA102和GA104。
GA104可在GeForce RTX 3060 Ti中找到
最后一個只是GA102的精簡版--它只是每個GPC有更少的TPC(總共少了一個GPU)和三分之二的二級緩存。其他一切都一模一樣。另一方面,GA100是一個完全不同的野獸。
它沒有RT內核,也沒有支持INT32+FP32的CUDA內核;相反,它包含了大量額外的FP64單元,更多的加載/存儲系統,以及大量的L1/L2緩存。它也沒有任何顯示器或多媒體引擎;這是因為它完全是為人工智能和數據分析的大規模計算集群而設計的。
然而,GA102/104需要覆蓋Nvidia瞄準的其他所有市場:游戲愛好者,專業圖形藝術家和工程師,以及小型人工智能和計算機工作。安培需要成為“萬事通”,精通所有行業--這可不是一件容易的事。
750 mm2的大角星CDNA怪物
rDNA2的設計只是為了游戲,在個人電腦和游戲機上,盡管它也可以把它的手轉向相同的領域,安培銷售。然而,AMD選擇保持他們的GCN架構不變,并針對當今專業客戶的需求進行更新。
rDNA2孕育出了“大納維”,CDNA可以說孕育出了“大織女星”--本能MI100內置了Arcturus芯片,這是一個500億美元的晶體管GPU,可支持128個計算單元。和NVIDIA的GA100一樣,它也不包含顯示器和多媒體引擎。
雖然Nvidia憑借Quadro和Tesla模式在專業市場上占據了很大的主導地位,但Navi21這樣的產品并不是為了與這些產品競爭,而是經過了相應的設計。這也使rDNA2成為更好的結構;安培要適應多個市場的要求是否以任何方式限制了它?
當你看證據時,答案似乎是:不。
AMD不久將發布Radeon RX 6900 XT,它使用完整的Navi21(沒有CUs禁用),性能可能與GeForce RTX 3090或更好。但是該卡中的GA102也沒有完全啟用,所以Nvidia總是可以選擇用“超級”版本更新該模型,就像他們去年對圖靈所做的那樣。
可以說,因為rDNA2正在Xbox系列X/S和PlayStation5中使用,游戲開發者將會更青睞于這種架構,而不是他們的游戲引擎。但你只需看看GCN在Xbox One和PlayStation4中使用的時間,就能知道它的效果如何。
2013年,前者的第一個版本使用了圍繞GCN1.0架構構建的GPU,這種設計直到第二年才出現在桌面PC顯卡中。2017年發布的Xbox One X采用了GCN 2.0,一個成熟的設計到那時已經有3年多的歷史了。
那么,是不是所有為Xbox One或PS4制作的游戲在AMD顯卡上都能自動運行得更好呢?他們沒有。因此,盡管rDNA2具有令人印象深刻的特性,但我們不能假設這次rDNA2會有所不同。
但這些最終都無關緊要,因為這兩種GPU設計都具有超乎尋常的能力,都是半導體制造中所能實現的奇跡。Nvidia和AMD帶來了不同的工具,因為他們試圖解決不同的問題;安培的目標是成為所有人的一切,rDNA2主要是關于游戲。
這一次,戰斗已經進入了膠著狀態,盡管每個人都可以宣稱在特定的一兩個地區取得勝利。GPU大戰將在明年繼續,一個新的參戰者將加入這場戰爭:英特爾,他們的Xe系列芯片。至少我們不用再等兩年看這場戰斗如何進行!
購物快捷方式:
Amazon上的Nvidia GeForce RTX 3090
Amazon上的Nvidia GeForce RTX 3080
AMD Radeon RX 6800 XT在亞馬遜上
AMD Radeon RX 6800在亞馬遜上
Amazon上的Nvidia GeForce RTX 3070
Amazon上的Nvidia GeForce RTX 3060 Ti