色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

AMD的GPU架構(gòu)GCN現(xiàn)代化解讀

半導體產(chǎn)業(yè)縱橫 ? 來源:半導體產(chǎn)業(yè)縱橫 ? 2024-01-08 09:58 ? 次閱讀

GCN,AMDGPU架構(gòu)現(xiàn)代化。

隨著HD 5000和6000系列的發(fā)展,AMD的Terascale(萬億級)架構(gòu)變得非常具有競爭力。然而在2010年代初,面向通用計算的GPU趨勢興起,AMD并不希望錯失這個機會。Terascale的SIMD引擎是ATI的DirectX 9時代GPU中執(zhí)行單元的遠親。他們可以進行計算,但利用其能力卻不一定總能成功。英偉達的Fermi架構(gòu)具有強大的計算能力,AMD不想毫無抵抗就放棄一塊有潛力的市場。

Graphics Core Next(GCN)徹底摒棄了以通用計算的可預測性能為核心的Terascale策略。雖然Terascale的64寬波前仍然存在,但GCN的其他特點卻截然不同,以至于它甚至不能算作一個遠親。GCN的指令集類似于典型的CPU或英偉達的Fermi。為了將這些責任轉(zhuǎn)移到硬件上,顯式調(diào)度信息已被移除。線程內(nèi)的執(zhí)行嚴格遵循標量,摒棄了Terascale從單個線程每周期發(fā)出多個操作的能力。

GCN首次亮相市場是在Tahiti芯片上,這是一款采用臺積電28納米工藝制造的352平方毫米芯片。Tahiti配備384位GDDR5接口與顯存連接,并升級為與主機的PCIe 3.0鏈接,使其比AMD之前的Cayman具有更高的片外帶寬。自2011年發(fā)布以來,GCN衍生架構(gòu)為AMD的產(chǎn)品提供服務(wù)長達十年。從Tahiti到2021年的Cezanne,GCN經(jīng)歷了大量演變,但保留了其可識別的計算單元結(jié)構(gòu)。因此,GCN是歷史最悠久的圖形架構(gòu)之一。即使在今天,GCN的DNA仍然延續(xù)在AMD面向計算的CDNA GPU中。CDNA線路取消了部分GCN的圖形功能,將重心轉(zhuǎn)向FP64,但仍然是一個可識別的GCN衍生產(chǎn)品。

wKgZomWbV1GAYWe9AABTs1B4NgI294.jpg

這篇文章將重點關(guān)注GCN早期Tahiti和Hawaii的發(fā)展情況。這里有來自AMD Radeon HD 7950的數(shù)據(jù),它使用了稍微精簡的Tahiti芯片。Hawaii是GCN的放大版。它于一年后推出,對最初的 GCN 架構(gòu)進行了輕微增強,旨在與英偉達當時最大的GPU 競爭。

Hawaii首先推出了R9 290系列,但是會優(yōu)先考慮R9 390。這是一個稍微精簡的Hawaii芯片,配有8 GB的VRAM。

系統(tǒng)架構(gòu)

GCN的基本構(gòu)建模塊是計算單元(CU)。Tahiti的著色器陣列由32個CU組成,HD 7950啟用了28個。每個CU都有一個專用的16 KB向量緩存和64 KB本地數(shù)據(jù)共享,但與多達四個相鄰CU共享一個指令緩存和標量緩存。

wKgZomWbV1KAZXxsAAQlQXruvrw670.jpg

計算單元陣列可以由圖形命令處理器或異步計算引擎(ACEs)提供,具體取決于工作是在圖形隊列上提交還是在計算隊列上提交。對于計算工作負載,每個ACE可以在每個周期啟動一個波前。Tahiti有兩個ACE,讓它在GPU上每個周期發(fā)射兩個波前。

wKgZomWbV1GASiAFAARgVO4Orrg528.jpg

對于圖形工作負載,GCN的光柵化器消耗由頂點著色器導出的屏幕空間坐標。它們每個時鐘可以處理一個基元,每個周期可以寫出多達16個像素,因此每個光柵化器每四個周期可以發(fā)射一個64寬度的波前。Tahiti有兩個光柵化器,讓它每兩個周期發(fā)射一個像素波前。屏幕空間在兩個光柵器之間劃分,反映了 Cayman 的兩個圖形引擎的方法。Hawaii使用了四個光柵化器,使其更快地填充著色器陣列。

wKgaomWbV1GAHyahAASSPFRpnos734.jpg

計算工作負載將其結(jié)果寫入 VRAM,供未來的內(nèi)核使用或復制回主機。對于圖形,像素著色器導出被發(fā)送到渲染后端。Tahiti上的每個渲染后端都有一個16 KB顏色緩存和一個4 KB深度緩存。最終像素顏色被寫入內(nèi)存控制器并繞過二級緩存。與Terascale不同的是,渲染后端與內(nèi)存控制器分離,并且可以獨立于內(nèi)存總線寬度進行縮放。

GCN的計算單元

GCN的計算單元與Terascale的SIMD大致相當。兩者每周期都可以完成64次FP32運算,如果將熔合乘加運算計為兩次,則是原來的兩倍。然而,AMD已完全重組了這個基本構(gòu)建模塊,將VLIW捆綁打包從圖片中提出。計算單元由四個較小的SIMD組成,而不是一個能夠發(fā)出四次指令的大型SIMD。每個SIMD都有自己的64 KB向量寄存器文件和10項調(diào)度程序分區(qū)。線程內(nèi)的執(zhí)行現(xiàn)在是完全標量的,這意味著CU不能從同一線程的每個周期發(fā)出多條指令。然而,如果SIMD的調(diào)度程序分區(qū)中有多個線程已就緒,并且每個線程的就緒指令都發(fā)送到單獨的功能單元,那么CU可以每周期發(fā)射多達五個指令。

計算單元前端

計算單元(CU)的流水線從32 KB、4路組相聯(lián)的L1指令緩存中提取指令開始。指令緩存使用64字節(jié)行,與CPU上常見的緩存行大小保持一致。一個指令緩存實例可由最多四個相鄰的計算單元共享,并可在每個周期向每個計算單元提供32字節(jié)。這可能是通過四分組的設(shè)置實現(xiàn)的,因此存儲器分組沖突可能減少指令帶寬。

wKgZomWbV1GAZRNfAAGzVcU0MW4066.jpg

Terascale 3在多達四個SIMD之間共享一個48 KB的ALU指令緩存,這與GCN有一定的相似性。由于GCN的可變長度指令平均需要較少的存儲空間,AMD得以將指令緩存大小削減到32 KB。Terascale 3使用了固定長度的64位指令。一束指令的長度可以根據(jù)編譯器打包的指令數(shù)量和立即值的多少而變化,范圍從64位到384位。GCN的指令長度為32位或64位,后面可以選擇逐添1個32位立即值。

wKgZomWbV1GAA96BAAJFA54LjR8972.jpg

指令帶寬需求可視化

英偉達的Kepler使用8 KB的指令緩存,專用于每個SMX。私有緩存更適合處理Kepler的高指令帶寬需求。一個SMX需要每周期至少傳輸6條指令以滿足其192個FP32單元的需求,因為英偉達的每條指令在32個32位元素的長向量上進行操作。使用固定長度的64位指令,根據(jù)每條指令的靜態(tài)調(diào)度信息字節(jié)計算,Kepler的指令緩存每周期需要提供48或54字節(jié)的指令。GCN的計算單元每個周期只需要執(zhí)行一條指令就可以使其向量執(zhí)行單元飽和,這既是因為它的向量執(zhí)行單元較少,也是因為每條GCN指令都在一個64長的向量上操作。

調(diào)度和指令發(fā)布

一旦指令被獲取,它們將保存在一組指令緩沖區(qū)中。計算單元的四個SIMD中的每一個都有一個10項的緩沖區(qū),使其能夠跟蹤來自最多10個獨立線程的指令。因此,整個計算單元可以跟蹤40個線程(或波前)。對于64寬波前,計算單元可以在運行中執(zhí)行2560個32位操作。

每個周期,計算單元選擇一個SIMD并掃描它的10個線程,以查看是否有準備好執(zhí)行的線程。GCN可以通過選擇多個線程并發(fā)布不同類別的指令來實現(xiàn)有限的多發(fā)射能力。例如,一個線程的標量算術(shù)邏輯單元ALU(Arithmetic Logic Unit)指令可以與另一個線程的向量ALU指令同時發(fā)射。理論上,一個計算單元每個周期可以發(fā)出5條指令。但是如此高的發(fā)布率應該是罕見的,因為工作負載不太可能有來自不同類別的指令的均勻混合。高占用率對充分利用這種多發(fā)射策略至關(guān)重要。如果SIMD有更多線程可以選擇,它將更有可能找到具有正確指令混合的多個線程以實現(xiàn)多發(fā)射。

wKgaomWbV1GAY3uxAAJhuIkLt6Q558.jpg?

假設(shè)達到理論占用率

wKgaomWbV1GANi_hAAWHLf4bBFE909.jpg

GCN的策略與Terascale形成鮮明對比,Terascale強調(diào)從單個線程的多發(fā)射,這給編譯器帶來了巨大的負擔。編譯器必須找到在打包成捆時既獨立又不過度占用寄存器文件端口的指令。GCN轉(zhuǎn)向使用線程級并行性意味著編譯器可以忽略這些硬件細節(jié)。英偉達的Kepler采用了一種折中的方法。寄存器組沖突由硬件操作數(shù)收集器處理。編譯器負責在指令流中為雙發(fā)射標記成對的指令,但雙發(fā)射真正起到錦上添花的作用。與Terascale相比,即使不進行多發(fā)射,Kepler也能保持更好的吞吐量。

盡管GCN失去了從單個線程進行多發(fā)射的能力,但它從一個線程發(fā)出請求的次數(shù)比Terascale要多。一個Terascale SIMD有16個線程寬,每四個周期可以發(fā)射一個捆綁包,但不能連續(xù)執(zhí)行來自同一線程的兩個捆綁包。因此,Terascale需要在一個SIMD中至少有兩個線程才能實現(xiàn)最大吞吐量。GCN則消除了這一限制,因此SIMD上的線程可以每四個周期執(zhí)行一次指令。Terascale可以實現(xiàn)更高的單線程吞吐量,但前提是編譯器在將指令打包成捆綁包時做得足夠好。

wKgZomWbV1GAdjSTAALv3wwWwa4460.jpg?

在沒有寄存器組沖突和依賴延遲的情況下線程的發(fā)射速度的粗略設(shè)想。每個框代表一個周期。

與此同時,Kepler可以迅速處理單個線程。它使用32寬的波和32寬的執(zhí)行單元,所以一個線程可以在每個周期發(fā)射一條指令。雙發(fā)射是錦上添花。因此,面對低占用率和有限的線程級并行性,Kepler可以保持相當不錯的吞吐量。

寄存器文件

選定的指令從寄存器文件中讀取其輸入。在GCN中,Terascale SIMD的巨大256 KB寄存器文件被拆分為四個64 KB寄存器文件,每個GCN SIMD一個。GCN的寄存器文件幾乎可以肯定是分組結(jié)構(gòu),但與Terascale相比,應該更少地受到寄存器組沖突的影響。假設(shè)仍然是四分組的寄存器文件,GCN可以提供四個輸入,以供給可能需要多達三個輸入的指令(用于熔合乘加)。如果指令從標量寄存器或指令流中的立即值獲取輸入,對向量寄存器文件的帶寬需求可能會較低。最重要的是,GCN可能有一個操作數(shù)收集器,可以在偶爾出現(xiàn)存儲器分組沖突的情況下,消除對寄存器文件帶寬的需求。

wKgZomWbV1GAWXCRAAYEAxSM5qQ003.jpg

Terascale需要復雜的調(diào)度和寄存器分配來實現(xiàn)良好的利用率。每個VLIW通道只能將返回值寫回到其對應的寄存器文件分組中,而在讀取端的任何寄存器組沖突都可能降低VLIW打包效果。由于SMX的FP32單元沒有足夠的寄存器文件帶寬來為FMA操作提供數(shù)據(jù),因此Kepler需要付出更多的努力以實現(xiàn)完全優(yōu)化。

除了向量寄存器文件外,GCN 計算單元還有一個8 KB的標量寄存器文件。如果程序可以將一些變量存儲在標量寄存器中,就可以減少向量寄存器的使用并實現(xiàn)更高的占用率。

執(zhí)行單元

GCN中的每個SIMD都有一個16路寬的執(zhí)行單元。常見的FP32操作和整數(shù)加法以全速執(zhí)行,而32位整數(shù)乘法和特殊功能以四分之一速率執(zhí)行。理論吞吐量與Terascale 3相似。但是,GCN不再需要將四條指令打包到每個捆綁包中以飽和計算單元,而是需要至少四個活躍線程來填充其四個SIMD。

Terascale的分支單元被轉(zhuǎn)換為標量ALU。盡管GPU主要是向量處理器,但它們?nèi)匀恍枰幚砜刂屏骱偷刂飞伞_@些操作通常在一個向量上是常數(shù),所以標量ALU可以卸載這些計算。將這些標量操作移至專用單元有助于減輕向量ALU的負載并提高功率效率。

wKgaomWbV1GAY354AAI8HfYkHDo777.jpg

與Kepler的SMX相比,GCN的計算單元更小,吞吐量更低。為了彌補這一缺陷,Tahiti擁有的計算單元數(shù)量是GK104擁有SMX數(shù)量的四倍。

Hawaii擴展了著色器陣列,使其可以實現(xiàn)超過5 TFLOPS的FP32吞吐量。然而,作為未來趨勢的一個標志,Hawaii的FP64性能落后于Tahiti。GCN的FP64吞吐量可從半速配置到1/16速。Tahiti采用與GCN最初計算設(shè)想相一致的1/4速FP64執(zhí)行進行配置。隨著GPU計算在客戶端應用中的重要角色逐漸明確,AMD對FP64執(zhí)行的投資減少。因此,Hawaii采用了更普通的1/8速FP64。但即使以1/8速,AMD的客戶端顯卡在FP64性能上仍大幅領(lǐng)先于英偉達同類產(chǎn)品。

計算單元數(shù)據(jù)緩存

AMD重塑了緩存層次結(jié)構(gòu),以適應通用工作負載,而非僅專注于圖形。一個16 KB的4路組相聯(lián)向量緩存作為計算單元的主數(shù)據(jù)緩存。它使用LRU替換策略,64B行,并且每周期可以為計算單元提供64字節(jié)。Terascale的8 KB只讀紋理緩存可以提供相同的每周期帶寬,但GCN享有兩倍的緩存容量和更低延遲訪問。

wKgaomWbV1KAZ17fAAE3VjJUEeM508.jpg

GCN的矢量緩存也支持寫入。L1緩存是直寫、寫分配設(shè)計。它不如大多數(shù)CPU中的回寫緩存好,但L1仍然可以在寫入被傳遞到L2之前幫助合并寫入。

wKgaomWbV1KAdFP3AAE80U7agRQ003.jpg

盡管GCN相較于Terascale有了巨大的改進,但Kepler在向量訪問方面的延遲仍然較低。AMD希望通過優(yōu)化部分內(nèi)存訪問以使用標量路徑,來緩解這一問題。

wKgaomWbV1yAexoyAAJOODqfz-k094.jpg?

分析RX 460上運行的Valheim。RX 460使用北極星,GCN架構(gòu)的衍生物

標量存儲器訪問由多達四個相鄰計算單元共享的16 KB 4路標量高速緩存提供服務(wù)。標量緩存每周期可向每個計算單元傳送16個字節(jié),并針對低延遲進行了優(yōu)化。標量緩存命中的延遲不到50納秒,這對于此時的GPU世界來說是非常快的。它與Terascale的紋理緩存200+ ns的延遲相去甚遠,比開普勒的任何緩存都快,除了它的2 KB常量緩存。

wKgZomWbV1KAa-zXAAFqjJfUh7Y023.jpg

與Terascale相比,GCN在計算單元內(nèi)的緩存策略既現(xiàn)代又靈活。除了對計算工作負載的巨大改進外,GCN的改變還應有助于圖形處理。將紋理緩存容量從8 KB增加到16 KB應該會減輕對芯片級互連的負載,并且較低的延遲意味著GPU在維持良好性能時需要較少運行中的工作。

wKgaomWbV1KAYqOkAAXsGwE3sHY838.jpg

描繪GK104 Kepler。GK210擁有128 KB的L1緩存/共享內(nèi)存

英偉達的Kepler架構(gòu)在緩存策略上既融合了過去的特點,也具備新穎之處,類似于Fermi架構(gòu)。只讀紋理緩存仍然存在。但是Kepler還有一個單獨的L1數(shù)據(jù)緩存,它與本地內(nèi)存共享存儲空間。如果這還不夠,Kepler的SMX還具有私有的兩級常量緩存設(shè)置。常量緩存與GCN的標量緩存在功能上有一定重疊。但與Fermi不同,英偉達的編譯器不再嘗試為跨波形上的常量內(nèi)存訪問使用常量緩存。您必須使用__constant限定符顯式標記內(nèi)存,以便使用常量緩存層次結(jié)構(gòu)。

結(jié)果是,Kepler具有三個獨立的數(shù)據(jù)緩存路徑,每個路徑都具有足夠的容量來獨立運行。這種緩存策略讓英偉達可以針對特定的工作負載類型專門優(yōu)化每個緩存。紋理緩存具有極高的96路關(guān)聯(lián)性,并且常量緩存提供了非常低的延遲。但是,為所有內(nèi)容設(shè)置獨立的緩存會占用面積。一個SMX擁有146 KB的緩存和本地內(nèi)存。

wKgZomWbV1KAHcBgAAP7GG_AL6E816.jpg

用于服務(wù)不同內(nèi)存類型的緩存

相比之下,一個GCN計算單元有80 KB的專用數(shù)據(jù)緩存和便箋式存儲器。如果將16 KB的L1標量緩存分配給4個CPU,這個數(shù)字會上升到84 KB。

本地內(nèi)存

除了全局內(nèi)存層次結(jié)構(gòu)之外,每個GCN計算單元都有一個名為Local Data Share(LDS)的64 KB軟件管理的本地內(nèi)存。OpenCL將此內(nèi)存類型稱為“本地內(nèi)存”。LDS的結(jié)構(gòu)與Terascale中的類似,但容量翻倍。它包括32個存儲器分組,每個分組每周期可以讀取一個32位元素,總共每周期實現(xiàn)128字節(jié)的帶寬。

wKgaomWbV1KAezOsAApoRIHWj4o371.jpg

來自AMD GCN的技術(shù)文檔

英偉達的Kepler會根據(jù)GK104或GK210變體的不同,從一個64 KB或128 KB的SRAM塊中動態(tài)分配本地內(nèi)存和L1緩存存儲空間。Nvidia將本地內(nèi)存稱為“共享內(nèi)存”。與AMD的實現(xiàn)類似,Nvidia的共享內(nèi)存由32個存儲器分組組成,但每個分組寬度為64位。這為Kepler提供了每周期256字節(jié)的本地內(nèi)存帶寬,使其更適合處理64位數(shù)據(jù)類型。

wKgZomWbV1KAKb4FAAHSZJXjhnA238.jpg

正如之前提到的,當在LDS內(nèi)進行指針追蹤時,GCN的表現(xiàn)出奇地差。Tahiti的表現(xiàn)比Cayman(Terascale 3)差。Hawaii的表現(xiàn)更好,但仍遠不及英偉達同時代的架構(gòu)。

wKgZomWbV1KAHkCdAAHGFct88D4106.jpg

AMD的優(yōu)勢在于通過LDS同步線程。內(nèi)置在LDS中的整數(shù)原子單元有助于加速這些操作。而英偉達的Fermi和Kepler架構(gòu)沒有相應的功能。它們的共享內(nèi)存非常快,但是在原子操作的性能方面仍有很大的改進空間。

二級緩存

與大多數(shù)GPU一樣,GCN具有跨GPU共享的L2緩存。L2緩存有助于處理L1未命中,并分為獨立的分片以提供高帶寬。每個分片具有64 KB或128 KB的緩存容量,并連接到一個內(nèi)存控制器通道。Tahiti和Hawaii似乎都使用64 KB分片。每周期一個分片可以讀取64字節(jié),因此Tahiti的L2應具有每周期768字節(jié)的帶寬。因此,在925 MHz的Boost頻率下,HD 7950理論上具有710 GB/s的L2帶寬。在1 GHz時,R9 390具有1 TB/s的L2帶寬。

wKgaomWbV1KAD-DRAAG28R1yKEs934.jpg

Terascale具有類似的L2分片配置,每個分片為64 KB,每周期提供64字節(jié)。然而,Terascale的L2只是一個只讀紋理緩存。GCN的L2采用了現(xiàn)代化的寫回設(shè)計。寫回緩存只在行被逐出時將寫操作向下一級傳播,從而吸收寫帶寬。此外,GCN的L2分片可以處理原子操作。Terascale上的原子操作將在單獨的、較小的讀寫緩存中處理,并且性能較差。

wKgaomWbV1KAVrxiAAGuOjONyrE952.jpg

關(guān)于GCN記憶子系統(tǒng)的評論

Terascale的緩存是基于圖形處理構(gòu)建的。著色器程序不需要向內(nèi)存中寫入太多數(shù)據(jù),它們的輸出被發(fā)送到專用的片上緩沖區(qū)。頂點著色器會輸出到參數(shù)緩存和位置緩沖區(qū),而像素著色器會將其輸出發(fā)送到ROPs(渲染輸出單元)。

wKgZomWbV1OAQx6kAAHQdVUzWOg289.jpg

根據(jù)Terascale ISA(指令集架構(gòu))手冊,每個著色器程序的輸出都通過專用的片上緩沖區(qū)進行傳遞,以盡量減少VRAM(顯存)寫入。顯然,計算程序無法從這些特殊緩沖區(qū)中受益。

計算程序被硬擠進這種現(xiàn)有結(jié)構(gòu)。如果讓Terascale在OpenCL內(nèi)核中從內(nèi)存獲取數(shù)據(jù),編譯器會發(fā)出頂點獲取或紋理采樣子句。主要的L1/L2緩存是只讀紋理緩存,因此寫帶寬表現(xiàn)不佳。

GCN使緩存層次結(jié)構(gòu)現(xiàn)代化,緩存設(shè)置類似于GPU上現(xiàn)在有的布局。主要的L1/L2緩存得到寫入支持。所有緩存中的標準64字節(jié)緩存行,可以輕松實現(xiàn)與CPU的數(shù)據(jù)共享。它們還是虛擬地址,只要緩存命中,TLB(轉(zhuǎn)換后援緩沖)未命中就不可能發(fā)生。緩存延遲和帶寬數(shù)字相較于Terascale都得到了顯著改善。在28nm制程時代,GCN使AMD在帶寬方面取得了很大的領(lǐng)先優(yōu)勢。這與40nm制程時代相反,那時Fermi通常比Terascale顯卡具有更高的帶寬。

wKgaomWbV1KAeT3uAAHBikCL4tQ168.jpg

隨著AMD繼續(xù)迭代GCN,緩存層次結(jié)構(gòu)得到了進一步的現(xiàn)代化。在GCN第三代中,只讀標量緩存獲得了寫入支持。Vega在GCN第三代之后問世,并將命令處理器和渲染后端置于L2之前。這有助于減少L2刷新并提高寫帶寬。

wKgZomWbV1KAQ_FWAAKI47Jd52c592.jpg

來自AMD關(guān)于RDNA架構(gòu)的演示

盡管經(jīng)歷了重大變革,但Terascale的部分遺留特性仍然存在。四個計算單元共享指令和標量緩存,有助于減少芯片上用于緩存的面積。這與Kepler的方法形成了鮮明對比,在Kepler中,設(shè)計師全力打造每個SMX的緩存。部分原因在于,像與同時代的英偉達競爭產(chǎn)品一樣,GCN保持了非常高的計算密度。

計算性能(VkFFT)

VkFFT在多個不同的GPU計算API中實現(xiàn)了快速傅里葉變換(FFT)。它是一個現(xiàn)代且目前仍在維護的項目,2010年代初期的GPU在完成完整基準測試時可能會遇到困難。但是每個平臺都可以通過前幾個子測試,有足夠的數(shù)據(jù)展示GCN的計算潛力。VkFFT可能受內(nèi)存限制較大,而GCN的大容量內(nèi)存總線使其表現(xiàn)出色。

wKgZomWbV1KAG2RnAAL5g74JaEA137.jpg

HD 7950在與GTX 680的對比中表現(xiàn)出色。Hawaii架構(gòu)的R9 390擴大了該優(yōu)勢。VkFFT還會輸出預估的帶寬數(shù)據(jù),這些數(shù)據(jù)展示了龐大的512位GDDR5總線所能帶來的性能。

wKgaomWbV1KAasx6AAK5fJj7COc827.jpg

等一下,Oland使用128位DDR3總線在這里是怎么回事?

遺憾的是,Tesla K80無法參加Vulkan基準測試,因為無法讓Vulkan在該云實例上工作。幸運的是,OpenCL幾乎可以在所有設(shè)備上運行,而且VkFFT也可以使用它。

wKgZomWbV1KAQOe9AAIbN17dLog041.jpg

當大型GCN與大型Kepler對決時,GCN極高的計算密度和高內(nèi)存帶寬使它在每個子測試中保持領(lǐng)先。GK210的384位總線被Hawaii的512位總線超越。最重要的是,Hawaii的頻率也更高,略高于1 GHz。Tesla K80的運行頻率約為875 MHz,因為GK210芯片必須適應150W的功耗范圍。

wKgaomWbV1KAEs_qAAIby1eHUug699.jpg

VkFFT的預估帶寬數(shù)字再次展示了GCN在帶寬方面的優(yōu)勢。Tesla K80的每個GK210芯片只有240 GB/s的理論帶寬,而R9 390的理論帶寬為384 GB/s。VkFFT在RDNA 2上進行分析時并不支持緩存,RX 6900 XT的4 MB L2幾乎沒有任何命中。K80和R9 390很可能處于類似的情況。

關(guān)于圖形性能的一點說明

對于某些計算工作負載,GCN的計算密度和高內(nèi)存帶寬可以讓它在與英偉達Kepler架構(gòu)的競爭中大幅領(lǐng)先。然而,在圖形負載方面可能是另一番情況。GCN的大規(guī)模著色器陣列在具有較長持續(xù)時間的大規(guī)模工作負載上表現(xiàn)出色。一些圖形工作負載,比如全屏像素著色器,就屬于這一類。然而,較小的工作負載可能會讓Kepler占據(jù)優(yōu)勢。

wKgaomWbV1OAJ_56AAe1KM4y1hs301.jpg

處理簡單幾何圖形的頂點著色器等小型工作負載對任何GPU來說都具有挑戰(zhàn)性,但GCN比Kepler的表現(xiàn)更糟。

相對于計算,Kepler在固定功能圖形硬件上花費更多的面積。GK104擁有四個光柵化分區(qū),每個分區(qū)有兩個SMX。如果Kepler保持與Fermi相同的光柵化吞吐量,每個光柵化器每時鐘周期可以處理一個圖元并輸出8個像素。為了實現(xiàn)Kepler完整的計算吞吐量,每個SMX需要為其四個調(diào)度分區(qū)中的每一個分配至少一個波。在沒有小三角形吞吐量損失的前提下,損失光柵化器可以在32個周期內(nèi)創(chuàng)建訪問Kepler所有計算潛力所需的最小像素工作量。Kepler每個SMX調(diào)度分區(qū)的全部占用(每分區(qū)16個波)至少需要512個周期才能達到。

wKgZomWbV1OAOXCdAAT5n9f2Hm8136.jpg

Tahiti有兩個光柵化器來為一組32個計算單元(CU)提供輸入,即每16個計算單元有一個光柵化器。每個光柵化器每時鐘周期可以處理一個圖元,并在每四個周期內(nèi)創(chuàng)建一個64寬的像素工作波。與Kepler的SMX類似,GCN的計算單元需要為每個SIMD分配至少一個波,以實現(xiàn)完整的吞吐量。光柵化器需要256個時鐘周期來實現(xiàn)這一點。達到最大占用率需要2560個時鐘周期。

wKgZomWbV1OAUrkLAAVYhkKuMdw299.jpg

來自AMD的GDC 2018的演示. GK104 Kepler的“SE:CU”比例式1;2

Hawaii通過增加到四個光柵化器來改善這種情況。對于每個光柵化器的11個計算單元,第二代GCN可以在176個周期內(nèi)實現(xiàn)每個SIMD一個波,以及在1760個周期內(nèi)實現(xiàn)完全占用。然后,像Vega 64和Fury X這樣的更大型GCN實現(xiàn)再次擴展了著色器陣列,將SE(Shader Engine)與計算單元的比例恢復到1:16。

wKgZomWbV1SAUu-QAALC18lvB1k826.jpg

放大在6900 XT上運行的瓦爾海姆的RGP配置文件,顯示了光柵化器填充著色器陣列時的延遲。同樣的情況也適用于GCN,但GCN應該更糟

每線程性能是另一個問題。圖形渲染可能涉及具有有限并行性的序列。與Terascale相比,GCN可能提供更為穩(wěn)定的每線程性能。但是,Kepler可以為單個線程提供更多的執(zhí)行資源,這在具有大量小型繪制調(diào)用的序列中非常重要。

wKgaomWbV1OAesDBAAJY6Wf-jYQ220.jpg

放大觀察在6900 XT上運行的Cyberpunk 2077剖析,顯示具有有限并行性和短周期的小型繪制調(diào)用。在這類序列中,Kepler應該優(yōu)于GCN。

因此,高端GCN GPU通常在較高分辨率下表現(xiàn)良好。渲染更多像素意味著更多的并行性,這使得線程啟動速率和每線程執(zhí)行時間相較于GPU的整體吞吐量變得不那么重要。

寫在最后

GCN是一個完全現(xiàn)代化的架構(gòu)。該設(shè)計的調(diào)度、執(zhí)行單元布局和緩存設(shè)置與RDNA 3和英偉達的Ada Lovelace具有更多共同點,而不像其直接前身Terascale 3。與最近的GPU一樣,GCN的設(shè)計在計算和圖形方面都具有很好的定位。然而,AMD側(cè)重于計算的轉(zhuǎn)變并未取得成功。與英偉達的生態(tài)系統(tǒng)優(yōu)勢相比,GCN的通用設(shè)計并沒有太大意義。CUDA在OpenCL之前成熟,并附帶一套預優(yōu)化的庫。更糟糕的是,GPU計算在消費者領(lǐng)域并未蒸蒸日上。游戲性能仍然是最重要的。

在2010年代初至中期,光柵化圖形繼續(xù)主導游戲市場。AMD在Hawaii中擴展了GCN的工作分配硬件,但英偉達在Maxwell和Pascal中取得了巨大的提升。GCN在性能和能效方面仍然難以與之匹配。

wKgZomWbV1OAEIiMAAziN7IrIWQ065.jpg

AMD希望您編寫計算著色器。

雖然這對2012年的AMD來說可能沒什么慰藉,但現(xiàn)代趨勢已經(jīng)證實了GCN設(shè)計的合理性。固定功能圖形硬件仍然重要,但游戲已逐漸趨向于使用更多的計算。光線追蹤是一個廣為人知的例子。光線追蹤基本上是一種計算工作負載,它不使用光柵化器。然而,即使沒有光線追蹤,計算著色器也在現(xiàn)代游戲中悄然發(fā)揮著更大的作用。現(xiàn)代設(shè)計采用了GCN設(shè)計的一些元素。RDNA保留了標量數(shù)據(jù)路徑,并使用了類似的指令集。英偉達在其Turing架構(gòu)中加入了標量路徑(稱為統(tǒng)一數(shù)據(jù)路徑),并將其保留在后續(xù)設(shè)計中。

如今,得益于更高的顯存容量,HD 7950比GTX 680更具可用性。GCN的設(shè)計也更傾向于大型、長時間運行的內(nèi)核,因為這可以讓GCN的大型著色器陣列更好地發(fā)揮作用,同時減輕了光柵化器快速啟動波前來填充它的壓力。這使得Tahiti更有能力應對新游戲帶來的更高著色器工作負載。R9 390也是如此。幾個月前,我收到了一位朋友的朋友不再使用的這款顯卡,但這并不是因為這款顯卡性能不足。相反地,這款R9 390為他效力的時間太長,以至于散熱膏都已經(jīng)干掉,導致性能極度降低。








審核編輯:劉清

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

    關(guān)注

    112

    文章

    16402

    瀏覽量

    178555
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4753

    瀏覽量

    129067
  • VRAM
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    8536
  • GCN
    GCN
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    2297

原文標題:萬字長文解讀AMD的GPU架構(gòu)GCN

文章出處:【微信號:ICViews,微信公眾號:半導體產(chǎn)業(yè)縱橫】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    《CST Studio Suite 2024 GPU加速計算指南》

    的各個方面,包括硬件支持、操作系統(tǒng)支持、許可證、GPU計算的啟用、NVIDIA和AMD GPU的詳細信息以及相關(guān)的使用指南和故障排除等內(nèi)容。 1. 硬件支持 - NVIDIA GPU
    發(fā)表于 12-16 14:25

    《算力芯片 高性能 CPUGPUNPU 微架構(gòu)分析》第3篇閱讀心得:GPU革命:從圖形引擎到AI加速器的蛻變

    在數(shù)據(jù)挖掘工作中,我經(jīng)常需要處理海量數(shù)據(jù)的深度學習任務(wù),這讓我對GPU架構(gòu)和張量運算充滿好奇。閱讀《算力芯片》第7-9章,讓我對這些關(guān)鍵技術(shù)有了全新認識。 GPU架構(gòu)從早期的固定功能流
    發(fā)表于 11-24 17:12

    GPU服務(wù)器AI網(wǎng)絡(luò)架構(gòu)設(shè)計

    眾所周知,在大型模型訓練中,通常采用每臺服務(wù)器配備多個GPU的集群架構(gòu)。在上一篇文章《高性能GPU服務(wù)器AI網(wǎng)絡(luò)架構(gòu)(上篇)》中,我們對GPU
    的頭像 發(fā)表于 11-05 16:20 ?430次閱讀
    <b class='flag-5'>GPU</b>服務(wù)器AI網(wǎng)絡(luò)<b class='flag-5'>架構(gòu)</b>設(shè)計

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

    本篇閱讀學習第七、八章,了解GPU架構(gòu)演進及CPGPU存儲體系與線程管理 █從圖形到計算的GPU架構(gòu)演進 GPU圖像計算發(fā)展 ●從三角形開始
    發(fā)表于 11-03 12:55

    AMD與NVIDIA GPU優(yōu)缺點

    在圖形處理單元(GPU)市場,AMD和NVIDIA是兩大主要的競爭者,它們各自推出的產(chǎn)品在性能、功耗、價格等方面都有著不同的特點和優(yōu)勢。 一、性能 GPU的性能是用戶最關(guān)心的指標之一。在高端市場
    的頭像 發(fā)表于 10-27 11:15 ?808次閱讀

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗】--全書概覽

    經(jīng)典 GPU 算力芯片解讀 10.1 NVIDIAGPU芯片 10.2 AMDGPU芯片 10.3 IntelXeGPU架構(gòu) 10.3.4 超大芯片Ponte Vecchio 第11章 存儲與互連總線
    發(fā)表于 10-15 22:08

    Optiver采用AMD企業(yè)級產(chǎn)品實現(xiàn)數(shù)據(jù)中心現(xiàn)代化

    AMD(超威,納斯達克股票代碼:AMD )宣布,Optiver – 在超過 100 家交易所擁有交易業(yè)務(wù)的全球領(lǐng)先做市商 – 正在廣泛采用 AMD 高性能計算引擎,通過構(gòu)建一個用作組織基礎(chǔ)的現(xiàn)
    的頭像 發(fā)表于 09-18 09:54 ?553次閱讀

    ALINX FPGA+GPU架構(gòu)視頻圖像處理開發(fā)平臺介紹

    Alinx 最新發(fā)布的新品 Z19-M 是一款創(chuàng)新的 FPGA+GPU 異構(gòu)架構(gòu)視頻圖像處理開發(fā)平臺,它結(jié)合了 AMD Zynq UltraScale+ MPSoC(FPGA)與 NVIDIA Jetson Orin NX(
    的頭像 發(fā)表于 08-29 14:43 ?1216次閱讀

    進一步解讀英偉達 Blackwell 架構(gòu)、NVlink及GB200 超級芯片

    藥物設(shè)計、量子計算和生成式 AI 等領(lǐng)域。 為了紀念杰出的數(shù)學家David H.Blackwell,英偉達 Blackwell架構(gòu)被明確設(shè)計用來滿足現(xiàn)代人工智能工作負載日益增長的計算和帶寬需求。隨著
    發(fā)表于 05-13 17:16

    Optiver使用AMD企業(yè)級產(chǎn)品組合賦能數(shù)據(jù)中心現(xiàn)代化

    AMD宣布,Optiver – 在超過100家交易所擁有交易業(yè)務(wù)的全球領(lǐng)先做市商 – 正在廣泛采用AMD高性能計算引擎,通過構(gòu)建一個用作組織基礎(chǔ)的現(xiàn)代化基礎(chǔ)設(shè)施,幫助其進一步履行改善金融市場的使命。
    的頭像 發(fā)表于 05-13 09:59 ?393次閱讀

    英偉達、AMD、英特爾GPU產(chǎn)品及優(yōu)勢匯總

    電子發(fā)燒友網(wǎng)報道(文/李彎彎)隨著人工智能技術(shù)的快速發(fā)展,GPU的市場規(guī)模在全球范圍內(nèi)持續(xù)提升。目前,GPU市場主要由英偉達、AMD和英特爾等幾家大公司主導。其中,英偉達在AI GPU
    的頭像 發(fā)表于 05-10 00:59 ?5294次閱讀

    X-Silicon發(fā)布RISC-V新架構(gòu) 實現(xiàn)CPU/GPU一體化

    X-Silicon 的芯片與其他架構(gòu)不同,其設(shè)計將 CPU 和 GPU 的功能整合到單核架構(gòu)中。這與英特爾和 AMD 的典型設(shè)計不同,前者有獨立的 CPU 內(nèi)核和
    發(fā)表于 04-08 11:34 ?612次閱讀
    X-Silicon發(fā)布RISC-V新<b class='flag-5'>架構(gòu)</b> 實現(xiàn)CPU/<b class='flag-5'>GPU</b>一體化

    RISC-V芯片新突破:CPU與GPU一體化核心設(shè)計

    X-Silicon 的芯片與其他架構(gòu)不同,其設(shè)計將 CPU 和 GPU 的功能結(jié)合到單核架構(gòu)中。這與 Intel 和 AMD 的典型設(shè)計不同,后者有獨立的 CPU 核心和
    發(fā)表于 04-07 10:41 ?750次閱讀
    RISC-V芯片新突破:CPU與<b class='flag-5'>GPU</b>一體化核心設(shè)計

    AMD推出全新Spartan UltraScale+ FPGA系列

    AMD 已經(jīng)擁有 Zynq UltraScale+ 和 Artix UltraScale+ 系列,而 Spartan UltraScale+ FPGA 系列的推出使其不斷現(xiàn)代化
    發(fā)表于 03-18 10:40 ?404次閱讀
    <b class='flag-5'>AMD</b>推出全新Spartan UltraScale+ FPGA系列

    AMD將推新GPU,效能媲美英偉達RTX 4080

    據(jù)悉,AMD正努力研制新品級GPU,性能堪比英偉達的RTX 4080,而售價卻只有后者的一半。據(jù)多個在線社區(qū)反映,AMD即將發(fā)布的Radeon RX 8000系列GPU效能與NVIDI
    的頭像 發(fā)表于 01-31 10:00 ?3005次閱讀
    主站蜘蛛池模板: 久久永久影院免费| 一个人免费观看HD完整版| 白丝女仆被啪到深夜漫画| 十分钟免费视频大全在线| 国产综合欧美区在线| 中国拍三a级的明星女| 欧美 亚洲 日韩 中文2019| 妇少水多18P蜜泬17P亚洲乱| 亚洲成年男人的天堂网| 蜜臀AV人妻久久无码精品麻豆 | 一品道门免费高清视频| 欧洲video60| 九九热在线免费观看| 99香蕉精品视频在线观看| 亚洲 在线 日韩 欧美| 欧美zzzoooxxx| 国产在线aaa片一区二区99| av网站视频在线观看| 亚洲综合网国产精品一区| 日韩精品免费在线观看| 榴莲推广APP网站入口官网| 国产激情视频在线观看| 99视频网站| 456亚洲人成在线播放网站| 亚洲 日韩 国产 中文视频 | 中文无码字慕在线观看| 亚洲AV永久无码精品老司机蜜桃| 鸥美一级黄色片| 欧美日韩亚洲一区二区三区在线观看| 果冻传媒视频在线播放 免费观看| 超碰97人人做人人爱网站| 99久久re6热精品首页| 最美白嫩的极品美女ASSPICS| 亚洲午夜久久久无码精品网红A片| 琪琪色原网站ying | 午夜性爽视频男人的天堂在线| 午夜免费体验30分| 夜里18款禁用的免费B站动漫| 中文字幕在线观看国产| 91热久久免费频精品动漫99| 中文字幕午夜福利片|