在 GPU 領域,2022 年無論好壞都是一個重要的里程碑。英特爾兌現了重新進入獨立顯卡市場的承諾,Nvidia將顯卡尺寸和價格推向了頂峰,AMD將 CPU 技術帶入了顯卡領域。
圍繞 GPU 的熱情彌漫在在線論壇中,讓 PC 愛好者對顯卡市場的轉變感到既敬畏又震驚。在這種喧囂中,人們很容易忘記最新的產品配備了家用電腦中最復雜、最強大的芯片。
在本文中,我們將深入探討他們的架構。讓我們剝開層層,看看有什么新內容、它們有什么共同點,以及這些對普通用戶意味著什么。
GPU整體結構:從上到下
讓我們從本文的一個重要方面開始——這不是性能比較。相反,我們正在研究 GPU 內部的所有內容是如何排列的,檢查規格和數據,以了解 AMD、英特爾和 Nvidia 在設計圖形處理器時所采用的方法差異。
我們將首先了解使用我們正在研究的架構的最大可用芯片的整體 GPU 組成。需要強調的是,英特爾的產品并不針對與 AMD 或 Nvidia 相同的市場,因為它在很大程度上是一款中檔圖形處理器。
這三者的尺寸不僅彼此不同,而且與使用先前架構的類似芯片也有很大不同。所有這些分析純粹是為了了解這三個處理器的底層到底是什么。在分解每個 GPU 的基本部分(著色器核心、光線追蹤功能、內存層次結構以及顯示和媒體引擎)之前,我們將檢查整體結構。
一、AMD Navi 31
按字母順序排列,第一個出現的是 AMD 的 Navi 31,這是他們迄今為止發布的最大的 RDNA 3 芯片。與 Navi 21 相比,我們可以看到他們之前的高端 GPU 的組件數量明顯增長......
著色器引擎 (SE:Shader Engines) 容納的計算單元 (CU:Compute Units) 較少,為 16 個,而不是 200 個,但現在總共有 6 個 SE,比以前多了兩個。這意味著Navi 31擁有多達96個CU,總共配備6144個流處理器(SP:Stream Processors)。AMD 已經對 RDNA 3 的 SP 進行了全面升級,我們將在后面討論。
每個著色器引擎還包含一個處理光柵化( rasterization)的專用單元、一個用于三角形( triangle )設置的圖元引擎(primitive engine )、32 個渲染輸出單元 (ROP:render output units) 和兩個 256kB L1 緩存。最后一個方面現在大小增加了一倍,但每個 SE 的 ROP 計數仍然相同。
AMD 也沒有對光柵器( rasterizer )和原始引擎(primitive engines)進行太大改變——所稱的 50% 改進是針對整個芯片進行的,因為它的 SE 比 Navi 21 芯片多了 50%。然而,SE 處理指令的方式發生了變化,例如更快地處理多個繪制命令(multiple draw commands)和更好地管理管道階段( pipeline stages),這應該會減少 CU 在繼續執行另一個任務之前需要等待的時間。
最明顯的變化是在 11 月發布之前引起最多謠言和八卦的變化——GPU 封裝的小芯片方法。憑借在該領域多年的經驗,AMD 選擇這樣做在某種程度上是合乎邏輯的,但這完全是出于成本/制造原因,而不是性能。
我們將在本文后面更詳細地討論這一點,所以現在我們只關注哪些部分在哪里。在 Navi 31 中,最終層緩存的內存控制器及其相關分區位于主處理器(GCD,Graphics Compute Die)周圍的單獨小芯片(稱為 MCD 或Memory Cache Dies)中。
由于需要提供更多數量的 SE,AMD 也將 MC 數量增加了 50%,因此 GDDR6 全局內存的總總線寬度現在為 384 位。這次 Infinity Cache 總量減少了(96MB vs 128MB),但更大的內存帶寬抵消了這一點。
二、英特爾ACM-G10
接下來是 Intel 和 ACM-G10 芯片(以前稱為 DG2-512)。雖然這不是英特爾生產的最大的 GPU,但它是他們最大的消費類圖形芯片。
該框圖是相當標準的排列,盡管看起來更類似于 Nvidia 的而不是 AMD 的。共有 8 個渲染切片(Render Slices),每個渲染切片包含 4 個 Xe 核心,總共 512 個矢量引擎(Vector Engines:相當于 AMD 的流處理器和 Nvidia 的 CUDA 核心 )。
每個渲染切片中還包含一個基元單元、光柵器、深度緩沖處理器、32 個紋理單元和 16 個 ROP。乍一看,這款 GPU 似乎相當大,因為 256 個 TMU 和 128 個 ROP 比 Radeon RX 6800 或 GeForce RTX 2080 中的數量還要多。
然而,AMD 的 RNDA 3 芯片擁有 96 個計算單元,每個計算單元有 128 個 ALU,而 ACM-G10 總共有 32 個 Xe 核心,每個核心有 128 個 ALU。因此,僅就 ALU 數量而言,英特爾 Alchemist 驅動的 GPU 的大小是 AMD 的三分之一。但正如我們稍后將看到的,ACM-G10 的大部分芯片都交給了不同的數字處理單元。
與英特爾通過 OEM 供應商發布的首款 Alchemist GPU相比,該芯片在組件數量和結構排列方面具備成熟架構的所有特征。
我們完成了對 Nvidia AD102 不同布局的開場概述,這是他們第一個使用 Ada Lovelace 架構的 GPU。與它的前身Ampere GA102相比,它看起來并沒有什么不同,只是大了很多。就所有意圖和目的而言,確實如此。
Nvidia 使用圖形處理集群 (GPU:Graphics Processing Cluster) 的組件層次結構,其中包含 6 個紋理處理集群 (TPC:Texture Processing Clusters),每個集群包含 2 個流式多處理器 (SM)。這種安排對于Ada來說并沒有改變,但總數肯定已經改變了……
在完整的 AD102 芯片中,GPC 數量從 7 個增加到 12 個,因此現在總共有 144 個 SM,總共有 18432 個 CUDA 核心。與 Navi 31 中的 6144 個 SP 相比,這個數字似乎高得離譜,但 AMD 和 Nvidia 對其組件的計數方式不同。
雖然這大大簡化了問題,但 1 個 Nvidia SM 相當于 1 個 AMD CU——兩者都包含 128 個 ALU。因此,Navi 31 的尺寸是英特爾 ACM-G10 的兩倍(僅 ALU 數量),而 AD102 的尺寸是英特爾 ACM-G10 的 3.5 倍。
這就是為什么當芯片在規模上有如此明顯的差異時,對它們進行任何直接的性能比較是不公平的。然而,一旦它們進入顯卡、定價并上市,那么情況就不同了。
但我們可以比較的是三個處理器中最小的重復部分。
著色器核心(Shader Cores):
走進 GPU 的大腦
從整個處理器的概述開始,現在讓我們深入了解芯片的核心,看看處理器的基本數字處理部分:著色器核心。
這三個制造商在描述他們的芯片時使用不同的術語和短語,特別是在概述圖時。因此,在本文中,我們將使用我們自己的圖像,具有常見的顏色和結構,以便更容易看出相同和不同之處。
一、AMD RDNA 3
AMD GPU 著色部分內最小的統一結構稱為雙計算單元(DCU:Double Compute Unit)。在某些文檔中,它仍然稱為工作組處理器 (WGP:Workgroup Processor),而其他文檔則將其稱為計算單元對(CUP:Compute Unit Pair)。
請注意,如果這些圖中未顯示某些內容(例如常量緩存、雙精度單元),并不意味著它們不存在于體系結構中。
在很多方面,整體布局和結構元素與 RDNA 2 相比并沒有太大變化。兩個計算單元共享一些緩存和內存,每個計算單元包含兩組 32 個流處理器 (SP)。
第 3 版的新增功能是,每個 SP 現在容納的算術邏輯單元 (ALU:arithmetic logic units ) 數量是以前的兩倍?,F在,每個 CU 有兩組 SIMD64 單元,每個組有兩個數據端口——一個用于浮點、整數和矩陣運算,另一個僅用于浮點和矩陣運算。
AMD 確實針對不同的數據格式使用單獨的 SP, RDNA 3 中的計算單元支持使用 FP16、BF16、FP32、FP64、INT4、INT8、INT16 和 INT32 值進行操作。
使用 SIMD64 意味著每個線程調度程序可以在每個時鐘周期發出一組 64 個線程(稱為wavefront),或者可以共同發出兩個 32 個線程的波前。AMD 保留了與以前的 RDNA 架構相同的指令規則,因此這是由 GPU/驅動程序處理的。
另一個重要的新功能是 AMD 所謂的 AI 矩陣加速器的出現。
與我們很快就會看到的 Intel 和 Nvidia 的架構不同,它們并不充當單獨的單元——所有矩陣運算都利用 SIMD 單元,并且任何此類計算(稱為波矩陣乘法累加,WMMA:Wave Matrix Multiply Accumulate)都將使用完整的 64 個 ALU 組。
在撰寫本文時,人工智能加速器的確切性質尚不清楚,但它可能只是與處理指令和涉及的大量數據相關的電路,以確保最大吞吐量。它很可能與 Nvidia 的Hopper 架構中的張量內存加速器具有類似的功能。
與 RDNA 2 相比,變化相對較小——較舊的架構還可以處理 64 個線程波前(又名 Wave64),但這些是在兩個周期內發布的,并且在每個計算單元中使用兩個 SIMD32 塊?,F在,這一切都可以在一個周期內完成,并且僅使用一個 SIMD 塊。
在之前的文檔中,AMD 表示 Wave32 通常用于計算和頂點著色器(也可能用于光線著色器),而 Wave 64 主要用于像素著色器,驅動程序會相應地編譯著色器。因此,轉向單周期 Wave64 指令問題將為嚴重依賴像素著色器的游戲帶來推動。
然而,所有這些額外的可用功率都需要正確利用才能充分利用。所有 GPU 架構都是如此,并且它們都需要大量線程負載,才能做到這一點(這也有助于隱藏與 DRAM 相關的固有延遲)。
因此,隨著 ALU 數量增加一倍,AMD 推動了程序員盡可能使用指令級并行性的需求。這在圖形領域并不是什么新鮮事,但 RDNA 相對于 AMD 舊的 GCN 架構的一個顯著優勢是,它不需要那么多的運行線程來達到充分利用。鑒于現代渲染在游戲中變得多么復雜,開發人員在編寫著色器代碼時需要做更多的工作。
二、Intel Alchemist
現在讓我們轉向英特爾,看看 Alchemist 架構中的 DCU 等效項,稱為Xe Core(我們將其縮寫為 XEC)。乍一看,與 AMD 的結構相比,這些看起來絕對是巨大的。
RDNA 3 中的單個 DCU 包含四個 SIMD64 塊,而英特爾的 XEC 包含16 個SIMD8 單元,每個單元都由自己的線程調度程序和調度系統管理。與 AMD 的流處理器一樣,Alchemist 中所謂的矢量引擎可以處理整數和浮點數據格式。不支持 FP64,但這在游戲中不是什么大問題。
英特爾一直使用相對較窄的 SIMD——Gen11 中使用的 SIMD 僅為 4 寬(即同時處理 4 個線程),而 Gen 12 的寬度僅加倍(例如,在其 Rocket Lake CPU 中使用)。
但考慮到游戲行業已經使用 SIMD32 GPU 多年,因此游戲也進行了相應的編碼,因此保留狹窄執行塊的決定似乎會適得其反。
AMD 的 RDNA 3 和 Nvidia 的 Ada Lovelace 的處理塊可以在一個周期內發出 64 或 32 個線程,而英特爾的架構需要 4 個周期才能在一個 VE 上實現相同的結果,因此每個 XEC 有 16 個 SIMD 單元。
然而,這意味著如果游戲的編碼方式不能確保 VE 被完全占用,SIMD 和相關資源(緩存、帶寬等)將處于閑置狀態。英特爾Arc 系列顯卡的基準測試結果的一個共同主題是,它們往往在更高的分辨率和/或具有大量復雜的現代著色器例程的游戲中表現更好。
這在一定程度上是由于單位細分和資源共享程度較高。Chips and Cheese網站的微基準分析表明,盡管擁有豐富的 ALU,該架構仍難以實現適當的利用。
轉到 XEC 的其他方面,尚不清楚 0 級指令緩存有多大,但 AMD 的指令緩存是 4 路(因為它服務于四個 SIMD 塊),而 Intel 的緩存必須是 16 路,這增加了復雜性緩存系統的。
英特爾還選擇為處理器提供用于矩陣運算的專用單元,每個向量引擎對應一個單元。擁有如此多的單元意味著芯片的很大一部分專門用于處理矩陣數學。
AMD 使用 DCU 的 SIMD 單元來完成此操作,而 Nvidia 每個 SM 有四個相對較大的張量/矩陣單元,而英特爾的方法似乎有點過分,因為他們有一個單獨的架構,稱為 X e-HP,用于計算應用程序。
另一個奇怪的設計似乎是處理塊中的加載/存儲(LD/ST)單元。我們的圖表中未顯示,它們管理來自線程的內存指令,在寄存器文件和 L1 緩存之間移動數據。Ada Lovelace 與 Ampere 相同,每個 SM 分區有 4 個,總共 16 個。RDNA 3 也與其前身相同,每個 CU 都有專用的 LD/ST 電路作為紋理單元的一部分。
英特爾的 Xe-HPG 演示顯示每個 XEC 僅一個 LD/ST,但實際上,它內部可能由更多分立單元組成。然而,在他們的OneAPI優化指南中,一張圖表表明 LD/ST 一次循環一個單獨的寄存器文件。如果是這種情況,那么 Alchemist 將始終難以實現最大緩存帶寬效率,因為并非所有文件都同時得到服務。
三、Nvidia Ada Lovelace
最后一個需要關注的處理模塊是 Nvidia 的流式多處理器(SM:Streaming Multiprocessor ) – DCU/XEC 的 GeForce 版本。這個結構與2018年的圖靈架構相比并沒有太大的改變。事實上,它幾乎與Ampere相同。
一些單元已經過調整以提高其性能或功能集,但在大多數情況下,沒有太多新的東西可以談論。事實上,可能有,但眾所周知,英偉達不愿透露太多有關其芯片的內部操作和規格的信息。英特爾提供了更多細節,但這些信息通常隱藏在其他文檔中。
但總結一下結構,SM 分為四個分區。每個處理器都有自己的 L0 指令緩存、線程調度程序和分派單元,以及與 SIMD32 處理器配對的 64 kB 寄存器文件部分。
正如AMD的RDNA 3一樣,SM支持雙發出指令,其中每個分區可以同時處理兩個線程,一個使用FP32指令,另一個使用FP32或INT32指令。
Nvidia 的 Tensor 核心現已進入第四版,但這一次,唯一顯著的變化是包含了Hopper 芯片中的FP8 Transformer 引擎,原始吞吐量數據保持不變。
低精度浮點格式的加入意味著GPU應該更適合AI訓練模型。Tensor 核心還提供Ampere 的稀疏功能,可提供高達兩倍的吞吐量。
另一個改進在于光流加速器 (OFA:Optical Flow Accelerator) 引擎(圖中未顯示)。該電路生成光流場( optical flow field),用作DLSS算法的一部分。OFA 的安培性能提高了一倍,額外的吞吐量被用在最新版本的臨時抗鋸齒升頻器 DLSS 3 中。
DLSS 3已經面臨相當多的批評,主要集中在兩個方面:DLSS 生成的幀不是“真實的”,并且該過程給渲染鏈增加了額外的延遲。第一個并不是完全無效,因為系統的工作原理是首先讓 GPU 渲染兩個連續的幀,將它們存儲在內存中,然后使用神經網絡算法確定中間幀的樣子。
然后,當前鏈返回到第一個渲染幀并顯示該幀,然后是 DLSS 幀,然后是渲染的第二幀。由于游戲引擎尚未在中幀循環,因此屏幕會在沒有任何潛在輸入的情況下刷新。而且由于需要停止而不是呈現兩個連續的幀,因此為這些幀輪詢的任何輸入也將停止。
DLSS 3 是否會變得流行或普遍還有待觀察。
盡管 Ada 的 SM 與 Ampere 非常相似,但 RT 內核有顯著的變化,我們將很快解決這些變化?,F在我們來總結一下AMD、Intel、Nvidia的GPU重復結構的計算能力。
處理塊比較
我們可以通過查看每個時鐘周期的標準數據格式的操作數量來比較 SM、XEC 和 DCU 的功能。請注意,這些是峰值數字,實際上不一定可以實現。
Nvidia 的數字與 Ampere 相比沒有變化,而 RDNA 3 的數字在某些領域增加了一倍。然而,Alchemist在矩陣運算方面處于另一個水平,盡管應該再次強調這些是峰值理論值的事實。
鑒于英特爾的圖形部門像英偉達一樣嚴重依賴數據中心和計算,因此看到該架構將如此多的芯片空間用于矩陣運算也就不足為奇了。缺乏 FP64 功能并不是問題,因為該數據格式并未真正用于游戲,并且該功能存在于其 X e -HP 架構中。
理論上,在矩陣/張量運算方面,Ada Lovelace 和 Alchemist 比 RDNA 3 更強,但由于我們正在研究主要用于游戲工作負載的 GPU,因此專用單元大多只是為 DLSS 和相關算法提供加速。XeSS——它們使用卷積自動編碼器神經網絡(CAENN)來掃描圖像中的偽影并進行糾正。
AMD 的時間升級器(FidelityFX Super Resolution, FSR))不使用 CAENN,因為它主要基于Lanczos 重采樣方法,然后是通過 DCU 處理的許多圖像校正例程。然而,在RDNA 3 的發布中,簡要介紹了FSR 的下一版本,并引用了一項名為“Fluid Motion Frames”的新功能。FSR 2.0 的性能提升高達兩倍,普遍的共識是這可能涉及幀生成,如 DLSS 3 中那樣,但這是否涉及任何矩陣運算尚不清楚。
適合每個人的光線追蹤
隨著使用 Alchemist 架構的 Arc 顯卡系列的推出,英特爾與 AMD 和 Nvidia 一起提供 GPU,為圖形中使用光線追蹤所涉及的各種算法提供專用加速器。Ada 和 RNDA 3 都包含顯著更新的 RT 單元,因此了解一下新的和不同的內容是有意義的。
從 AMD 開始,其光纖加速器的最大變化是添加硬件以改進包圍體層次結構(BVH:bounding volume hierarchies)的遍歷(traversal)。這些數據結構用于加速確定 3D 世界中光線照射到的表面。
在 RDNA 2 中,所有這些工作都是通過計算單元處理的,并且在某種程度上仍然如此。然而,對于 DXR(微軟的光線追蹤 API)來說,有對光線標志管理的硬件支持。
使用這些可以大大減少需要遍歷 BVH 的次數,從而減少緩存帶寬和計算單元的總體負載。本質上,AMD 專注于提高他們在之前架構中引入的系統的整體效率。
此外,硬件已更新,以改進盒子排序(box sorting,這使得遍歷更快)和剔除算法(culling algorithms,以跳過測試空盒子)。再加上緩存系統的改進,AMD 表示,在相同的時鐘速度下,與 RDNA 2 相比,光線追蹤性能提高了 80%。
然而,這種改進并不能轉化為使用光線追蹤的游戲中每秒幀數增加 80% ,這些情況下的性能受到許多因素的影響,RT 單元的功能只是其中之一。
由于英特爾是光線追蹤技術的新手,因此沒有任何改進。相反,我們只是被告知他們的 RT 單元處理射線和三角形之間的 BVH 遍歷和相交計算。這使得它們比 AMD 的系統更類似于 Nvidia 的系統,但關于它們的信息并不多。
但我們確實知道每個 RT 單元都有一個未指定大小的緩存用于存儲 BVH 數據,以及一個單獨的單元用于分析和排序光線著色器線程,以提高 SIMD 利用率。
每個 XEC 與一個 RT 單元配對,每個渲染切片總共有四個。在游戲中啟用光線追蹤的A770 的一些早期測試表明,無論英特爾采用何種結構,Alchemist 的光線追蹤整體能力至少與 Ampere 芯片一樣好,并且比 RDNA 2 型號稍好一些。
但讓我們再次重申,光線追蹤也給著色核心、緩存系統和內存帶寬帶來了沉重壓力,因此不可能從此類基準測試中提取 RT 單元性能。
對于 Ada Lovelace 架構,Nvidia 做出了許多改變,與 Ampere 相比,其性能提升幅度相當大。據稱,用于射線-三角形相交計算的加速器的吞吐量提高了一倍,并且現在據說非不透明表面的 BVH 遍歷速度提高了一倍。后者對于使用帶有 alpha channel (透明度)的紋理的對象很重要,例如樹上的葉子。
光線擊中此類表面的完全透明部分不應導致擊中結果——光線應直接穿過。然而,為了在當前使用光線追蹤的游戲中準確確定這一點,需要處理多個其他著色器。Nvidia 的新不透明度微貼圖引擎將這些表面分解成更多的三角形,然后確定到底發生了什么,從而減少了所需的光線著色器的數量。
Ada 光線追蹤功能的另外兩個附加功能是減少 BVH 的構建時間和內存占用(聲稱速度分別加快 10 倍和縮小 20 倍),以及為光線著色器重新排序線程的結構,從而提高效率。然而,前者不需要開發人員對軟件進行任何更改,而后者目前只能通過 Nvidia 的 API 訪問,因此對當前的 DirectX 12 游戲沒有任何好處。
當我們測試 GeForce RTX 4090 的光線追蹤性能時,啟用光線追蹤后幀速率的平均下降略低于 45%。使用 Ampere 驅動的 GeForce RTX 3090 Ti 時,下降了 56%。然而,這種改進不能完全歸因于 RT 核心的改進,因為 4090 比以前的型號具有更多的著色吞吐量和緩存。
我們還沒有看到 RDNA 3 的光線追蹤改進會產生什么樣的差異,但值得注意的是,沒有一家 GPU 制造商期望單獨使用 RT – 即仍然需要使用升級來實現高幀速率。
光線追蹤的粉絲可能會有些失望,因為新一輪的圖形處理器在這一領域沒有取得任何重大進展,但自 2018 年 Nvidia 圖靈架構首次出現以來,已經取得了很多進展。
內存:沿著數據高速公路行駛
GPU 處理數據的方式與其他芯片不同,而讓 ALU 保持數據輸入對其性能至關重要。在 PC 圖形處理器的早期,內部幾乎沒有任何緩存,全局內存(整個芯片使用的 RAM)是非常慢的 DRAM。即使就在10年前,情況也沒有好多少。
因此,讓我們從 AMD 新架構中的內存層次結構開始,深入了解當前的情況。自第一次迭代以來,RDNA 使用了復雜的多級內存層次結構。最大的變化發生在一年前,當時 GPU 中添加了大量的 L3 緩存,在某些型號中高達 128MB。
第三輪的情況仍然如此,但有一些微妙的變化。
Nvidia 保留了與 Ampere 中使用的相同的內存結構,每個 SM 具有 128kB 的緩存,充當 L1 數據存儲、共享內存和紋理緩存??捎糜诓煌巧臄盗渴莿討B分配的。目前尚未提及 L1 帶寬的任何變化,但在 Ampere 中,每個 SM 每個時鐘周期為 128 字節。Nvidia 從未明確明確這一數字是累積的、結合讀寫的,還是僅針對一個方向的。
如果 Ada 至少與 Ampere 相同,那么所有 SM 的總 L1 帶寬將達到每個時鐘 18 kB,遠大于 RDNA 2 和 Alchemist。
但必須再次強調的是,這些芯片不具有直接可比性,因為英特爾的芯片是作為中端產品定價和銷售的,而 AMD 已明確表示Navi 31 的設計目的從來不是為了與 Nvidia 的 AD102 競爭。它的競爭對手是 AD103,它比 AD102 小得多。
內存層次結構的最大變化是,在完整的 AD102 芯片中,L2 緩存已增加到 96MB,是其前身 GA102 的 16 倍。與英特爾的系統一樣,L2 進行分區并與 32 位 GDDR6X 內存控制器配對,以實現高達 384 位的 DRAM 總線寬度。
較大的緩存通常比較小的緩存具有更長的延遲,但由于時鐘速度的提高和總線的一些改進,Ada Lovelace 顯示出比 Ampere更好的緩存性能。
如果我們比較所有三個系統,英特爾和 Nvidia 對 L1 緩存采取相同的方法 -——它可以用作只讀數據緩存或計算共享內存。對于后者,需要通過軟件明確指示 GPU 以這種格式使用它,并且數據僅在使用它的線程處于活動狀態時保留。這增加了系統的復雜性,但對計算性能產生了有用的提升。
在 RDNA 3 中,“L1”數據緩存和共享內存被分為兩個 32kB L0 矢量緩存和一個 128kB 本地數據共享。AMD 所謂的 L1 緩存實際上是一組四個 DCU 和 L2 緩存之間用于只讀數據的共享墊腳石(shared stepping stone)。
雖然緩存帶寬沒有 Nvidia 的那么高,但多層方法有助于解決這個問題,尤其是在 DCU 未得到充分利用的情況下。
巨大的處理器范圍的緩存系統通常不是 GPU 的最佳選擇,這就是為什么我們在以前的架構中沒有看到超過 4 或 6MB 的緩存系統,但 AMD、Intel 和 Nvidia 都在最后一層是應對 DRAM 速度增長相對不足的問題。
向 GPU 添加大量內存控制器可以提供充足的帶寬,但代價是芯片尺寸增加和制造費用增加,而 HBM3 等替代方案的使用成本要高得多。
我們還沒有看到 AMD 的系統最終表現如何,但他們在 RDNA 2 中的四層方法在與 Ampere 的對抗中表現良好,并且比英特爾的系統要好得多。然而,隨著 Ada 加入了更多的 L2,競爭不再那么簡單。
芯片封裝和工藝節點:建造的不同方式
AMD、英特爾和 Nvidia 有一個共同點——他們都使用臺積電來制造 GPU。
AMD在Navi 31中的GCD和MCD使用了兩種不同的節點,前者使用N5節點,后者使用N6(N7的增強版本)。英特爾還在其所有 Alchemist 芯片中使用 N6。在 Ampere 中,Nvidia 使用了三星舊的 8nm 工藝,但在 Ada 中,他們轉回臺積電及其 N4 工藝,這是 N5 的變體。
N4 擁有所有節點中最高的晶體管密度和最佳的性能功耗比,但當 AMD 推出 RDNA 3 時,他們強調只有邏輯電路的密度出現了顯著增加。
SRAM(用于高速緩存)和模擬系統(用于存儲器、系統和其他信號電路)微縮相對較小。再加上新工藝節點每晶圓價格的上漲,AMD 決定使用稍舊且更便宜的 N6 來制造 MCD,因為這些小芯片主要是 SRAM 和 I/O。
就芯片尺寸而言,GCD比Navi 21 小 42%,為 300 mm 2。每個 MCD 僅 37mm 2,因此 Navi 31 的組合芯片面積與其前身大致相同。AMD 僅公布了所有小芯片的晶體管總數,但這款新 GPU 數量達到 580 億個,是他們有史以來“最大的”消費類圖形處理器。
為了將每個 MCD 連接到 GCD,AMD 使用了所謂的高性能扇出——密集的走線,占用的空間非常小。Infinity Links(AMD 專有的互連和信號系統)運行速度高達 9.2Gb/s,每個 MCD 的鏈路寬度為 384 位,MCD 到 GCD 的帶寬達到 883GB/s(雙向)。
對于單個 MCD,這相當于高端顯卡的全局內存帶寬。Navi 31 中全部有 6 個,L2 到 MCD 的總帶寬達到 5.3TB/s。
與傳統的單片芯片相比,使用復雜的扇出意味著芯片封裝的成本將會更高,但該工藝是可擴展的——不同的 SKU 可以使用相同的 GCD,但 MCD 的數量不同。較小尺寸的單個小芯片芯片應該會提高晶圓產量,但沒有跡象表明 AMD 是否在 MCD 的設計中納入了任何冗余。
如果沒有,則意味著任何在 SRAM 中存在缺陷的小芯片,這些缺陷會導致內存陣列的該部分無法使用,那么它們將必須被分類用于低端型號 SKU,或者根本不使用。
AMD 迄今為止僅發布了兩款 RDNA 3 顯卡(Radeon RX 7900 XT 和 XTX),但在這兩種型號中,MCD 均具有 16MB 緩存。如果下一輪 Radeon 卡配備 256 位內存總線和 64MB L3 緩存,那么它們也需要使用“完美”的 16MB 芯片。
然而,由于它們的面積非常小,單個 300mm 晶圓可能會產生超過 1500 個 MCD。即使其中 50% 必須報廢,這仍然足以提供 125 個 Navi 31 封裝。
我們還需要一段時間才能知道 AMD 的設計實際上具有多大的成本效益,但該公司現在和將來都完全致力于使用這種方法,盡管僅限于更大的 GPU。預算 RNDA 3 模型的緩存量要少得多,將繼續使用單片制造方法,因為這種制造方法更具成本效益。
英特爾的ACM-G10處理器尺寸為406mm 2,晶體管總數為217億個,在組件數量和芯片面積方面介于AMD的Navi 21和Nvidia的GA104之間。
這實際上使它成為一個相當大的處理器,這就是為什么英特爾選擇 GPU 的市場領域似乎有些奇怪的原因。Arc A770顯卡采用完整的 ACM-G10 芯片,與 Nvidia 的 GeForce RTX 3060等顯卡進行競爭,后者使用的芯片尺寸和晶體管數量只有英特爾一半。
那么為什么它這么大呢?可能的原因有兩個:16MB 的二級緩存和每個 XEC 中的矩陣單元數量非常多。采用前者的決定是合乎邏輯的,因為它減輕了全局內存帶寬的壓力,但后者很容易被認為對其銷售的領域來說是過多的。RTX 3060 有 112 個 Tensor 核心,而 A770 有 512 個 XMX單元。
英特爾的另一個奇怪的選擇是使用臺積電 N6 來制造 Alchemist 芯片,而不是他們自己的工廠。關于此事的官方聲明引用了成本、晶圓廠產能和芯片工作頻率等因素。
這表明英特爾的同等生產設施(使用更名后的intel 7節點)將無法滿足預期需求,其Alder和Raptor Lake CPU占據了大部分產能。
他們會將 CPU 輸出的相對下降以及這對收入的影響與使用 Alchemist 獲得的收益進行比較。簡而言之,最好付錢給臺積電制造新的 GPU。
AMD 利用其多芯片專業知識并開發了用于制造大型 RDNA 3 GPU 的新技術,而 Nvidia 則堅持 Ada 系列的單片設計。GPU 公司在制造超大型處理器方面擁有豐富的經驗,但 608mm2 的AD102 并不是其發布的物理上最大的芯片(這一榮譽頒給了826mm2的GA100)。然而,Nvidia 擁有 763 億個晶體管,其組件數量遠遠領先于迄今為止任何消費級 GPU。
相比之下,GeForce RTX 3080 及更高版本中使用的 GA102 顯得輕量級,只有 268 億。這 187% 的增長得益于 SM 數量的 71% 增長和 L2 緩存數量的 1500% 的提升。
如此大而復雜的芯片總是難以實現完美的晶圓良率,這就是為什么之前的高端 Nvidia GPU 催生了眾多 SKU。通常,隨著新架構的推出,他們的專業顯卡系列(例如 A 系列、Tesla 等)首先發布。
當 Ampere 發布時,GA102 出現在兩款消費級卡中,并最終在 14 種不同的產品中找到了應用。到目前為止,Nvidia 僅選擇在兩款產品中使用 AD102:GeForce RTX 4090和RTX 6000。不過,后者自 9 月份出現以來一直無法購買。
RTX 4090 使用的芯片更接近分箱過程,禁用了 16 個 SM 和 24MB 二級緩存,而 RTX 6000 僅禁用了兩個 SM。這就讓人不禁要問:剩下的die在哪里?
但由于沒有其他產品使用 AD102,我們只能假設 Nvidia 正在儲備它們,盡管其他產品的用途尚不清楚。
GeForce RTX 4080使用 AD103,其尺寸為 379mm2和 459 億個晶體管,與它的大哥完全不同——更小的芯片(80 個 SM、64MB 二級緩存)應該會帶來更好的產量,但同樣只有一種產品使用它。
他們還發布了另一款 RTX 4080,其中一款使用了較小的 AD104,但由于收到的批評而取消了發布。預計這款 GPU 現在將用于推出RTX 4070 系列。
Nvidia 顯然擁有大量基于 Ada 架構構建的 GPU,但似乎也非常不愿意發貨。造成這種情況的原因之一可能是他們正在等待安培驅動的顯卡上架;另一個事實是,它主導了一般用戶和工作站市場,并且可能認為它現在不需要提供任何其他東西。
但考慮到 AD102 和 103 提供的原始計算能力有了顯著提高,Ada 專業卡的數量如此之少就有些令人費解了——該行業總是渴望更多的處理能力。
Superstar DJs: 顯示和媒體引擎
當談到 GPU 的媒體和顯示引擎時,與 DirectX 12 功能或晶體管數量等方面相比,它們通常采用幕后營銷方法。但隨著游戲流媒體行業產生數十億美元的收入,我們開始看到更多的努力來開發和推廣新的顯示功能。
對于 RDNA 3,AMD 更新了許多組件,最值得注意的是對 DisplayPort 2.1 和 HDMI 2.1a 的支持。鑒于監督 DisplayPort 規范的組織 VESA在 2022 年底才發布 2.1 版本,GPU 供應商如此迅速地采用該系統是一個不尋常的舉動。
新顯示引擎支持的最快 DP 傳輸模式是 UHBR13.5,最大 4 通道傳輸速率為 54 Gbps。對于標準時序下 4K 分辨率、144Hz 刷新率、無任何壓縮的情況來說,這已經足夠了。
使用 DSC(顯示流壓縮:Display Stream Compression),DP2.1 連接允許高達 4K@480Hz 或 8K@165Hz - 比 RDNA 2 中使用的 DP1.4a 有了顯著改進。
英特爾的 Alchemist 架構采用具有 DP 2.0(UHBR10,40 Gbps)和 HDMI 2.1 輸出的顯示引擎,盡管并非所有使用該芯片的 Arc 系列顯卡都可以利用最大功能。
雖然ACM-G10并不針對高分辨率游戲,但采用最新的顯示連接規格意味著可以在沒有任何壓縮的情況下使用電子競技顯示器(例如1080p、360Hz)。該芯片可能無法在此類游戲中呈現如此高的幀速率,但至少顯示引擎可以。
AMD 和英特爾對 DP 和 HDMI 中快速傳輸模式的支持正是您對全新架構的期望,因此 Nvidia 選擇不對 Ada Lovelace 這樣做有點不協調。
AD102 對于所有晶體管(幾乎與 Navi 31 和 ACM-G10 加在一起相同)僅具有具有 DP1.4a 和 HDMI 2.1 輸出的顯示引擎。對于 DSC,前者對于 4K@144Hz 來說已經足夠好了,但是當競爭對手支持不壓縮的情況下,這顯然是錯失機會。
GPU 中的媒體引擎負責視頻流的編碼和解碼,所有三個供應商在其最新架構中都擁有豐富的功能集。
在 RDNA 3 中,AMD 添加了針對 AV1 格式的完整同步編碼/解碼(僅在之前的 RDNA 2 中進行解碼)。關于新媒體引擎的信息并不多,只是它可以同時處理兩個 H.264/H.265 流,并且 AV1 的最大速率為 8K@60Hz。AMD 還簡要提到了“AI 增強”視頻解碼,但沒有提供更多細節。
英特爾的 ACM-G10 具有類似的功能范圍,可用于 AV1、H.264 和 H.265 的編碼/解碼,但與 RDNA 3 一樣,細節非常少。對 Arc 桌面顯卡中的首批 Alchemist 芯片的一些早期測試表明,媒體引擎至少與 AMD 和 Nvidia 在其先前架構中提供的媒體引擎一樣好。
Ada Lovelace 也采用了 AV1 編碼和解碼,Nvidia 聲稱新系統的編碼效率比 H.264 高 40%,表面上看,使用新格式時視頻質量提高了 40%。
高端 GeForce RTX 40 系列顯卡將配備配備兩個 NVENC 編碼器的 GPU,您可以選擇以 60Hz 編碼 8K HDR,或改進視頻導出的并行化,每個編碼器同時處理半幀。
GPU 的下一步是什么?
桌面 GPU 市場上已經有三個供應商了,很明顯,每個供應商都有自己的圖形處理器設計方法,盡管英特爾和 Nvidia 也采取了類似的思維方式。
對于他們來說,Ada 和 Alchemist 在某種程度上是萬事通,可用于各種游戲、科學、媒體和數據工作負載。ACM-G10 中對矩陣和張量計算的高度重視以及不愿完全重新設計其 GPU 布局表明英特爾更傾向于科學和數據,而不是游戲,但考慮到這些領域的潛在增長,這是可以理解的。
對于最后三種架構,Nvidia 專注于改進已經很好的架構,并減少整體設計中的各種瓶頸,例如內部帶寬和延遲。雖然 Ada 是對 Ampere 的自然改進(Nvidia 多年來一直遵循這一主題),但當你觀察晶體管數量的絕對規模時,AD102 卻顯得異常進化。
與 GA102 相比,差異非常顯著,但這種巨大的飛躍引發了許多問題。首先,對于 Nvidia 的最高端消費產品來說,AD103 是否是比 AD102 更好的選擇?
與 RTX 4080 中使用的 AD103 相比,AD103 的性能比 RTX 3090 有了相當大的改進,并且與它的大哥一樣,64MB 的二級緩存有助于抵消相對較窄的 256 位全局內存總線寬度。它的尺寸為 379mm2,比 GeForce RTX 3070 中使用的 GA104 小,因此制造利潤比 AD102 高得多。它還包含與 GA102 相同數量的 SM,并且該芯片最終在 15 種不同的產品中得到了應用。
另一個值得問的問題是,Nvidia 在架構和制造方面將走向何方?他們能否在仍堅持使用單片芯片的情況下實現類似的縮放水平?
AMD 對 RDNA 3 的選擇凸顯了競爭的潛在路線。通過將芯片中規模最差的部分(在新工藝節點中)轉移到單獨的小芯片中,AMD 已經能夠成功地延續 RDNA 和 RDNA 2 之間的大型制造和設計飛躍。
雖然它不像 Nvidia 的 AD102 那么大,但 AMD Navi 31 的硅片價值仍然高達 580 億個晶體管,是 Navi 21 的兩倍多,也是我們最初的 RDNA GPU Navi 10 的 5 倍多(盡管這不是 Navi 21 的兩倍)。
AMD 和 Nvidia 的成就并不是孤立取得的。GPU 晶體管數量如此大幅增加的唯一原因是臺積電和三星之間作為半導體設備主要制造商的激烈競爭。兩者都致力于提高邏輯電路的晶體管密度,同時繼續降低功耗。臺積電對于當前的節點改進及其下一步的主要工藝有明確的路線圖。
目前尚不清楚 Nvidia 是否會效仿 AMD 的做法,并在 Ada 的繼任者中采用小芯片布局,但接下來的一兩年可能會起到決定性作用。如果 RDNA 3 被證明在財務上取得了成功,無論是在收入還是總出貨量方面,那么 Nvidia 很可能會效仿。
然而,第一個使用 Ampere 架構的芯片是 GA100——一款數據中心 GPU,尺寸為829mm2 ,擁有 542 億個晶體管。它由 TSMC 使用其 N7 節點制造(與 RDNA 和大多數 RDNA 2 系列相同)。使用 N4 來制造 AD102,使得 Nvidia 能夠設計出晶體管密度幾乎是其前身的兩倍的 GPU。
在下一個架構中使用 N2 可以實現這一目標嗎?有可能,但緩存的大幅增長(擴展性非常差)表明,即使臺積電在未來的節點上取得了一些引人注目的成績,控制 GPU 大小也將變得越來越困難。
英特爾已經在使用小芯片,但僅限于其巨大的Ponte Vecchio數據中心 GPU。由47塊不同的tiles組成,當中有些是臺積電制造的,有些是英特爾自己制造的,其參數相當高。例如,完整的雙 GPU 配置擁有超過 1000 億個晶體管,這使得 AMD 的 Navi 31 看起來非?!靶 ?。當然,它不適用于任何類型的臺式電腦,嚴格來說也“不僅僅是”GPU——這是一個數據中心處理器,重點關注矩陣和張量工作負載。
在轉向“Xe Next”之前,其 Xe-HPG 架構至少還要進行兩次修訂,我們很可能會在英特爾消費類顯卡中看到平鋪的使用。
不過,目前,我們將讓 Ada 和 Alchemist 使用傳統的單片芯片,而 AMD 則將混合芯片系統用于中高端卡,并為其預算 SKU 使用單芯片。
到本世紀末,我們可能會看到幾乎所有類型的圖形處理器,它們都是由精選的不同tile和小芯片構建而成,全部使用各種工藝節點制成。GPU 仍然是臺式電腦中最引人注目的工程壯舉之一——晶體管數量沒有顯示出增長放緩的跡象,而今天普通顯卡的計算能力在大約 10 年前只能是夢想。
讓我們進入下一場三向架構之戰吧!
-
英特爾
+關注
關注
61文章
9968瀏覽量
171805 -
gpu
+關注
關注
28文章
4741瀏覽量
128963 -
圖形處理器
+關注
關注
0文章
198瀏覽量
25559
原文標題:GPU巨頭,拼什么?
文章出處:【微信號:wc_ysj,微信公眾號:旺材芯片】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論