chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么GPU獲得了如此多的緩存?

旺材芯片 ? 來(lái)源:半導(dǎo)體行業(yè)觀察 ? 2023-10-07 17:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

不久之前,如果您想要一個(gè)內(nèi)置大量緩存的處理器,那么 CPU 是顯而易見(jiàn)的選擇?,F(xiàn)在,即使是預(yù)算級(jí) GPU 也比幾年前的高端 CPU 配備了更多的內(nèi)存。

那么,什么改變了呢?為什么圖形芯片突然需要比通用中央處理器更多的緩存??jī)烧咧g的專(zhuān)用內(nèi)存是否不同?我們將來(lái)會(huì)看到 GPU 擁有千兆字節(jié)的緩存嗎?

為了回答這些問(wèn)題,我們需要深入了解最新芯片的內(nèi)部結(jié)構(gòu),觀察這些年來(lái)的變化。

TL;DR:為什么 GPU 獲得了如此多的緩存?

由于 GPU 現(xiàn)在不僅用于圖形,還用于各種應(yīng)用程序,因此低級(jí)數(shù)據(jù)緩存的大小不斷增大。為了提高通用計(jì)算能力,圖形芯片需要更大的緩存。這確保沒(méi)有數(shù)學(xué)核心閑置等待數(shù)據(jù)。

末級(jí)緩存已大幅擴(kuò)展,以抵消 DRAM 性能未能跟上處理器性能進(jìn)步的事實(shí)。大量的 L2 或 L3 高速緩存可減少高速緩存未命中。這還可以防止內(nèi)核閑置,并最大限度地減少對(duì)非常寬的內(nèi)存總線(xiàn)的需求。

此外,渲染技術(shù)(尤其是光線(xiàn)追蹤)的進(jìn)步對(duì) GPU 的緩存層次結(jié)構(gòu)提出了巨大的要求。大型末級(jí)緩存對(duì)于確保使用這些技術(shù)時(shí)的游戲性能保持可玩性至關(guān)重要。

緩存課程 101

要全面討論緩存這個(gè)話(huà)題,我們首先必須了解緩存是什么以及它的意義。所有處理器都需要內(nèi)存來(lái)存儲(chǔ)它們處理的數(shù)字和計(jì)算結(jié)果。他們還需要有關(guān)任務(wù)的具體說(shuō)明,例如要執(zhí)行哪些計(jì)算。這些指令以數(shù)字方式存儲(chǔ)和傳送。

這種存儲(chǔ)器通常稱(chēng)為 RAM(隨機(jī)存取存儲(chǔ)器)。每個(gè)帶有處理器的電子設(shè)備都配備有 RAM。幾十年來(lái),PC 一直采用DRAM(“D”代表動(dòng)態(tài))作為數(shù)據(jù)的臨時(shí)存儲(chǔ),而磁盤(pán)驅(qū)動(dòng)器作為長(zhǎng)期存儲(chǔ)。

自發(fā)明以來(lái),DRAM 已經(jīng)取得了巨大的進(jìn)步,隨著時(shí)間的推移,速度呈指數(shù)級(jí)增長(zhǎng)。數(shù)據(jù)存儲(chǔ)也是如此,曾經(jīng)占據(jù)主導(dǎo)地位但速度緩慢的硬盤(pán)正在被快速的固態(tài)存儲(chǔ) (SSD)所取代。然而,盡管取得了這些進(jìn)步,與基本處理器執(zhí)行單個(gè)計(jì)算的速度相比,這兩種類(lèi)型的內(nèi)存仍然慢得要命。

即使是一組 DDR5-8200 也不夠快

雖然芯片可以在幾納秒內(nèi)將兩個(gè)數(shù)字相加,但檢索這些值或存儲(chǔ)結(jié)果可能需要數(shù)百到數(shù)千納秒——即使使用最快的可用 RAM。如果沒(méi)有辦法解決這個(gè)問(wèn)題,那么 PC 也不會(huì)比 20 世紀(jì) 70 年代的 PC 好多少,盡管它們的時(shí)鐘速度要高得多。

值得慶幸的是,SRAM(靜態(tài) RAM)可以彌補(bǔ)這一差距。SRAM 由與執(zhí)行計(jì)算的處理器中的晶體管相同的晶體管制成。這意味著 SRAM 可以直接集成到芯片中并以芯片的速度運(yùn)行。它靠近邏輯單元,將數(shù)據(jù)檢索或存儲(chǔ)時(shí)間縮短至數(shù)十納秒。

這樣做的缺點(diǎn)是,即使單個(gè)存儲(chǔ)位所需的晶體管的布置以及其他必要的電路也會(huì)占用相當(dāng)大的空間。使用當(dāng)前的制造技術(shù),64 MB SRAM 的大小大致相當(dāng)于 2 GB DRAM。

AMD Zen 4 小芯片的大部分是緩存(紅色 + 黃色框)。

這就是為什么現(xiàn)代處理器整合了各種 SRAM 塊——有些很小,僅包含幾個(gè)位,而另一些則包含幾個(gè) MB。這些較大的塊繞過(guò)了 DRAM 的緩慢問(wèn)題,顯著提高了芯片性能。

這些內(nèi)存類(lèi)型根據(jù)其用途有不同的名稱(chēng),但最流行的稱(chēng)為“緩存”。這就是討論變得有點(diǎn)復(fù)雜的地方。

為等級(jí)制度歡呼

處理器核心內(nèi)的邏輯單元通常處理小數(shù)據(jù)。它們接收的指令和處理的數(shù)字很少大于 64 位。因此,存儲(chǔ)這些值的最小 SRAM 塊的大小相似,稱(chēng)為“寄存器”。

為了確保這些單元不會(huì)停止等待下一組命令或數(shù)據(jù),芯片通常會(huì)預(yù)取這些信息并保留頻繁發(fā)出的信息。該數(shù)據(jù)存儲(chǔ)在兩個(gè)不同的 SRAM 組中,通常稱(chēng)為 1 級(jí)指令緩存和 1 級(jí)數(shù)據(jù)緩存。顧名思義,每個(gè)都有其保存的特定類(lèi)型的數(shù)據(jù)。盡管它們很重要,但它們的范圍并不廣泛。例如,AMD 最近的桌面處理器為每個(gè)處理器分配 32 kB。

雖然不是很大,但這些緩存足以容納大量命令和數(shù)據(jù),確保內(nèi)核不會(huì)閑置。然而,為了維持這種數(shù)據(jù)流,必須持續(xù)提供緩存。當(dāng)核心需要 1 級(jí)緩存 (L1) 中不存在的特定值時(shí),L2 緩存就變得至關(guān)重要。

L2 緩存是一個(gè)更大的塊,存儲(chǔ)各種數(shù)據(jù)。請(qǐng)記住,單個(gè)內(nèi)核具有多個(gè)邏輯單元線(xiàn)。如果沒(méi)有 L2,L1 緩存很快就會(huì)被淹沒(méi)?,F(xiàn)代處理器具有多個(gè)內(nèi)核,因此需要引入另一個(gè)為所有內(nèi)核提供服務(wù)的緩存層:三級(jí) (L3) 緩存。它的范圍甚至更廣,跨越了幾個(gè) MB。從歷史上看,某些 CPU 甚至具有第四級(jí)。

英特爾 Raptor Lake CPU 之一的單個(gè) P 核的圖像。淡藍(lán)色的各種網(wǎng)格點(diǎn)綴在結(jié)構(gòu)周?chē)?,是寄存器和各種緩存的混合體。您可以在此網(wǎng)站上查看每個(gè)部分的更詳細(xì)細(xì)分。然而,本質(zhì)上,L1 緩存位于核心的中央,而 L2 則占據(jù)右側(cè)部分。

處理器中的最后一級(jí)緩存通常充當(dāng)來(lái)自系統(tǒng) DRAM 的任何數(shù)據(jù)在繼續(xù)傳輸之前的第一個(gè)調(diào)用端口,但情況并非總是如此。這是關(guān)于緩存的部分,往往會(huì)變得非常復(fù)雜,但這對(duì)于理解為什么 CPU 和 GPU 具有截然不同的緩存安排也至關(guān)重要。

SRAM 塊的整個(gè)系統(tǒng)的使用方式被稱(chēng)為芯片的緩存層次結(jié)構(gòu),它的變化很大,具體取決于架構(gòu)的年齡和芯片的目標(biāo)扇區(qū)等因素。但對(duì)于CPU來(lái)說(shuō),有一些方面總是相同的,其中之一就是層次結(jié)構(gòu)的連貫性。

ad354176-6290-11ee-939d-92fbcf53809c.png

高速緩存中的數(shù)據(jù)可以從系統(tǒng)的 DRAM 復(fù)制。如果某個(gè)核心對(duì)其進(jìn)行修改,則必須同時(shí)更新 DRAM 版本。因此,CPU緩存結(jié)構(gòu)具有確保數(shù)據(jù)準(zhǔn)確性和及時(shí)更新的機(jī)制。這種復(fù)雜的設(shè)計(jì)增加了復(fù)雜性,在處理器領(lǐng)域,復(fù)雜性轉(zhuǎn)化為晶體管,進(jìn)而轉(zhuǎn)化為空間。

這就是為什么前幾級(jí)緩存不是很大的原因 — 不僅因?yàn)?SRAM 非常寬敞,還因?yàn)樾枰衅渌到y(tǒng)來(lái)保持其一致性。然而,并不是每個(gè)處理器都需要這個(gè),并且有一種非常特定的類(lèi)型通常完全避開(kāi)它。

GPU 的方式:核心優(yōu)先于緩存

今天的圖形芯片,從內(nèi)部結(jié)構(gòu)和功能來(lái)看,形成于2007年。當(dāng)時(shí)Nvidia和ATI都發(fā)布了統(tǒng)一著色器GPU,但對(duì)于后者來(lái)說(shuō),真正的變化發(fā)生在5年后。

2012 年,AMD(當(dāng)時(shí)已收購(gòu)ATI)推出了下一代圖形核心(GCN) 架構(gòu)。這種設(shè)計(jì)至今仍在使用,盡管它已經(jīng)經(jīng)歷了重大修改并演變成RDNA和 CDNA 等形式。我們將參考 GCN 來(lái)闡明 CPU 和 GPU 之間的緩存差異,因?yàn)樗峁┝艘粋€(gè)清晰的示例。

跳到 2017 年,讓我們將 AMD 的Ryzen 7 1800X CPU(上圖)與 Radeon RX Vega 64 GPU進(jìn)行對(duì)比。前者有8個(gè)核心,每個(gè)核心包含8條管道。其中四個(gè)管道處理標(biāo)準(zhǔn)數(shù)學(xué)運(yùn)算,兩個(gè)專(zhuān)門(mén)用于廣泛的浮點(diǎn)計(jì)算,最后兩個(gè)負(fù)責(zé)數(shù)據(jù)管理。其緩存層次結(jié)構(gòu)如下:64 kB L1 指令、32 kB L1 數(shù)據(jù)、512 kB L2 和 16 MB L3。

Vega 64 GPU 具有 4 個(gè)處理塊。每個(gè)塊都包含 64 個(gè)管道,通常稱(chēng)為計(jì)算單元 (CU)。此外,每個(gè)CU可容納四組16個(gè)邏輯單元。每個(gè) CU 都擁有 16 kB 的 L1 數(shù)據(jù)緩存和 64 kB 的暫存存儲(chǔ)器,本質(zhì)上充當(dāng)沒(méi)有一致性機(jī)制的緩存(AMD 將其標(biāo)記為本地?cái)?shù)據(jù)共享)。

此外,還有兩個(gè)高速緩存(16 kB L1 指令和 32 kB L1 數(shù)據(jù))可滿(mǎn)足四個(gè) CU 組的需要。Vega GPU 還擁有 4 MB 二級(jí)緩存,位于兩個(gè)帶中,一個(gè)位于底部,另一個(gè)位于下圖頂部附近。

該特定圖形處理器的芯片面積是 Ryzen 芯片尺寸的兩倍。然而,它的緩存占用的空間比CPU中的要小得多。與 CPU 相比,為什么該 GPU 保持最小的緩存,特別是在 L2 段方面?

鑒于其“核心”數(shù)量明顯高于 Ryzen 芯片,人們可能會(huì)預(yù)計(jì),總共有 4096 個(gè)數(shù)學(xué)單元,因此需要大量緩存來(lái)維持穩(wěn)定的數(shù)據(jù)供應(yīng)。然而,CPU 和 GPU 工作負(fù)載有根本的不同。

雖然 Ryzen 芯片可以同時(shí)管理多達(dá) 16 個(gè)線(xiàn)程并處理 16 個(gè)不同的命令,但 Vega 處理器可能會(huì)處理更多數(shù)量的線(xiàn)程,但其 CU 通常執(zhí)行相同的指令。

此外,每個(gè) CU 內(nèi)的數(shù)學(xué)單元在一個(gè)周期內(nèi)同步執(zhí)行相同的計(jì)算。這種一致性將它們歸類(lèi)為 SIMT(單指令、多線(xiàn)程)設(shè)備。GPU 按順序運(yùn)行,很少偏離其他處理路線(xiàn)。

相比之下,CPU 處理各種指令,同時(shí)確保數(shù)據(jù)一致性。相反,GPU 重復(fù)執(zhí)行類(lèi)似的任務(wù),消除了數(shù)據(jù)一致性的需要并不斷重新啟動(dòng)其操作。

ad812bc2-6290-11ee-939d-92fbcf53809c.png

GCN計(jì)算單元的內(nèi)部結(jié)構(gòu)。很簡(jiǎn)單,是嗎?

由于渲染 3D 圖形的任務(wù)主要由重復(fù)的數(shù)學(xué)運(yùn)算組成,因此 GPU 不需要像 CPU 那樣復(fù)雜。相反,GPU 被設(shè)計(jì)為大規(guī)模并行,可同時(shí)處理數(shù)千個(gè)數(shù)據(jù)點(diǎn)。這就是為什么與中央處理器相比,它們的緩存較小,但內(nèi)核數(shù)量卻多得多。

然而,如果是這樣的話(huà),為什么 AMD 和 Nvidia 的最新顯卡擁有大量緩存,甚至是廉價(jià)型號(hào)?Radeon RX 7600只有 2 MB 的 L2,但也有 32 MB 的 L3;Nvidia 的GeForce RTX 4060沒(méi)有 L3,但它配備了 24 MB L2。

當(dāng)談到他們的光環(huán)產(chǎn)品時(shí),數(shù)字是巨大的——GeForce RTX 4090擁有 72 MB 的 L2,而Radeon RX 6800 / 6900卡中的 AMD Navi 21 芯片則擁有 128 MB 的 L3!

這里有很多東西需要解開(kāi)——例如,為什么 AMD 在這么長(zhǎng)時(shí)間內(nèi)保持如此小的緩存,然后突然增加它們的大小并投入大量的 L3 以達(dá)到良好的效果?

為什么 Nvidia 將 L1 大小增加這么多,但將 L2 保持相對(duì)較小,只是為了復(fù)制 AMD 并讓 L2 緩存瘋狂?

GPU 中的 G不再只是圖形

這種轉(zhuǎn)變的原因有很多,但對(duì)于 Nvidia 來(lái)說(shuō),這種轉(zhuǎn)變是由 GPU 使用方式的變化推動(dòng)的。盡管它們被稱(chēng)為圖形處理單元,但這些芯片的用途不僅僅是在屏幕上顯示令人印象深刻的圖像。

雖然絕大多數(shù) GPU 都擅長(zhǎng)此功能,但這些芯片已經(jīng)超越了渲染的范圍。他們現(xiàn)在處理多個(gè)學(xué)科的數(shù)據(jù)處理和科學(xué)算法中的數(shù)學(xué)負(fù)載,包括工程、物理、化學(xué)、生物學(xué)、醫(yī)學(xué)、經(jīng)濟(jì)學(xué)和地理學(xué)。原因?因?yàn)樗麄兎浅I瞄L(zhǎng)同時(shí)對(duì)數(shù)千個(gè)數(shù)據(jù)點(diǎn)進(jìn)行相同的計(jì)算。

盡管 CPU 也可以執(zhí)行此功能,但對(duì)于某些任務(wù),單個(gè) GPU 的效率可以與多個(gè)中央處理器一樣高效。隨著 Nvidia 的 GPU 向通用化發(fā)展,芯片內(nèi)邏輯單元的數(shù)量及其運(yùn)行速度都呈指數(shù)級(jí)增長(zhǎng)。

Nvidia 第一個(gè)用于嚴(yán)肅通用計(jì)算的“顯卡”——2007 年的 Tesla C870

Nvidia 在 2007 年首次涉足嚴(yán)肅的通用計(jì)算領(lǐng)域,以 Tesla C870 為標(biāo)志。該卡的架構(gòu)在其緩存層次結(jié)構(gòu)中只有兩級(jí)(技術(shù)上可以爭(zhēng)論為 2.5,但讓我們回避這一爭(zhēng)論),確保了 L1 緩存足夠廣泛,可以持續(xù)向所有單位提供數(shù)據(jù)。更快的 VRAM 支持了這一點(diǎn)。二級(jí)緩存的大小也有所增加,盡管與我們現(xiàn)在看到的情況完全不同。

Nvidia 的第一批統(tǒng)一著色器 GPU只需要 16 kB 的 L1 數(shù)據(jù)(以及少量的指令和其他值),但在幾年內(nèi)就躍升至 64 kB。對(duì)于過(guò)去的兩種架構(gòu),GeForce 芯片具有 128 kB L1,其服務(wù)器級(jí)處理器甚至更多。

第一批芯片中的 L1 緩存只需服務(wù) 10 個(gè)邏輯單元(8 個(gè)通用 + 2 個(gè)特殊功能)。當(dāng)Pascal 架構(gòu)出現(xiàn)時(shí)(與 AMD 的 RX Vega 64 大致同一時(shí)代),緩存已增長(zhǎng)至 96 kB,可容納 150 多個(gè)邏輯單元。

當(dāng)然,該緩存從 L2 獲取數(shù)據(jù),并且隨著這些單元的簇?cái)?shù)量隨著每一代的增加而增加,L2 緩存的數(shù)量也隨之增加。然而,自 2012 年以來(lái),每個(gè)邏輯集群(更廣為人知的流式多處理器,SM)的 L2 數(shù)量一直保持相對(duì)不變,約為 70 到 130 MB。當(dāng)然,最新的 Ada Lovelace 架構(gòu)是個(gè)例外,我們稍后會(huì)回到這個(gè)架構(gòu)。

多年來(lái),AMD 的重點(diǎn)主要集中在 CPU 上,而圖形部門(mén)在人員配置和預(yù)算方面相對(duì)較小。不過(guò),作為基本設(shè)計(jì),GCN 運(yùn)行得非常好,在 PC、游戲機(jī)、筆記本電腦、工作站和服務(wù)器中找到了應(yīng)用。

雖然AMD的圖形處理器可能并不總是人們能買(mǎi)到的最快的,但它已經(jīng)足夠好了,而且這些芯片的緩存結(jié)構(gòu)似乎不需要認(rèn)真更新。但是,盡管 CPU 和 GPU 飛速發(fā)展,但事實(shí)證明,還有另一個(gè)難題很難改進(jìn)。

DRAM進(jìn)展緩慢

GCN 的后繼者是 2019 年的 RDNA 架構(gòu),AMD 重新調(diào)整了一切,以便他們的新 GPU 使用三級(jí)緩存,同時(shí)仍然保持相對(duì)較小的規(guī)模。然后,在其后續(xù)RDNA 2 設(shè)計(jì)中,AMD 利用其在 CPU 緩存工程方面的專(zhuān)業(yè)知識(shí)將第四級(jí)緩存硬塞到芯片中,該緩存比之前 GPU 中看到的任何緩存都要大得多。

但為什么要做出這樣的改變,特別是當(dāng)這些芯片主要用于游戲并且 GCN 緩存多年來(lái)只進(jìn)行了最小的修改時(shí)?

原因很簡(jiǎn)單:

芯片尺寸和復(fù)雜性:

雖然合并更多緩存級(jí)別確實(shí)使芯片設(shè)計(jì)復(fù)雜化,但它可以防止芯片變得過(guò)大。更小的芯片意味著可以從單個(gè)硅晶圓中提取更多的單元,從而使生產(chǎn)更具成本效益。

內(nèi)存速度與處理器速度

多年來(lái),處理器速度一直在持續(xù)增長(zhǎng),但 DRAM 卻未能跟上這一步伐。例如,在 Radeon RX Vega 64 中,AMD 利用高帶寬內(nèi)存 (HBM) 來(lái)提高 VRAM 和 GPU 之間的數(shù)據(jù)傳輸速率。這些模塊顯示在主 GPU 芯片左側(cè)上方,本質(zhì)上是堆疊在一起的多個(gè) DRAM 芯片,有助于每個(gè)周期讀取或?qū)懭敫鄶?shù)據(jù)。然而,HBM 非常昂貴。理想情況下,顯卡應(yīng)具有充足的內(nèi)存、大量的總線(xiàn),并且全部都以高速運(yùn)行。但由于 DRAM 的結(jié)構(gòu),其性能無(wú)法提升到與 CPU 或 GPU 相匹配。

當(dāng)計(jì)算所需的數(shù)據(jù)不存在于緩存中時(shí)(通常稱(chēng)為“緩存未命中”),必須從 VRAM 中獲取數(shù)據(jù)。由于此過(guò)程比從緩存中檢索速度慢,因此等待 DRAM 中存儲(chǔ)的數(shù)據(jù)只會(huì)導(dǎo)致需要數(shù)據(jù)的線(xiàn)程停滯。即使使用現(xiàn)代圖形芯片,這種情況也經(jīng)常發(fā)生。

這種情況實(shí)際上一直在發(fā)生,即使使用最新的圖形芯片,但隨著它們變得越來(lái)越強(qiáng)大,緩存未命中正在成為高分辨率下的一個(gè)重要性能限制。

adf097f0-6290-11ee-939d-92fbcf53809c.png

在 GPU 中,最后一級(jí)緩存的結(jié)構(gòu)使得每個(gè) VRAM 模塊的接口都有其專(zhuān)用的 SRAM 片。其余處理器利用交叉連接系統(tǒng)來(lái)訪問(wèn)任何模塊。通過(guò) GCN 和首次 RDNA 設(shè)計(jì),AMD 通常采用 256 或 512 kB L3 切片。但在 RDNA 2 中,每片的大小激增至 16 至 32 MB,令人印象深刻。

這一調(diào)整不僅大幅減少了 DRAM 讀取引起的線(xiàn)程延遲,還減少了對(duì)超寬內(nèi)存總線(xiàn)的需求。更寬的總線(xiàn)需要更廣闊的 GPU 芯片周長(zhǎng)來(lái)容納所有內(nèi)存接口。

雖然由于固有的長(zhǎng)延遲,大量緩存可能會(huì)很麻煩且緩慢,但 AMD 的設(shè)計(jì)卻恰恰相反——龐大的 L3 緩存使 RDNA 2 芯片的性能與擁有更寬內(nèi)存總線(xiàn)的性能相當(dāng),同時(shí)將芯片尺寸保持在低于控制。

Nvidia 緊隨其后,推出了最新一代的 Ada Lovelace,出于同樣的原因,之前的 Ampere 設(shè)計(jì)在其最大的消費(fèi)級(jí) GPU 中的最大二級(jí)緩存大小為 6 MB,但在新設(shè)計(jì)中顯著增加。完整的 AD102 芯片(RTX 4090 中使用的是其精簡(jiǎn)版本)包含 96 MB 的二級(jí)緩存。

至于為什么他們不只是采用另一級(jí)緩存并將其做得非常大,可能是因?yàn)樵谶@一領(lǐng)域沒(méi)有與 AMD 相同水平的專(zhuān)業(yè)知識(shí),或者可能不想看起來(lái)像是直接復(fù)制該公司。當(dāng)人們查看芯片時(shí),如上所示,無(wú)論如何,所有二級(jí)緩存實(shí)際上并沒(méi)有占用芯片上的太多空間。

除了通用GPU計(jì)算的興起外,還有一個(gè)原因?qū)е履┘?jí)緩存現(xiàn)在這么大,這與渲染領(lǐng)域的最新熱門(mén)話(huà)題:光線(xiàn)追蹤有關(guān)。

大圖形需要大數(shù)據(jù)

無(wú)需過(guò)多介紹該過(guò)程的細(xì)節(jié),最新游戲中使用的光線(xiàn)追蹤行為涉及執(zhí)行看似相當(dāng)簡(jiǎn)單的算法 - 從 3D 世界中相機(jī)的位置畫(huà)一條線(xiàn),通過(guò)幀的一個(gè)像素,并追蹤其在空間中的路徑。當(dāng)它與一個(gè)對(duì)象交互時(shí),檢查它是什么以及它是否可見(jiàn),然后從那里計(jì)算出像素的顏色。

事情遠(yuǎn)不止這些,但這是基本過(guò)程。光線(xiàn)追蹤要求如此高的原因之一是對(duì)象檢查。計(jì)算出光線(xiàn)所到達(dá)的物體的所有細(xì)節(jié)是一項(xiàng)艱巨的任務(wù),因此為了幫助加快例程,使用了一種稱(chēng)為包圍體層次結(jié)構(gòu)(簡(jiǎn)稱(chēng) BVH)的東西。

ae34ba8e-6290-11ee-939d-92fbcf53809c.png

可以將其視為 3D 場(chǎng)景中使用的所有對(duì)象的大型數(shù)據(jù)庫(kù) - 每個(gè)條目不僅提供有關(guān)結(jié)構(gòu)是什么的信息,還提供有關(guān)其與其他對(duì)象的關(guān)系的信息。以上面(極其簡(jiǎn)單化)的例子為例。

層次結(jié)構(gòu)的頂部從體積 A 開(kāi)始。其他所有內(nèi)容都包含在其中,但請(qǐng)注意,體積 E 位于體積 C 之外,后者本身包含 D 和 F。當(dāng)光線(xiàn)投射到此場(chǎng)景中時(shí)(紅色箭頭),遍歷層次結(jié)構(gòu)時(shí)會(huì)發(fā)生一個(gè)過(guò)程,檢查光線(xiàn)路徑經(jīng)過(guò)的體積。

然而,BVH像樹(shù)一樣排列,遍歷只需沿著檢查結(jié)果命中的分支進(jìn)行。因此,體積 E 可以立即被拒絕,因?yàn)樗皇巧渚€(xiàn)顯然會(huì)穿過(guò)的 C 的一部分。當(dāng)然,現(xiàn)代游戲中 BVH 的實(shí)際情況要復(fù)雜得多。

我們拍攝了《賽博朋克 2077》的快照,暫停了游戲的渲染中幀,向您展示如何通過(guò)增加三角形層來(lái)構(gòu)建任何一個(gè)給定場(chǎng)景。

現(xiàn)在,嘗試想象從您的眼睛開(kāi)始追蹤一條線(xiàn),穿過(guò)監(jiān)視器中的一個(gè)像素,然后嘗試準(zhǔn)確確定哪個(gè)三角形將與光線(xiàn)相交。這就是為什么 BVH 的使用如此重要,并且它大大加快了整個(gè)過(guò)程。

在這個(gè)特定的游戲中,與許多采用光線(xiàn)追蹤來(lái)照亮整個(gè)場(chǎng)景的游戲一樣,BVH 包含兩種類(lèi)型的多個(gè)數(shù)據(jù)庫(kù):頂級(jí)加速結(jié)構(gòu) (TLAS) 和底層加速結(jié)構(gòu) (BLAS)。

前者本質(zhì)上是對(duì)整個(gè)世界的大概覽,而不僅僅是我們所看到的很小的一部分。在使用 Nvidia 顯卡的 PC 上,它看起來(lái)像這樣:

ae5e3aa8-6290-11ee-939d-92fbcf53809c.png

我們稍微放大了一些,以便向您展示其中包含的一些細(xì)節(jié),但正如您所看到的,它非常大 — 大小幾乎為 18 MB。請(qǐng)注意該列表是實(shí)例之一,并且每個(gè)實(shí)例都包含至少一個(gè) BLAS。游戲只使用了兩個(gè) TLAS 結(jié)構(gòu)(第二個(gè)要小得多),但總共有數(shù)千個(gè) BLAS。

下面的衣服是世界上看到的角色可能穿著的一件衣服。擁有這么多可能看起來(lái)很荒謬,但這種層次結(jié)構(gòu)意味著如果這個(gè)特定的 BLAS 不在光線(xiàn)路徑中的更大父結(jié)構(gòu)中,則它永遠(yuǎn)不會(huì)在渲染的著色階段被檢查或使用。

ae858b44-6290-11ee-939d-92fbcf53809c.png

對(duì)于我們的《賽博朋克 2077》快照,總共使用了 11,360 個(gè) BLAS,占用的內(nèi)存比 TLAS 多得多。然而,由于 GPU 現(xiàn)在擁有大量緩存,因此有足夠的空間將后者存儲(chǔ)在該 SRAM 中,并從 VRAM 傳輸許多相關(guān)的 BLAS,從而使光線(xiàn)追蹤過(guò)程變得更快。

所謂的渲染圣杯實(shí)際上仍然只有那些擁有最好顯卡的人才能獲得,即便如此,也需要采用額外的技術(shù)(例如圖像升級(jí)和幀生成)來(lái)將整體性能帶入可玩的領(lǐng)域。

BVH、數(shù)千個(gè)核心和 GPU 中的專(zhuān)用光線(xiàn)追蹤單元使這一切成為可能,但巨大的緩存為這一切提供了急需的推動(dòng)力。

皇冠的競(jìng)爭(zhēng)者

一旦幾代 GPU 架構(gòu)過(guò)去,擁有大量 L2 或 L3 緩存的圖形芯片將成為常態(tài),而不是新設(shè)計(jì)的獨(dú)特賣(mài)點(diǎn)。GPU將繼續(xù)在廣泛的通用場(chǎng)景中使用,光線(xiàn)追蹤將在游戲中變得越來(lái)越普遍,而DRAM仍將落后于處理器技術(shù)的發(fā)展。

話(huà)雖如此,當(dāng)涉及到 SRAM 中時(shí),GPU 并不會(huì)完全滿(mǎn)足要求。事實(shí)上,現(xiàn)在有一些例外。

我們不是在談?wù)?AMD 的 X3D 系列 Ryzen CPU,盡管Ryzen 9 7950X3D配備了驚人的 128 MB L3 緩存(英特爾最大的消費(fèi)級(jí) CPU Core i9-13900K僅 36 MB)。不過(guò),它仍然是 AMD 產(chǎn)品,特別是 EPYC 9000 系列服務(wù)器處理器中的最新產(chǎn)品。

售價(jià) 14,756 美元的 EPYC 9684X由 13 個(gè)小芯片組成,其中 12 個(gè)小芯片容納處理器的核心和緩存。每個(gè)芯片都包含 8 個(gè)核心和一個(gè) 64 MB 的 AMD 3D V 緩存片,位于小芯片的內(nèi)置 32 MB L3 緩存之上。總而言之,末級(jí)緩存總計(jì)達(dá)到 1152 MB,令人難以置信!即使是 16 核版本(9174F)也擁有 256 MB 內(nèi)存,盡管它仍然不是你所說(shuō)的便宜,價(jià)格為 3,840 美元。

當(dāng)然,此類(lèi)處理器并不是為普通人及其游戲電腦而設(shè)計(jì)的,而且其物理尺寸、價(jià)格標(biāo)簽和功耗數(shù)據(jù)都非常大,我們不會(huì)在普通處理器中看到類(lèi)似的處理器。臺(tái)式電腦使用多年。

部分原因是,與用于邏輯單元的半導(dǎo)體電路不同,隨著每個(gè)新工藝節(jié)點(diǎn)(芯片的制造方法)縮小 SRAM 變得越來(lái)越困難。AMD 的 EPYC 處理器擁有如此多的緩存,僅僅是因?yàn)樯崞飨路接泻芏嘈酒?/p>

aeb220be-6290-11ee-939d-92fbcf53809c.png

所有 GPU 在未來(lái)的某個(gè)時(shí)候可能都會(huì)走類(lèi)似的路線(xiàn),AMD 的高端 Radeon 9000 型號(hào)已經(jīng)這樣做了,內(nèi)存接口和相關(guān)的 L3 緩存片被安置在與主處理芯片不同的小芯片中。

不過(guò),使用更大的緩存會(huì)帶來(lái)收益遞減,因此不要指望 GPU 到處都有千兆字節(jié)的緩存。但即便如此,最近的變化還是相當(dāng)引人注目的。

二十年前,圖形芯片中的緩存非常少,只有幾 kB 的 SRAM。現(xiàn)在,您可以花不到 400 美元購(gòu)買(mǎi)一張具有如此大緩存的顯卡,您可以將整個(gè)原始 Doom 放入其中 - 兩倍!

GPU 確實(shí)是緩存之王。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19896

    瀏覽量

    235300
  • DRAM
    +關(guān)注

    關(guān)注

    40

    文章

    2349

    瀏覽量

    185651
  • 晶體管
    +關(guān)注

    關(guān)注

    77

    文章

    10020

    瀏覽量

    141725
  • SSD
    SSD
    +關(guān)注

    關(guān)注

    21

    文章

    2984

    瀏覽量

    119615
  • 隨機(jī)存取存儲(chǔ)器

    關(guān)注

    0

    文章

    45

    瀏覽量

    9115

原文標(biāo)題:為什么GPU是新的緩存之王?

文章出處:【微信號(hào):wc_ysj,微信公眾號(hào):旺材芯片】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    高性能緩存設(shè)計(jì):如何解決緩存偽共享問(wèn)題

    在多核高并發(fā)場(chǎng)景下, 緩存偽共享(False Sharing) 是導(dǎo)致性能驟降的“隱形殺手”。當(dāng)不同線(xiàn)程頻繁修改同一緩存行(Cache Line)中的獨(dú)立變量時(shí),CPU緩存一致性協(xié)議會(huì)強(qiáng)制同步整個(gè)
    的頭像 發(fā)表于 07-01 15:01 ?132次閱讀
    高性能<b class='flag-5'>緩存</b>設(shè)計(jì):如何解決<b class='flag-5'>緩存</b>偽共享問(wèn)題

    MCU緩存設(shè)計(jì)

    MCU 設(shè)計(jì)通過(guò)優(yōu)化指令與數(shù)據(jù)的訪問(wèn)效率,顯著提升系統(tǒng)性能并降低功耗,其核心架構(gòu)與實(shí)現(xiàn)策略如下: 一、緩存類(lèi)型與結(jié)構(gòu) 指令緩存(I-Cache)與數(shù)據(jù)緩存(D-Cache)? I-Cache?:
    的頭像 發(fā)表于 05-07 15:29 ?359次閱讀

    Nginx緩存配置詳解

    Nginx 是一個(gè)功能強(qiáng)大的 Web 服務(wù)器和反向代理服務(wù)器,它可以用于實(shí)現(xiàn)靜態(tài)內(nèi)容的緩存,緩存可以分為客戶(hù)端緩存和服務(wù)端緩存
    的頭像 發(fā)表于 05-07 14:03 ?596次閱讀
    Nginx<b class='flag-5'>緩存</b>配置詳解

    DEKRA德凱獲得IEC 62443-2-1 CBTL認(rèn)證

    近日,DEKRA德凱獲得了IEC 62443-2-1的CBTL認(rèn)可,成為了中國(guó)首家可以頒發(fā)工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全I(xiàn)EC 62443-2-1 CB證書(shū)的實(shí)驗(yàn)室。
    的頭像 發(fā)表于 04-03 09:54 ?398次閱讀

    nginx中強(qiáng)緩存和協(xié)商緩存介紹

    強(qiáng)緩存直接告訴瀏覽器:在緩存過(guò)期前,無(wú)需與服務(wù)器通信,直接使用本地緩存。
    的頭像 發(fā)表于 04-01 16:01 ?384次閱讀

    模型無(wú)法獲得mAP值等于1.00的原因是什么?

    量化了大小為 416 x 416 的 YOLOv4 模型,并獲得了正確的 mAP 值。 使用以下命令量化大小為 320 x 544 的 YOLOv4 模型:pot -c
    發(fā)表于 03-07 07:21

    HTTP緩存頭的使用 本地緩存與遠(yuǎn)程緩存的區(qū)別

    HTTP緩存頭是一組HTTP響應(yīng)頭,它們控制瀏覽器和中間代理服務(wù)器如何緩存網(wǎng)頁(yè)內(nèi)容。合理使用HTTP緩存頭可以顯著提高網(wǎng)站的加載速度和性能,減少服務(wù)器的負(fù)載。 1. HTTP緩存頭概述
    的頭像 發(fā)表于 12-18 09:41 ?473次閱讀

    《CST Studio Suite 2024 GPU加速計(jì)算指南》

    監(jiān)控/利用率、選擇可用GPU卡子集等內(nèi)容。 6. 故障排除:針對(duì)NVIDIA驅(qū)動(dòng)安裝、GPU設(shè)置、GPU模式、硬件識(shí)別、CUDA錯(cuò)誤、TCC模式等問(wèn)題給出了相應(yīng)的解決方法。
    發(fā)表于 12-16 14:25

    AMD獲得一項(xiàng)玻璃基板技術(shù)專(zhuān)利

    近日,處理器大廠AMD宣布獲得了一項(xiàng)涵蓋玻璃芯基板技術(shù)的專(zhuān)利(專(zhuān)利號(hào)“12080632”),這一消息標(biāo)志著AMD在高性能系統(tǒng)級(jí)封裝(SiP)領(lǐng)域的研究取得了重要進(jìn)展。
    的頭像 發(fā)表于 12-02 10:33 ?526次閱讀

    緩存之美——如何選擇合適的本地緩存?

    Guava cache是Google開(kāi)發(fā)的Guava工具包中一套完善的JVM本地緩存框架,底層實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)類(lèi)似于ConcurrentHashMap,但是進(jìn)行了更多的能力拓展,包括緩存過(guò)期時(shí)間設(shè)置、緩存容量設(shè)置、多種淘汰策略、
    的頭像 發(fā)表于 11-17 14:24 ?823次閱讀
    <b class='flag-5'>緩存</b>之美——如何選擇合適的本地<b class='flag-5'>緩存</b>?

    Imagination DXS GPU榮獲ASIL-B官方認(rèn)證

    全球硅知識(shí)產(chǎn)權(quán)(IP)領(lǐng)域的佼佼者Imagination Technologies宣布了一項(xiàng)重要成就:其專(zhuān)為汽車(chē)領(lǐng)域打造的Imagination DXS GPU IP,已成功通過(guò)SGS-TüV Saar的全面審核與評(píng)估,正式獲得了ISO 26262標(biāo)準(zhǔn)的ASIL-B級(jí)別認(rèn)
    的頭像 發(fā)表于 11-14 16:37 ?879次閱讀

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗(yàn)】--了解算力芯片GPU

    不同的線(xiàn)程束以執(zhí)行不同的指令。指令調(diào)度單元負(fù)責(zé)從指令緩存中取出著色器程序中的操作指令,并將其分配給每個(gè)CUDA核心執(zhí)行。 線(xiàn)程塊的設(shè)計(jì)為 GPU編程提供了一種高效、靈活和易用的方式來(lái)組織和管理并行線(xiàn)程
    發(fā)表于 11-03 12:55

    為什么GPU的壽命如此之短

    最近外面總在討論GPU的壽命只有三年。
    的頭像 發(fā)表于 10-29 16:19 ?1122次閱讀
    為什么<b class='flag-5'>GPU</b>的壽命<b class='flag-5'>如此</b>之短

    誠(chéng)邁科技參股公司誠(chéng)芯智聯(lián)獲得無(wú)人載重配送車(chē)定點(diǎn)

    近日,誠(chéng)邁科技參股公司誠(chéng)芯智聯(lián)獲得了國(guó)內(nèi)首個(gè)L4級(jí)別、符合車(chē)道級(jí)要求的無(wú)人載重配送車(chē)定點(diǎn)。
    的頭像 發(fā)表于 08-23 15:14 ?886次閱讀

    國(guó)產(chǎn)GPU廠商礪算科技獲3.28億元融資

    。此番操作后,東芯股份將直接持有礪算科技約37.88%的股權(quán),成為其重要股東。需要注意的是,上海礪算此次獲得了東芯股份及其他投資人的融資總額共計(jì)3.28億元。
    的頭像 發(fā)表于 08-21 10:56 ?1089次閱讀