愛伊米

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

隨著HPC應用地位的日益攀升,GPU的受關注程度似乎達到了新高度。不過現在探討的重點,更偏向於GPU在資料中心、汽車等裝置之上的應用;畢竟手機、PC之類的消費電子產品近半年略有式微之感。不過原本,GPU在更多市場發揮作用也是當前的大趨勢。

其中比較顯著的一個議題,就是不只是手機之類的電池驅動型裝置對元件功耗、能效有高要求,像資料中心這類原本對晶片功耗沒那麼敏感、更偏向高效能的場景,如今也在追求高能效,和算力密度(單位空間內所能提供的算力);以及如汽車電動化趨勢之下,“續航里程焦慮”也讓其中各類元件的功耗、能效變得尤為關鍵。負責圖形乃至通用計算加速的GPU自然是其中之一;效能和功耗雙方需要進一步得到兼顧。

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

最近Khronos & Imagination技術研討會在上海舉辦,主體上還是圍繞Khronos的API標準,以及Imagination的GPU IP展開的技術探討。包括芯動科技、芯馳科技等在內的下游晶片設計企業,以及騰訊、位元組跳動等應用端企業也參與了這次活動。

我們比較感興趣的是,在應對當前GPU發展趨勢的過程中,Imagination在技術層面都做了些什麼。本次研討會的多個議題實際上都著力於解答該問題。而Imagination對GPU架構和技術的呈現,也有利於我們進一步理解GPU技術現如今正在發生怎樣的轉變。

市場對GPU的新需求

Imagination對於GPU晶片當前的市場需求與趨勢方面的總結大致上有下面這4點:

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

其一是擴充套件性、彈性(scalability)要求,從手機這樣的小裝置,到雲資料中心規模級別的算力都覆蓋——如果在晶片架構上能夠提供對應的彈性,自然能夠達成更高的晶片設計效率。這似乎也是當代幾個比較主流的GPU供應商,在做架構設計時普遍考慮的問題。

這其中有一些對應的新技術和新需求湧現,例如chiplet、先進封裝。汽車應用方向上,則有FuSa功能安全方面的需求——“不管冗餘設計要求算兩遍,還是某些功能失效後怎麼辦的問題,都需要考慮。”

第二,就是文首提到的能耗比、熱效能、算力密度。不同方向的應用當前對“效率”都越來越看重,不同規模的裝置都開始受到功耗、發熱等方面的限制。這方面“我們不能單單以製造工藝的進步,來主導我們往前走。”

第三,則在於頻寬方面的限制。主流馮諾依曼體系架構中,制約晶片效能的關鍵在資料存取和通訊的過程中——這是能耗與熱量開銷的大頭;另外在chiplet之類的新技術大規模應用之際,chiplet之間的資料同步、通訊延遲等問題也都需要考慮進來。不過實際上,我們認為頻寬問題也可以歸屬到第二點。Imagination將這一點單獨拿出來談,當與其GPU的TBDR架構有很大關係。

第四個新需求在安全(security)方面。尤其當GPU應用於雲以後,GPU也成為安全鏈上的一環,硬體層面的安全支援也顯得很重要。實際上像英偉達這樣的GPU企業,這兩年的GTC上也越來越多地去談資訊保安話題,亦能明確這方面的未來趨勢。

IMG GPU的幾個架構特色

針對這幾個問題,Imagination在研討會上給出了一些“方案”,或者說其PowerVR GPU IP產品現有的一些架構特性,是如何去滿足市場需求的。對PowerVR比較熟的讀者應該也都不會陌生。

首先是針對架構彈性擴充套件的問題,這一直以來都是Imagination的GPU特色:即模組化、層級化的方式,透過一種架構的彈性化擴充套件,覆蓋從手機到伺服器市場的各類需求。

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

比如這一代CXT架構,如上圖中左下的CXT-16-512 RT1(16 Pixels/Clock,512 FP32 FLOPs/Clock,1個RT核心),規模可以翻倍達成填充率、算力等效能成倍提升,直至4倍時形成單core——在有更高效能要求時還有多核的MC2-MC8不同規模版本;從多核再擴充套件到多例項(multi-instance)——多GPU卡應用於伺服器和雲市場。

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

Imagination表示,在具體設計上加上標準NOC片上網路技術,這樣的彈性方案也很符合chiplet結構的需求——複用相同的模組,將多個模組以chiplet的方案封裝到一起,形成更大的GPU。其關鍵點也在於避免採用過於中心化的邏輯,以及複雜訊號設計,而採用相對鬆散、去中心化的結構,靈活性更好。

這種設計也在很多層面帶來了好處,比如說硬體虛擬化、汽車功能安全的冗餘設計,以及各chiplet之間的非同步操作等等。

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

其次Imagination談到了tile-based,也就是基於分塊的渲染架構在滿足當代GPU需求方面的優勢。傳統意義上,基於tile的渲染方式一直是移動領域的重要藝能,主要是考慮到移動裝置的頻寬、功耗等方面受到的限制都比較大。Imagination、蘋果、Arm、高通的GPU方案都是基於tile的渲染方式。

著眼於前文提到不同應用市場對於頻寬、功耗方面的新需求,這種基於tile的渲染方式在移動之外的市場也能延續效率上的顯著優勢。因為基於tile的處理方式,是在對物件做sort以後,以tile為單位做處理——如此一來不少處理過程就能在片內cache上做,也就提升了能效,降低了功耗;寫出tile更加的“burst effective”,對於cache與記憶體相關操作更友好。

另外基於tile渲染還有個優勢,按照Imagination的說法,它天然地更適合彈性擴充套件。因為每個tile都是相對獨立的,“也就有利於在多核或多裝置之間分發這些tile,也有利於達成效能的線性scaling”。相對的“傳統IMR(立即渲染模式)以三角形為單位的渲染方式”就無法達成這樣的效果。

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

在tile-based基礎上,接下來當然就要提到Imagination長久以來引以為傲的TBDR了,這其實一直也是Imagination對自家GPU IP的宣傳點,如上圖所示。在流程上同在採用TBDR的廠商主要還有蘋果。藉由所謂的perfect tiling、culling,提升頻寬利用率和整體效率也都算是TBDR的傳統特色了。

當然其中有很多細節,比如說三角形binning精準地落到對應的tile之上,避免資料的overfetch;再比如更高效的場景中被遮擋三角形的拋棄、對於後面光柵化(rasterization)階段貢獻很低的小型三角形的拋棄等等,對於縮減頻寬、功耗都是有價值的。

還有資料的硬體壓縮也是縮減頻寬需求的重要組成部分。

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

TBDR中的“D”是指“延後”渲染,在流程上和一般的TBR還是有不同。在tiling之後,primitive list和頂點資料是有一次寫出的。“寫出是要把tile list表達清楚,哪個三角形在對應的tile區域內,在這個環節表達清楚。在此之後,其他任務就相對獨立,都在tile上面,透過on-chip memory來做HSR消隱等操作。”

尤其HSR(隱面消除)所在位置,一直都是Imagination這種TBDR結構提升效率的優勢。本質也在於儘早拋棄不需要的部分,在後期階段也就節約了不必要的資源開支。Imagination表示在考慮對框架做改進——在幾何階段,Imagination內部正考慮引入新的特性,以其令其更有利於多核GPU的任務分發,提升並行率;另外對於需要寫出到系統記憶體的資料,“我們也在考慮,可以透過壓縮來處理這幾塊buffer的data。”Imagination在主題演講中談到。

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

資料壓縮也是節約頻寬的重要技術。針對不同階段、各種資料的壓縮,Imagination形容“渲染裡面幾乎所有的data,都做壓縮”。包括對開發者可見的紋理壓縮以及無需開發者關心的幾何壓縮。

還有Imagination花了不少工夫的IMGIC,針對系統記憶體中render target的讀寫frame buffer image壓縮——應當是Imagination在釋出B系列GPU的時候引入的,用於替代此前逐漸不再有優勢的PVRIC。無損和有失真壓縮均支援:對於有失真壓縮,據說能夠在對質量僅有輕微影響的情況下,獲得非常大的壓縮比。

Imagination表示,相比於市面上的競爭對手,其GPU可達成20-40%的頻寬節約——上圖的測試場景和遊戲中都有所體現。頻寬需求更低,也就意味著能夠提供更好的持續效能或者更低的功耗。

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

順應時代發展趨勢,GPU從硬體層面開始注重安全以及虛擬化特性。上面這張圖的例子是當GPU應用於汽車之時——當代座艙內就有好幾塊螢幕,用途各異——它們在系統內可能會由同一個GPU來驅動。那麼虛擬化在此就能發揮作用,包括從作業系統層級來做效能負載的分配。

還有負載的安全和隔離——比如儀表盤、導航、娛樂系統都跑在一個GPU上,則在某個系統崩潰時不會影響到儀表盤,即功能安全相關負載——GPU在此就是將使用場景,在硬體級上實現切分。另外在其他一些使用場景上,比如手機之上,對應的特性就能對神經網路加速,和UI特性做到資源均衡分配。當然還有在雲伺服器上,硬體虛擬化多租戶也是十分必要的特性。

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

最後一個亮點特性,在於其firmware processor韌體處理器上。前年我們細談Imagination的A系列GPU微架構時,就特別談到過當時架構改進中新增的這個“韌體功能”。這次的研討會上,韌體功能也被當做一個重點做了介紹。

基於其可程式設計性,這個processor可以幫助降低主CPU的負載開銷。“渲染的時候,有很多中斷訊號或申請訊號,就不需要回到主CPU去,這個小的CPU也能響應。”韌體功能也能做到虛擬化隔離,“我們甚至能夠做到每一個USC給某一個應用來用。”

另外,不少複雜排程、安全、保護特性需要這樣的韌體功能。應對未來的新需求,自然也能透過韌體來做調整。而且其可程式設計可擴充套件性,就令其很適用於除錯,當GPU崩潰時能夠給出完整的資料log。所以這對於功能安全的錯誤分析也就很有幫助。而在上面跑個debugserver,連線GDB來做debug,就是個不錯的debug工具。

與此同時“firmware其實知道GPU裡面的不少資訊,包括寄存資訊、memory資訊、當前繪製的workload資訊——基於此可以和外部裝置做互動。”透過GPIO口進行電源管理。“firmware處理器知道GPU有多忙,那麼我們就能快速高效地,在硬體上原生實施DVFS機制。”“所以總的來說,在頻寬效率、能耗比以及安全方面,它都能帶來幫助。”

以光追架構為例

如果要用一個詞來總結Imagination當前做GPU IP的理念的話,應該就是“efficiency”(效率)了,所以Imagination才會在研討會上反覆強調能效、算力密度、頻寬效率這些詞。

我們倒是覺得,如果要舉一個具體的例子的話,則Imagination的光追技術及架構應該是能夠代表對“效率”一詞的貫徹的。不過受限於篇幅,最後只能再簡單談一談。

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

Imagination在技術白皮書裡談到過,他們將光追實現分成了6個等級,此前我們詳細撰文探討過。除了L0是早年各自為政的技術探索、L1是從軟體層面來做光追、L2部分加入硬體專門的支援(ray-box與ray-triangle相交處理問題),L3往後實則是我們現在普遍理解中的光線追蹤技術。

L2、L3把光線遍歷、追蹤和監控演算法透過專門的硬體來實現,在效能和效率上有了成倍提升。關鍵是這裡的L4:Imagination認為L4是要在L3硬體實現的基礎上,給BVH(bounding volume hierarchy,層次包圍體)處理再加個“Coherency Sorting”。

因為在Imagination看來,要在對功耗非常敏感的移動平臺上實踐光線追蹤,還需要更進一步提升效率。考慮光線穿過BVH有不同的路徑,需要頻繁進行記憶體訪問,不同路徑又與不同三角形相交加重了shader的工作量。所以這裡coherency sorting的意義在於對具有相干性的光線進行sorting——比如某些材質反射同方向光線做分組,來達成更高的資料複用、提升並行ALU管線利用率。

在Imagination看來,coherency sorting之於光線追蹤,就相當於tile-based rendering對於GPU效率的意義。這一點實則是能夠看出Imagination在GPU IP上對“efficiency”一詞的貫徹的。

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

上面這張圖是Imagination當前光追的硬體實現:一個RAC光追單元簇,由以上這些主要的單元模組構成。光追L4實現就在其中的PCG(packet coherency gathering)單元上:它會對所有活躍光線做分析,然後對“相干”光線做分組。

這也是Imagination眼中,未來手機這類功耗受限的裝置上實現光追的必行之策。而且這個特性是不需要開發者去關心的。

Imagination表示,相比於市面上的其他解決方案,這種光追架構能夠在光追負載上最多達成2。5倍的效率領先。

從手機到雲,如果GPU都需要能效,那架構該長什麼樣?

另外,前文提到的各種技術特性實則都能在Imagination的光追架構上有所體現。比如彈性擴充套件方案:此處GPU的基本單元是其中的SPU。RAC作為光追單元簇也是包含其中,並可做擴充套件的——兩個ALU引擎共享一個RAC。而SPU本身也包含了其他完整的固定功能單元。

Imagination在推行高能效GPU一事上的思路還是相當清晰的,雖說研討會上談到的不少技術仍有偏向自家架構和技術的意思,不過大方向的確沒錯。即不只是手機這樣的移動裝置,包括PC、汽車、資料中心、雲等不同規模GPU算力需求的裝置和應用場景都會越來越看重效率——不管是頻寬效率、算力密度還是整體能效比。

這就要求在架構層面有可擴充套件的彈性設計、各種能夠節約頻寬資源和提升效率的技術,再加上符合現代GPU發展需求的新特性:如安全、虛擬化。不管達成這些目標的具體技術是不是基於tile的、延後渲染的,或者各類資料壓縮方案,未來市場對GPU的技術需求都將是如此。

作者:黃燁鋒 資深產業分析師

END