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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

AMD的GPU架構GCN現代化解讀

半導體產業縱橫 ? 來源:半導體產業縱橫 ? 2024-01-08 09:58 ? 次閱讀

GCN,AMDGPU架構現代化。

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

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

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

wKgZomWbV1GAYWe9AABTs1B4NgI294.jpg

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

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

系統架構

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

wKgZomWbV1KAZXxsAAQlQXruvrw670.jpg

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

wKgZomWbV1GASiAFAARgVO4Orrg528.jpg

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

wKgaomWbV1GAHyahAASSPFRpnos734.jpg

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

GCN的計算單元

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

計算單元前端

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

wKgZomWbV1GAZRNfAAGzVcU0MW4066.jpg

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

wKgZomWbV1GAA96BAAJFA54LjR8972.jpg

指令帶寬需求可視化

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

調度和指令發布

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

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

wKgaomWbV1GAY3uxAAJhuIkLt6Q558.jpg?

假設達到理論占用率

wKgaomWbV1GANi_hAAWHLf4bBFE909.jpg

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

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

wKgZomWbV1GAdjSTAALv3wwWwa4460.jpg?

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

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

寄存器文件

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

wKgZomWbV1GAWXCRAAYEAxSM5qQ003.jpg

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

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

執行單元

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

Terascale的分支單元被轉換為標量ALU。盡管GPU主要是向量處理器,但它們仍然需要處理控制流和地址生成。這些操作通常在一個向量上是常數,所以標量ALU可以卸載這些計算。將這些標量操作移至專用單元有助于減輕向量ALU的負載并提高功率效率。

wKgaomWbV1GAY354AAI8HfYkHDo777.jpg

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

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

計算單元數據緩存

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

wKgaomWbV1KAZ17fAAE3VjJUEeM508.jpg

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

wKgaomWbV1KAdFP3AAE80U7agRQ003.jpg

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

wKgaomWbV1yAexoyAAJOODqfz-k094.jpg?

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

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

wKgZomWbV1KAa-zXAAFqjJfUh7Y023.jpg

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

wKgaomWbV1KAYqOkAAXsGwE3sHY838.jpg

描繪GK104 Kepler。GK210擁有128 KB的L1緩存/共享內存

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

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

wKgZomWbV1KAHcBgAAP7GG_AL6E816.jpg

用于服務不同內存類型的緩存

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

本地內存

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

wKgaomWbV1KAezOsAApoRIHWj4o371.jpg

來自AMD GCN的技術文檔

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

wKgZomWbV1KAKb4FAAHSZJXjhnA238.jpg

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

wKgZomWbV1KAHkCdAAHGFct88D4106.jpg

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

二級緩存

與大多數GPU一樣,GCN具有跨GPU共享的L2緩存。L2緩存有助于處理L1未命中,并分為獨立的分片以提供高帶寬。每個分片具有64 KB或128 KB的緩存容量,并連接到一個內存控制器通道。Tahiti和Hawaii似乎都使用64 KB分片。每周期一個分片可以讀取64字節,因此Tahiti的L2應具有每周期768字節的帶寬。因此,在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字節。然而,Terascale的L2只是一個只讀紋理緩存。GCN的L2采用了現代化的寫回設計。寫回緩存只在行被逐出時將寫操作向下一級傳播,從而吸收寫帶寬。此外,GCN的L2分片可以處理原子操作。Terascale上的原子操作將在單獨的、較小的讀寫緩存中處理,并且性能較差。

wKgaomWbV1KAVrxiAAGuOjONyrE952.jpg

關于GCN記憶子系統的評論

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

wKgZomWbV1OAQx6kAAHQdVUzWOg289.jpg

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

計算程序被硬擠進這種現有結構。如果讓Terascale在OpenCL內核中從內存獲取數據,編譯器會發出頂點獲取或紋理采樣子句。主要的L1/L2緩存是只讀紋理緩存,因此寫帶寬表現不佳。

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

wKgaomWbV1KAeT3uAAHBikCL4tQ168.jpg

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

wKgZomWbV1KAQ_FWAAKI47Jd52c592.jpg

來自AMD關于RDNA架構的演示

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

計算性能(VkFFT)

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

wKgZomWbV1KAG2RnAAL5g74JaEA137.jpg

HD 7950在與GTX 680的對比中表現出色。Hawaii架構的R9 390擴大了該優勢。VkFFT還會輸出預估的帶寬數據,這些數據展示了龐大的512位GDDR5總線所能帶來的性能。

wKgaomWbV1KAasx6AAK5fJj7COc827.jpg

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

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

wKgZomWbV1KAQOe9AAIbN17dLog041.jpg

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

wKgaomWbV1KAEs_qAAIby1eHUug699.jpg

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

關于圖形性能的一點說明

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

wKgaomWbV1OAJ_56AAe1KM4y1hs301.jpg

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

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

wKgZomWbV1OAOXCdAAT5n9f2Hm8136.jpg

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

wKgZomWbV1OAUrkLAAVYhkKuMdw299.jpg

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

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

wKgZomWbV1SAUu-QAALC18lvB1k826.jpg

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

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

wKgaomWbV1OAesDBAAJY6Wf-jYQ220.jpg

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

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

寫在最后

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

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

wKgZomWbV1OAEIiMAAziN7IrIWQ065.jpg

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

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

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








審核編輯:劉清

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

    關注

    113

    文章

    16767

    瀏覽量

    181763
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4860

    瀏覽量

    130149
  • VRAM
    +關注

    關注

    0

    文章

    5

    瀏覽量

    8669
  • GCN
    GCN
    +關注

    關注

    0

    文章

    5

    瀏覽量

    2327

原文標題:萬字長文解讀AMD的GPU架構GCN

文章出處:【微信號:ICViews,微信公眾號:半導體產業縱橫】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    專訪AMD王啟尚 從RDNA 4到FSR 4,AMD GPU技術創新引領行業新發展

    在近日于珠海舉辦的AMD新一代Radeon RX 9070系列顯卡發布會后,AMD GPU技術與工程研發副總裁王啟尚接受了我們的專訪。在本次交談中,他詳細分享了RDNA 4架構的設計理
    的頭像 發表于 03-06 11:19 ?260次閱讀
    專訪<b class='flag-5'>AMD</b>王啟尚 從RDNA 4到FSR 4,<b class='flag-5'>AMD</b> <b class='flag-5'>GPU</b>技術創新引領行業新發展

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

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

    雷曼光電助力校園現代化建設

    近日,雷曼光電為巴基斯坦University of Wah報告廳打造了大尺寸、高分辨率的雷曼超高清大屏,為學校日常開展課堂授課、學術交流和校園活動等提供強有力的硬件和技術支持,助力校園現代化建設,也為客戶帶來了顯著的應用價值。
    的頭像 發表于 11-26 15:14 ?445次閱讀

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

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

    ESD應用手冊:汽車版現代化接口保護概念、測試和仿真

    電子發燒友網站提供《ESD應用手冊:汽車版現代化接口保護概念、測試和仿真.pdf》資料免費下載
    發表于 11-19 14:38 ?0次下載

    GPU服務器AI網絡架構設計

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

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

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

    AMD與NVIDIA GPU優缺點

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

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

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

    Optiver采用AMD企業級產品實現數據中心現代化

    AMD(超威,納斯達克股票代碼:AMD )宣布,Optiver – 在超過 100 家交易所擁有交易業務的全球領先做市商 – 正在廣泛采用 AMD 高性能計算引擎,通過構建一個用作組織基礎的
    的頭像 發表于 09-18 09:54 ?748次閱讀

    ALINX FPGA+GPU架構視頻圖像處理開發平臺介紹

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

    進一步解讀英偉達 Blackwell 架構、NVlink及GB200 超級芯片

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

    Optiver使用AMD企業級產品組合賦能數據中心現代化

    AMD宣布,Optiver – 在超過100家交易所擁有交易業務的全球領先做市商 – 正在廣泛采用AMD高性能計算引擎,通過構建一個用作組織基礎的現代化基礎設施,幫助其進一步履行改善金融市場的使命。
    的頭像 發表于 05-13 09:59 ?502次閱讀

    英偉達、AMD、英特爾GPU產品及優勢匯總

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

    農業現代化:UWB模塊為農業領域帶來的效益和便利

    隨著科技的進步和農業現代化的推進,超寬帶(UWB)技術正逐漸在農業領域發揮重要作用。UWB模塊作為UWB技術的核心組成部分,具有高精度、實時性強的特點,為農業生產提供了新的技術手段和解決方案。本文將
    的頭像 發表于 04-12 15:02 ?593次閱讀
    主站蜘蛛池模板: 国产激情一级毛片久久久 | 91国内精品久久久久免费影院 | 欧美精品AV无码一区二区 | 国产在线精品亚洲观看不卡欧美 | 91夫妻交友论坛 | 欧美精品XXXXBBBB| 亚洲精品久久久无码AV片软件 | 37大但人文艺术A级都市天气 | 好男人在线观看视频观看高清视频免费 | 精品久久久久久久久免费影院 | 精品久久久99大香线蕉 | 共妻肉多荤文高h一女n男 | 嫩草影院地址一二三 | 色欲人妻无码AV精品一区二区 | 久久黄色精品视频 | 老版香蕉版下载 | 真实国产熟睡乱子伦对白无套 | 伊人影院综合网 | 久久香蕉国产线看观看首页 | 99re热精品视频国产免费 | 在线电台收听 | 邪恶肉肉全彩色无遮琉璃神社 | 在线观看中文 | 调教玩弄奶头乳夹开乳震动器 | 青青草国产偷拍在线av | 亚洲呦女专区 | 久久久久久免费观看 | 在线观看免费亚洲 | 吃胸亲吻吃奶摸下面免费视频 | 好男人WWW免费高清视频在线 | 2019精品国产品在线不卡 | 国外成人电台 | 国产精品久久久久影院色 | 中文无码不卡的岛国片国产片 | 内射白嫩少妇超碰 | 99热国产这里只有精品9九 | 免费 高清 中文在线观看 | 久久久无码精品亚洲日韩按摩 | 小SB几天没做SAO死了H | 国产在线一卡二卡 | 老板揉搓秘书丰满大乳 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品