Nvidia 的 RTX 4090 采用 Nvidia 的最新架構(gòu),以早期計(jì)算先驅(qū)Ada Lovelace的名字命名。與之前的架構(gòu) Ampere 相比,Ada Lovelace 享有制程節(jié)點(diǎn)優(yōu)勢(shì),使用臺(tái)積電為 GPU 定制的 4 納米制程。Nvidia 還強(qiáng)調(diào)了光線追蹤性能,以及旨在彌補(bǔ)啟用光線追蹤對(duì)性能造成的巨大影響的技術(shù)。但光線追蹤性能并不是唯一重要的事情,因?yàn)橛泻芏嘤螒蚋静恢С止饩€追蹤。此外,大多數(shù)使用光線追蹤的游戲僅使用它來(lái)渲染某些效果;傳統(tǒng)的光柵化仍然負(fù)責(zé)渲染大部分場(chǎng)景。
我還覺(jué)得對(duì)光線追蹤的關(guān)注掩蓋了 Nvidia 工程師為提高其他領(lǐng)域的性能所做的工作。在本文中,我們將使用一組正在進(jìn)行的微基準(zhǔn)測(cè)試來(lái)研究 Nvidia 的 Ada Lovelace 架構(gòu)。我們將關(guān)注影響各種工作負(fù)載性能的領(lǐng)域,無(wú)論是否有光線追蹤,特別強(qiáng)調(diào)緩存和內(nèi)存子系統(tǒng)。
特別感謝Skyjuice在 RTX 4090 上運(yùn)行測(cè)試。
GPU 概覽
SM 或流式多處理器構(gòu)成了 Nvidia GPU 的基本構(gòu)建塊。它們與 AMD 的 RDNA 和 RDNA 2 架構(gòu)上的 WGP 或工作組處理器大致相當(dāng)。SM 和 WGP 都具有 128 個(gè) FP32 通道(或著色器,如果您愿意的話),并進(jìn)一步分為四個(gè)塊,每個(gè)塊有 32 個(gè)通道。Ampere 最大的客戶端芯片 GA102 已經(jīng)非常龐大。
GA102 框圖,來(lái)自 Nvidia 的白皮書(shū) Ada Lovelace 表面上與 Ampere 相似,每個(gè) SM 具有相似的計(jì)算特性。然而,它已經(jīng)通過(guò)roof擴(kuò)大了規(guī)模。AD102 有 144 個(gè) SM,而 GA102 有 84 個(gè),代表 SM 數(shù)量增加了 71%。RTX 4090 僅啟用了 128 個(gè) SM,但這仍然代表了 52% 的增長(zhǎng)。將其與較大的時(shí)鐘速度提升相結(jié)合,我們正在研究計(jì)算能力的巨大飛躍。
AD102 框圖,來(lái)自 Nvidia 的白皮書(shū) 但擴(kuò)大 GPU 的規(guī)模不僅僅是復(fù)制和粘貼工作。GPU 往往需要來(lái)自?xún)?nèi)存子系統(tǒng)的大量帶寬,所有這些額外的 SM 都必須以某種方式提供。讓我們轉(zhuǎn)向我們正在進(jìn)行的微基準(zhǔn)測(cè)試,看看 Ada Lovelace 的內(nèi)存層次結(jié)構(gòu)。
緩存和內(nèi)存延遲
我們正在啟動(dòng)緩存和內(nèi)存延遲基準(zhǔn)測(cè)試,因?yàn)檫@將使我們對(duì)緩存設(shè)置有一個(gè)很好的了解。 與 Ampere 一樣,Ada Lovelace 堅(jiān)持使用經(jīng)過(guò)驗(yàn)證的真正的兩級(jí)緩存方案。Nvidia 最近的兩種架構(gòu)都為每個(gè) SM 提供了一個(gè)大型 L1 緩存,但 Ada Lovelace 大大擴(kuò)展了 L2 緩存。Ampere 具有傳統(tǒng)大小的 6 MB L2,但 AD102 包含 96 MB L2。RTX 4090 啟用了 72 MB 的二級(jí)緩存。從 Ampere 到 Ada Lovelace,Nvidia 沒(méi)有享受到顯著的 VRAM 帶寬增加,因此 Ada 的 L2 獲得了巨大的容量提升,以防止隨著計(jì)算容量的擴(kuò)大而出現(xiàn)內(nèi)存帶寬瓶頸。 AMD 的 RDNA 2 架構(gòu)選擇了復(fù)雜的四級(jí)緩存系統(tǒng),具有三級(jí)共享緩存。每個(gè)著色器陣列中有一個(gè) 128 KB 的 L1 來(lái)吸收來(lái)自相對(duì)較小 (16KB) 的 L0 緩存的緩存未命中流量。L2 的作用可與 Ampere 的 L2 相媲美,而大型 Infinity Cache 可幫助 AMD 通過(guò)更便宜(且功耗更低)的 VRAM 子系統(tǒng)實(shí)現(xiàn)高性能。
有趣的是,英特爾的 A770 的 L2 延遲與 RTX 4090 相似 Ada Lovelace 的緩存子系統(tǒng)具有令人印象深刻的延遲特性。第一級(jí) SM 私有緩存看起來(lái)與 Ampere 的相似,但 Ada Lovelace 的更高時(shí)鐘速度使其具有整體延遲優(yōu)勢(shì)。但 L2 是樂(lè)趣的開(kāi)始。盡管容量比 Ampere 的 L2 增加了 12 倍,但 Nvidia 還是設(shè)法將延遲降低了大約 30 ns。Ampere 的 L2 在延遲方面接近 AMD 的 Infinity Cache,但 Ada Lovelace 的 L2 現(xiàn)在在容量和延遲方面位于 RDNA2 的 L2 和 Infinity Cache 之間。 與 Ampere 相比,RDNA 2 的緩存子系統(tǒng)看起來(lái)很有競(jìng)爭(zhēng)力。這兩個(gè)交易在小測(cè)試規(guī)模上受到打擊,而 AMD 在 L2 規(guī)模及以上區(qū)域具有明顯優(yōu)勢(shì)。Ada Lovelace 改變了這一點(diǎn),隨著測(cè)試規(guī)模從 AMD 的 L2 溢出,Nvidia 現(xiàn)在享有明顯的優(yōu)勢(shì)。Ada Lovelace 的內(nèi)存延遲也有所下降,盡管這在很大程度上可能是由于更好的 L2 性能,因?yàn)楸仨氃谕ㄍ鶅?nèi)存的路上檢查 L2。 隨著 Ada Lovelace 改進(jìn) L2,AMD 發(fā)現(xiàn)自己處于一個(gè)不舒服的位置,Nvidia 使用單級(jí)緩存來(lái)填補(bǔ) AMD 的 L2 和 Infinity Cache 的角色。更少的緩存級(jí)別意味著更低的復(fù)雜性,以及更少的潛在標(biāo)簽和每次內(nèi)存訪問(wèn)的狀態(tài)檢查。當(dāng)然,更多的緩存級(jí)別意味著在容量、延遲和帶寬權(quán)衡方面具有更大的靈活性。RDNA 2 與 Ampere 相比無(wú)疑證明了這一點(diǎn),它具有更快的 L2 緩存和更大的 Infinity Cache,幾乎與 Ampere 的 L2 一樣快。但艾達(dá)洛夫萊斯是一個(gè)不同的故事。
帶寬
延遲是影響 GPU 性能的一個(gè)因素,但帶寬也是一個(gè)因素,而且 GPU 往往比 CPU 更需要帶寬。首先,我們將使用單個(gè) OpenCL 工作組測(cè)試帶寬。屬于同一工作組的線程能夠共享本地內(nèi)存,這意味著它們將被限制在單個(gè) WGP 或 SM 上運(yùn)行。這是我們可以得到的最接近 GPU 單核帶寬測(cè)試的結(jié)果。
一旦我們進(jìn)入 L2 及更高級(jí)別,RDNA 2 WGP 就比 Ampere SM 享有良好的帶寬優(yōu)勢(shì)。Ada Lovelace 并沒(méi)有改變這一點(diǎn),但 L2 帶寬確實(shí)比 Ampere 有所提高。再次,我們看到 Nvidia 的工程師在 L2 上做得非常出色。在 AMD 方面,我們開(kāi)始看到 RDNA 2 非常擅長(zhǎng)處理低占用工作負(fù)載的跡象。讓我們?cè)黾庸ぷ鹘M數(shù)量來(lái)測(cè)試擴(kuò)展,看看這種優(yōu)勢(shì)能持續(xù)多久。
帶寬擴(kuò)展
共享緩存設(shè)計(jì)很難,尤其是在 GPU 中,因?yàn)榫彺姹仨氝B接到大量客戶端并滿足它們的帶寬需求。在這里,我們正在使用越來(lái)越多的工作組來(lái)測(cè)試帶寬。和以前一樣,每個(gè)工作組都必須使用單個(gè) WGP 或 SM,因此我們看到共享緩存可以應(yīng)對(duì)更多 WGP 和 SM 發(fā)揮作用并開(kāi)始要求帶寬的能力。 Ada Lovelace 是對(duì) Ampere 的明顯改進(jìn),并且在匹配的工作組數(shù)量下實(shí)現(xiàn)了更高的帶寬。使用 RTX 4090 的所有 SM 時(shí),我們看到了驚人的 5 TB/s 帶寬——幾乎是使用 RTX 3090 的 84 個(gè) SM 時(shí)看到的兩倍。Nvidia 成功地?cái)U(kuò)大了 L2 容量,同時(shí)也擴(kuò)大了帶寬以支持大量 SM,這是一項(xiàng)了不起的成就。Ada Lovelace 在低入住率的情況下超越 Ampere 的能力是錦上添花。
AMD 在小型工作負(fù)載方面仍然具有優(yōu)勢(shì)。RDNA 2 的 L2 在擴(kuò)展方面尤其令人印象深刻,可以處理 40 個(gè) WGP,要求最大帶寬,而不會(huì)出現(xiàn)爭(zhēng)用問(wèn)題。大型 Infinity Cache 也表現(xiàn)不錯(cuò),在low occupancy.的情況下?lián)魯×?Ampere 和 Ada Lovelace。但與我們?cè)谟⑻貭柕?Arc A770 上看到的不同,英偉達(dá)也不甘落后。 更重要的是,Ada Lovelace 在低占用率下的性能提升意味著 RDNA 2 失去優(yōu)勢(shì)的速度比對(duì)抗 Ampere 的速度更快。由于有超過(guò) 24 個(gè)工作組在運(yùn)行,Ada Lovelace 的 SM 可以從 L2 提取比 RDNA 2 的 WGP 從 Infinity Cache 獲得的更多帶寬。RDNA 2 的 L2 帶寬優(yōu)勢(shì)一直持續(xù)到 Nvidia 擁有超過(guò) 50 個(gè) SM。但是 RDNA 2 和 Ada Lovelace 之間的 L2 比較就不那么簡(jiǎn)單了,因?yàn)?L2 容量不再像 RDNA 2 和 Ampere 那樣處于同一個(gè)范圍內(nèi)。在高入住率下,Ampere 比 RDNA 2 具有相當(dāng)大的優(yōu)勢(shì),但 Ada Lovelace 更進(jìn)一步。RDNA 2 的 L2 和 Infinity Cache 與 Lovelace 的 L2 相比都處于明顯劣勢(shì)。 接下來(lái),讓我們看看當(dāng)測(cè)試大小大到足以溢出緩存時(shí)會(huì)發(fā)生什么。
我們測(cè)量的 RTX 4090 在高占用率下的理論帶寬高于理論帶寬,這可能是因?yàn)橐恍┲貜?fù)讀取被合并并廣播到多個(gè) SM。我有沒(méi)有提到 GPU 測(cè)試很難? Ada Lovelace 的擴(kuò)展速度不如 Ampere,但這種優(yōu)勢(shì)并不是特別重要,因?yàn)?Ada Lovelace 應(yīng)該為 L2 之外的更多內(nèi)存訪問(wèn)提供服務(wù)。VRAM 帶寬也沒(méi)有比 Ampere 顯著增加,但兩張 Nvidia 卡的絕對(duì)帶寬仍然很大。從角度來(lái)看,它們的理論顯存帶寬幾乎與 AMD 的 Radeon VII 一樣多,后者具有基于 HBM2 的顯存子系統(tǒng)。 AMD 的 RDNA 2 在低占用率下再次享有帶寬優(yōu)勢(shì),但 Nvidia 最近的架構(gòu)為大型工作負(fù)載提供了更多的 VRAM 帶寬。AMD 也更依賴(lài)于他們的 Infinity Cache,因?yàn)樗麄兊?VRAM 帶寬在加載十幾個(gè) WGP 后停止擴(kuò)展。 最后,讓我們測(cè)試 512 個(gè)工作組在高占用率下的帶寬。這應(yīng)該讓每個(gè) SM 或 WGP 有多個(gè)工作組可供使用,每個(gè)工作組中都有大量的并行性。
使用Nemes的基于 Vulkan 的帶寬測(cè)試獲得的 RTX 3090 結(jié)果。與此處的 OpenCL 結(jié)果不直接可比較,但無(wú)論如何都提供了上下文 由于 RTX 4090 的高時(shí)鐘速度和瘋狂的 SM 數(shù)量,Ada Lovelace 的 L1 帶寬突破了roof并破壞了該圖表上的比例。L2 緩存帶寬也不是開(kāi)玩笑的,它比 Ampere 的帶寬有了很大的改進(jìn)。即使 RDNA 2 可以為 L2 或 Infinity Cache 的內(nèi)存訪問(wèn)提供服務(wù),RDNA 2 也難以與之競(jìng)爭(zhēng)。AMD 確實(shí)為他們完成了工作。
本地內(nèi)存延遲
在 GPU 上,本地內(nèi)存是一小塊暫存器內(nèi)存,由工作組中的所有線程共享,并且在工作組之外無(wú)法訪問(wèn)。軟件必須明確地將數(shù)據(jù)加載到本地內(nèi)存中,一旦工作組完成執(zhí)行,本地內(nèi)存內(nèi)容就會(huì)消失。這使得本地內(nèi)存更難使用,但作為交換,本地內(nèi)存通常比普通的全局內(nèi)存子系統(tǒng)提供更快和更一致的性能。本地內(nèi)存的一種用途是在光線追蹤時(shí)存儲(chǔ) BVH 遍歷堆棧。 Nvidia 將本地內(nèi)存稱(chēng)為“共享內(nèi)存”,而 AMD 將其稱(chēng)為“本地?cái)?shù)據(jù)共享”或 LDS。
*由于時(shí)鐘斜坡非常緩慢,Nvidia Xavier 的測(cè)量可能不準(zhǔn)確 與 Ampere 相比,Ada Lovelace 在本地內(nèi)存延遲方面提供了不錯(cuò)的改進(jìn),從而擴(kuò)大了 Nvidia 在 RDNA 2 上的領(lǐng)先優(yōu)勢(shì)。這里需要注意的是,Nvidia 的兩種架構(gòu)都使用單個(gè) 128 KB 的 SRAM 塊作為 L1 緩存和本地內(nèi)存。該架構(gòu)可以通過(guò)改變標(biāo)記 SRAM 的數(shù)量來(lái)提供 L1 高速緩存和本地內(nèi)存大小的不同組合。相比之下,AMD 為每個(gè) CU(WGP 的一半)使用 16 KB 的專(zhuān)用 L0 矢量緩存,以及 128 KB 的專(zhuān)用本地內(nèi)存。這意味著 Nvidia 在實(shí)踐中將擁有更少的本地內(nèi)存容量。
計(jì)算
試圖確定每個(gè)周期、每個(gè) WGP 的吞吐量數(shù)據(jù)是一種令人沮喪的練習(xí),因?yàn)楹茈y確定 GPU 運(yùn)行的時(shí)鐘速度。我們還需要調(diào)查 Nvidia 的 Ampere 和 Ada Lovelace 架構(gòu)是否在我們的指令速率測(cè)試中做了一些奇怪的事情,這很難,因?yàn)槲乙膊粨碛小? 至少據(jù)我們所知,Ada Lovelace 的表現(xiàn)很像 Ampere。常見(jiàn) FP32 操作(如加法和融合乘法加法)的延遲保持在 4 個(gè)周期。用于比較的 RDNA 2 對(duì)這些操作有 5 個(gè)周期延遲。 總結(jié)各種操作的吞吐量特征:
RDNA 2 還以雙倍速率執(zhí)行 FP16 操作。根據(jù) Ada 白皮書(shū),Ampere 和 Ada Lovelace 可以以 1:1 的速率執(zhí)行 FP16,但我們無(wú)法驗(yàn)證這一點(diǎn),因?yàn)?Nvidia 卡都不支持 OpenCL 的 FP16 擴(kuò)展。
Atomics延遲
與 CPU 非常相似,現(xiàn)代 GPU 支持原子操作以允許線程之間的同步。OpenCL 通過(guò) atomic_cmpxchg 內(nèi)在函數(shù)公開(kāi)這些原子操作。這是我們可以在 GPU 上進(jìn)行的最接近內(nèi)核到內(nèi)核延遲測(cè)試的方法。跟游戲有關(guān)系嗎?可能不會(huì),因?yàn)槲覐奈匆?jiàn)過(guò)在游戲著色器代碼中使用這些指令。但是測(cè)試有趣嗎?是的。 與 CPU 不同,GPU 具有不同的atomic指令來(lái)處理本地和全局內(nèi)存。本地內(nèi)存(共享內(nèi)存或 LDS)上的原子應(yīng)該完全包含在 SM 或 WGP 中,因此應(yīng)該比全局內(nèi)存上的原子快得多。如果我們想稍微擴(kuò)展一下,本地內(nèi)存上的原子延遲大致相當(dāng)于測(cè)量 CPU 內(nèi)核上兄弟 SMT 線程之間的內(nèi)核到內(nèi)核延遲。
Ada Lovelace 在這里提供了對(duì) Ampere 的增量改進(jìn),這在很大程度上可能是由于更高的時(shí)鐘速度。AMD 的 RDNA 2 在這項(xiàng)測(cè)試中表現(xiàn)非常出色。從絕對(duì)意義上說(shuō),有趣的是 GPU 上的“核心到核心”延遲如何與 Ryzen CPU 上的跨 CCX 訪問(wèn)相媲美。
最后的話
審核編輯 :李倩
-
處理器
+關(guān)注
關(guān)注
68文章
19833瀏覽量
233892 -
gpu
+關(guān)注
關(guān)注
28文章
4921瀏覽量
130796 -
英偉達(dá)
+關(guān)注
關(guān)注
22文章
3926瀏覽量
93256
原文標(biāo)題:英偉達(dá)最新GPU架構(gòu),深度解讀!
文章出處:【微信號(hào):芯長(zhǎng)征科技,微信公眾號(hào):芯長(zhǎng)征科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
使用NVIDIA Triton和TensorRT-LLM部署TTS應(yīng)用的最佳實(shí)踐

革命性神經(jīng)形態(tài)微控制器 ?**Pulsar**? 的深度技術(shù)解讀

瑞薩365 深度解讀

GPU架構(gòu)深度解析

ARM Mali GPU 深度解讀
Arm 公司面向 PC 市場(chǎng)的 ?Arm Niva? 深度解讀
Arm 公司面向移動(dòng)端市場(chǎng)的 ?Arm Lumex? 深度解讀
Arm 公司面向汽車(chē)市場(chǎng)的 ?Arm Zena? 深度解讀
NVIDIA NVLink 深度解析
NVIDIA Blackwell數(shù)據(jù)手冊(cè)與NVIDIA Blackwell架構(gòu)技術(shù)解析
NVIDIA RTX 5880 Ada顯卡部署DeepSeek-R1模型實(shí)測(cè)報(bào)告

評(píng)論