随着Big Navi显卡的发布,<em>AMD</em>终于重回高端GPU空间。尽管RDNA 2设计在计算和图形流水线方面与RDNA 1非常相似,但仍有一些更改允许包含Infinity Cache和高提升时钟。下面,我们将讨论Navi GPU与由GCN架构提供支持的
2021-05-15 01:00:35
隨著Big Navi顯示卡的釋出,AMD終於重回高階GPU空間。儘管RDNA 2設計在計算和圖形流水線方面與RDNA 1非常相似,但仍有一些更改允許包含Infinity Cache和高提升時鐘。
下面,我們將討論Navi GPU與由GCN架構提供支援的傳統Vega和Polaris部件有何不同。
AMD的GCN架構為Radeon顯示卡提供了近十年的支援。儘管該設計具有強大的Compute Engine,硬體排程程式和統一記憶體等優勢,但對於遊戲而言並不是十分有效。與當代NVIDIA部件相比,硬體利用率相當差,每個著色引擎的前11個CU後縮放比例急劇下降,並且總體而言,每個GPU使用64個以上的CU是不可行的。
結果,儘管採用了強大的計算架構,AMD的GCN GPU(Vega)卻屢屢輸給NVIDIA的高階遊戲產品,同時卻獲得了更高的效能。
RDNA是GPU架構,而Navi是使用它構建的圖形處理器的代號。同樣,GCN是體系結構,而Vega和Polaris是代號。
支援Navi 10和Navi 14 GPU(Radeon RX 5500 XT,5600 XT和5700 / XT)的第一代RDNA架構基於與GCN相同的構造塊:一種向量處理器,帶有一些用於地址計算和控制的專用標量流,非同步運行的獨立計算和圖形流水線。稱為流處理器的ALU提供了計算能力,命令處理器(與ACE一起)處理每個計算單元的工作量排程。
核心區別在於RDNA重組了GCN的基本元件,以實現更高的IPC,更低的延遲和更高的效率。這就是Navi的全部意義:用更少的硬體就能完成更多的工作!
AMD GCN:功能強大但未充分利用
AMD的GCN圖形體系結構每個計算單元包含64個波前或工作項(以及ALU /核心)。它們分為四個SIMD(多種資料類型的單個指令),每個SIMD包裝16個ALU(SP)。
這是大多數人感到困惑的地方。是的,這是真的,排程可能每四個週期後發出新一波的群體,但同時每個計算單元也將上工作464項波,而不是一個64項波。像推土機一樣,目標是最大程度地實現並行化。同時,GCN並不是亂序的架構。波前的指令仍按其順序執行。區別在於CU或SIMD可以切換到四個可用波中的任何一個。
之所以不太有效,是因為大多數遊戲使用較短的工作佇列,因為每個執行週期只有四個波前中的一個或兩個飽和。因此,具有相同著色器數量的競爭NVIDIA GPU憑藉其超標量體系結構要快得多,並且只需一到兩個週期即可執行這些較短的排程。另一方面,儘管有更多波前的餘地,AMD同行仍需要等待四個週期才能進行下一個週期。
每個向量可以對多個數據集執行相同的指令。向量排程的工作原理是,始終有一條指令要在多個項目上執行。如果只有一兩套可用,則其餘插槽將在該週期內處於空閒狀態。
總結起來,與許多其他SIMD設計一樣,GCN計算單元一次在四個波前工作,並花費四個週期來執行它們。在理想世界中,這意味著一波的有效時間為一個週期。但是,由於SIMD的工作方式,情況並非如此,並且CU經常未得到充分利用。
AMD RDNA:雙重計算架構和Wave32
在Navi中實現的RDNA架構使用wave32,這是一個具有32個工作項的較窄波前。它比舊的wave64設計更簡單,更有效。每個SIMD較寬,但計算單位較窄。
在計算單元是GCN中基本著色器單元的地方,RDNA用WGP(工作組處理器)代替了它:兩個CU與共享的本地資料協同工作。RDNA SIMD由32個著色器或ALU組成,是GCN的兩倍。每個CU有兩個SIMD,雙計算單元中有四個。CU中的流處理器總數仍為64,但是它們分佈在兩個(不是四個)較寬的SIMD中。參閱四個週期VS每指令的一個週期以下進一步示圖。
RDNA SIMD由32個著色器或ALU組成,是GCN的兩倍。每個CU有兩個SIMD,雙計算單元中有四個。CU中的流處理器總數仍為64,但是它們分佈在兩個(不是四個)較寬的SIMD中。
這種安排允許在一個時鐘週期內執行一個完整的波前,從而減少瓶頸並將IPC提升4倍。通過更快地完成4倍的波前,可以更快地釋放寄存器和快取記憶體,從而總體上可以排程更多的指令。此外,wave32使用的寄存器數量是wave64的一半,從而也降低了電路複雜度和成本。
為了適應較窄的波前,向量寄存器檔案也已進行了重組。每個向量通用寄存器(vGPR)現在包含32個32位寬的通道(對於FP32),並且SIMD總共包含1,024個vGPR-再次是GCN中寄存器數量的4倍。
總體而言,更窄的wave32模式可通過改善IPC和併發波前總數來提高吞吐量,從而顯著提高效能和效率。
非同步計算隧道
GCN架構的主要亮點之一是在NVIDIA將其整合到其圖形卡之前使用了非同步計算引擎方式。RDNA保留了該功能,並且加倍了。
命令處理器處理來自API的命令,然後將它們釋出到相應的管道:圖形命令處理器管理圖形管道(著色器和固定功能硬體),而四個非同步計算引擎(ACE)負責計算。Navi 10晶片(RX 5700 XT)具有一個圖形命令處理器和四個ACE。每個ACE都有一個獨特的命令流,而GCP對於每種著色器類型(域,頂點,畫素,柵格等)都有單獨的流。
在GCN中,命令處理器可以優先於圖形進行計算。在RDNA架構中,GPU可以使用所有資源來執行高優先順序的計算任務,從而完全掛起圖形管線。
DNA體系結構通過引入一種稱為「非同步計算隧道」的新功能,改善了指令級的並行處理。GCN和較新的Navi GPU均支援非同步計算(圖形和計算管道的同時執行),但RDNA則更進一步。當一個任務(圖形或計算)比其他任務對延遲的敏感度高得多時,Navi可以完全暫停另一個任務。
在基於GCN的Vega設計中,命令處理器可以使計算優先於圖形,並在著色器上花費更少的時間。在RDNA架構中,GPU可以使用所有資源來執行高優先順序的計算任務,從而完全掛起圖形管線。這可以顯著提高對延遲最敏感的工作負載(例如虛擬現實)的效能。
控制流的標量執行
實際上,AMD GCN和RDNA架構中的大多數計算都是由SIMD執行的,而SIMD本質上是向量:對多種資料類型執行一條指令(每個SIMD每個週期同時執行32 INT / 32 FP)。但是,每個CU中也有標量單位。RDNA 1中的每個計算單元每個週期可以啟動(排程)四個指令,兩個標量,兩個向量。在RDNA1 WGP中,總吞吐量為每個時鐘128個向量和4個標量。四個SIMD各自為該數字做出了相同的貢獻。
結論
儘管RDNA和Navi並沒有完全重新發明Radeon設計,但它們主要只是對其進行了改進。消除了管道瓶頸,減少了延遲,現在每個SIMD都變得越來越寬和更快。
每個著色器引擎都有更多的渲染後端,具有三個級別的統一快取,這是對之前的Vega GPU的重大改進。看看RDNA 2與現有的Navi GPU有何不同將是很有趣的。
我認為不會有任何根本性的變化。可能會有一些專用的光線跟蹤加速或放大核心,僅此而已。AMD需要從事的工作是他們的軟體和驅動程式。
#科技日報#
相關文章
随着Big Navi显卡的发布,<em>AMD</em>终于重回高端GPU空间。尽管RDNA 2设计在计算和图形流水线方面与RDNA 1非常相似,但仍有一些更改允许包含Infinity Cache和高提升时钟。下面,我们将讨论Navi GPU与由GCN架构提供支持的
2021-05-15 01:00:35
首先解释一下什么是宏表函数。很早以前的<em>Excel</em>并没有VBA,那时候是通过“宏表”来实现现在VBA的部分功能,虽然如今“宏表”已经被VBA取代,但出于兼容的考虑,<em>Excel</em>仍保留有“宏表”功能,所谓“宏表函数”
2021-05-15 01:00:04
张勇在财报电话会议中说,“AAC(年度活跃消费者)变成<em>MAC</em>(月活跃消费者),DAC(日活消费者)的空间还有很大。”于此相对应的背景是,中国网络零售市场仍有巨大增长潜力,目前电商占社会零售总额仅在25%左右。淘宝
2021-05-14 23:31:45
整个顶部除了角落的状态指示灯之外,其余基本都是散热孔。底部是开关和Reset复位开关以及WPS按键,默认的初始SSID名称、密码、恢复密码以及SN码、<em>MAC</em>地址全都在上面,路由器本体是越南制造。底部有长空隙进入空气
2021-05-14 23:31:14
苹果公司在三十年前的1991年5月13日发布System 7时,<em>MAC</em>开始出现了本质上的变化。尽管系统还是出现了一些问题,但它也为我们带来了我们今天仍在使用的功能。 1991年的世界截然不同。如果您是<em>Mac</em>的拥
2021-05-14 23:31:11
虽说<em>安卓</em>阵营,骁龙888是最受追捧的,既用上了A78全新架构,又有一颗超级大核X1,处理器性能直接登顶。而骁龙870其实也不赖,因为大核主频达到3.2GHz,较于骁龙865提升了10%的CPU性能和GPU性能。而这阵子,陆续有
2021-05-14 23:30:38