91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

PowerVR GPU架構(gòu)的性能優(yōu)化建議

汽車玩家 ? 來源:YEMI'S BLOG ? 作者:YEMI'S BLOG ? 2020-03-15 17:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近在看移動GPU優(yōu)化的時(shí)候?qū)?a target="_blank">TiledBased GPU有一些疑惑,特別是常說的Alpha-Blend比Alpha-Test在移動GPU上快的奇特性質(zhì),于是找了powerVR相關(guān)的文檔來閱讀,也做個(gè)記錄。

Imagination的powerVR架構(gòu)的GPU之前主要是iOS手機(jī)系列的GPU供應(yīng)商,而蘋果自從17年宣布要逐步放棄使用imagination的GPU技術(shù)轉(zhuǎn)而自主研發(fā)GPU開始,powerVR架構(gòu)就似乎前途未卜。Apple A11處理器開始到最新的iphone XS 使用的A12處理器,都是蘋果自研的GPU,相比起之前的powerVR的GPU有巨大的性能提升。雖然蘋果轉(zhuǎn)向了自研GPU,但似乎其架構(gòu)還是繼承于PVR,相應(yīng)的TBDR也是保留的,所以powerVR架構(gòu)相關(guān)的知識對于iOS的GPU開發(fā)依舊還是有用的。同時(shí)Metal2提供了一些新的feature如Imageblocks,Raster Order Groups等新feature,這部分是Apple對TBDR架構(gòu)的加強(qiáng)與優(yōu)化。

主流圖形架構(gòu)

Immediate Mode Renderer(IMR)

Tile Based Renderer(TBR)

Tile Based Deferred Renderer(TBDR)

Unified and Non-unified shader architecture

PowerVR GPU架構(gòu)的性能優(yōu)化建議

非統(tǒng)一的著色器架構(gòu)上Vertex Shader要等待Fragment Shader執(zhí)行完后才能push處理完的頂點(diǎn)數(shù)據(jù)丟給FS單元。

而統(tǒng)一的著色器架構(gòu),處理會減少等待時(shí)間,提升性能。PowerVR全部采用的都是Unified Shader Architecture.

Overdraw

由于geometry提交順序的不同,會有一些fragment會被重復(fù)繪制。

為了減少overdraw的情形,圖形計(jì)算核心會進(jìn)行Early-Z testing的操作以減少Overdraw。

IMR

每一個(gè)渲染對象/drawcall完成了整個(gè)渲染管線流程寫入frameBuffer才會開始渲染下一個(gè)對象/drawcall。在IMR模式下,Early-Z test可以直接將深度測試的幾何圖元跳過以提升性能,但是Early-Z test依賴渲染繪制對象的提交順序是從前往后的。

同時(shí)每一次渲染完的color與depth數(shù)據(jù)讀取寫回到colorbuffer與depth/stencil buffer是都會產(chǎn)生很大的帶寬消耗。普通的Read-Modify-Write都是在system memory與GPU之間傳輸數(shù)據(jù),如ZWrite/Write,Blend這些。所以IMR的架構(gòu)會有一個(gè)很大顯存cache來優(yōu)化這部分大量的內(nèi)存帶寬消耗。

TBR

整個(gè)光柵化和fragment處理會被分為一個(gè)個(gè)Tile進(jìn)行處理,通常為16×16大小的Tile。

TBR的結(jié)構(gòu)添加了on-chip buffers用來儲存tiling后的Depth Buffer和Color buffer。原先IMR架構(gòu)中對主存中color/depth buffer進(jìn)行Read-Modify-Write的操作變成直接在GPU中的高速內(nèi)存操作,減少了最影響性能的系統(tǒng)內(nèi)存?zhèn)鬏數(shù)拈_銷。

雖然TBR減少了IMR的帶寬開銷,但是依然沒有解決overdraw的問題。

TBDR

PowerVR的渲染架構(gòu) Tile Based Deferred Rendering(TBDR)

數(shù)據(jù)從內(nèi)存到GPU之間的傳輸是最大的性能消耗,powerVR架構(gòu)的TBDR,on-chip buffer都為了該目標(biāo)而優(yōu)化。

TBDR 架構(gòu)關(guān)注于在渲染管線中盡可能移除冗余的操作與計(jì)算,最小化內(nèi)存帶寬和能耗同時(shí)提升管線處理的吞吐量。

TBDR將每個(gè)Tiler的渲染過程拆分為兩個(gè)步驟,一個(gè)是Hidden Surface Removal(HSR)和 deferred pixel shading。

TBDR會盡可能地延遲pixel shading的時(shí)間,直到所有光柵化后的fragment完成了DepthTest和HSR。對于一個(gè)場景中全是不透明幾何圖元的渲染畫面來說。每一個(gè)光柵化完的fragment patch會經(jīng)過HSR和Depth test,在所有triangle完成了raster之后,最后留下來的fragment會留下來執(zhí)行pixel shading。也就是在這種情況下tile中的每一個(gè)像素只執(zhí)行一次pixel shader。

如果渲染流程中有alpha test/blend/pixel depth write,就會阻斷deferred shading,因?yàn)檫@個(gè)時(shí)候需要執(zhí)行shading,才能正確進(jìn)行后續(xù)fragment的計(jì)算。

Alpha Test需要執(zhí)行shading 算出當(dāng)前fragment的alpha,判斷該fragment是否被丟棄。

Alpha Blend 需要讀取framebuffer中當(dāng)前像素之前的顏色。

Pixel Depth write會影響到后續(xù)fragment的HSR與Depth test。

這三種情況下Pixel Depth Write,因?yàn)闀绊懙胶罄m(xù)fragment HSR/Depth,所以這個(gè)時(shí)候一定要執(zhí)行該像素的shading,打亂了原先deferred的流程。具體要看GPU實(shí)現(xiàn)時(shí)時(shí)把整個(gè)HSR步驟積累的fragment都shading掉還是只把當(dāng)前fragment shading掉。

而對于AlphaBlend來說,它并不一定要打斷deferred shading。

遇到blending的fragment,可以把該fragment像素位置的所有fragment按順序保留在列表中,等到shading時(shí)按順序計(jì)算blend。

但這樣就會增加pixel shading的次數(shù)。具體的實(shí)現(xiàn)還是要參照GPU的實(shí)現(xiàn)方式,由于使用TBR,Blend的開銷相對比IMR還是降低了很多。

Alpha-Test的情況是和Pixel Depth Write類似,由于Alpha Test失敗fragment會被丟棄,如果其開啟了DepthWrite,那么就一定要執(zhí)行shading。因?yàn)閍lpha-test會影響后續(xù)fragment的HSR/Z-Test的流程。如果沒有開啟depth Write,也可以和Blend一樣保留后續(xù)所有fragment的方式來延遲shading。但是這個(gè)時(shí)候后續(xù)該位置的fragment patch都是不能被移出shading列表的,延遲shading也沒有意義了。

關(guān)于PowerVR 架構(gòu)

Vector處理單元

高效計(jì)算單元,同時(shí)計(jì)算3到4個(gè)元素。如果一個(gè)計(jì)算的值小于4個(gè),那么其他的計(jì)算會被浪費(fèi)。只對一個(gè)元素進(jìn)行計(jì)算時(shí),效率會降低到25%,造成計(jì)算和電能的浪費(fèi),可以通過合并vector來優(yōu)化。

Scalar處理單元

標(biāo)量計(jì)算單元更加靈活,不需要填充其他的位寬數(shù)據(jù)。每一個(gè)硬件tick比起非向量化優(yōu)化的代碼能處理更多有效的數(shù)據(jù)值。

Verte Processing (Tiler)

Tile Accelerator(TA)計(jì)算每個(gè)transform后的圖元屬于哪個(gè)tile。

計(jì)算完后,per-tile隊(duì)列會更新。變換后的幾何體和tile list會被儲存在Parameter Buffer(PB)中。PB被儲存在系統(tǒng)內(nèi)存中。

Per-Tile Rasterization (Render)

Image Sythesis Processor(ISP)獲取當(dāng)前tile的primitive數(shù)據(jù),進(jìn)行HSR,同時(shí)進(jìn)行Z-Test和Stencil Test。ISP只處理ScreenSpace Position,和vertex data。

接下來是Texture and Shading Processor (TSP),處理fragment shaders和visible pixels。當(dāng)Tile的渲染結(jié)束之后,color data會被寫回到主存中的framebuffer中。直到所有的tile都完成渲染后,整個(gè)frameBuffer就完成了。

PowerVR Shader Engine

massive multi-threaded and multi-tasking approah.

HSR Efficiency

Early-Z testing 需要按從前往后順序提交opaque對象的draw call,需要進(jìn)行排序會有額外的overhead。當(dāng)物體有intersection時(shí),Eearly-Z testing并不能移除所有的overdraw,同時(shí)對draw call進(jìn)行排序可能會造成pipeline 狀態(tài)改變產(chǎn)生的overhead。

PowerVR 的HSR盡可能減少了fragment shading的數(shù)量。

性能優(yōu)化建議

對drawcall進(jìn)行排序

對于TBDR架構(gòu)來說,所有的drawcall 按照 opaque - alpha-tested - blended進(jìn)行排序會最大程度利用HSR減少overdraw。對于有blend的pixel來說,后續(xù)所有相同位置的pixel都需要進(jìn)行pixel shading,而alpha-test在完成后的像素還是可以繼續(xù)進(jìn)行HSR的優(yōu)化。所以比先blend提交alpha-test可以盡可能減少overdraw。

始終進(jìn)行Clear操作

在IMR架構(gòu)中,進(jìn)行Clear操作需要對fragment buffer每個(gè)像素設(shè)置一遍值。如果確認(rèn)畫面會被完全重繪覆蓋的情況下,不進(jìn)行Clear操作會有減少這部分的性能開銷。而在移動平臺的GPU上并不是這樣,由于移動平臺為了減少內(nèi)存與GPU間的帶寬消耗,frameBuffer是分塊存在on-chip memory中的。在整個(gè)渲染過程結(jié)束后將所有的tiled framebuffer 拷貝到主存中的framebuffer中。如果不進(jìn)行clear,而在上一幀的buffer上重新繪制,需要在每個(gè)tiled frameBuffer開始繪制之前從主存再同步到on-chip的內(nèi)存中。這一部分會有很大的overhead。

不要在每一幀開始繪制之后更新Buffer

由于GPU繪制采用的是雙緩沖繪制,當(dāng)前幀提交的draw call會在下一幀進(jìn)行繪制,而當(dāng)前幀繪制上一幀提交的draw call。如果在幀中間更新buffer,而這個(gè)buffer在上一幀提交的drawcall中被使用,有可能當(dāng)前幀更新的buffer正在GPU中渲染,而此時(shí)驅(qū)動層將復(fù)制一份buffer來進(jìn)行數(shù)據(jù)的更新或者等待當(dāng)前繪制命令完成再進(jìn)行更新。這兩種情況一種會造成驅(qū)動層的overhead,而另一種會造成CPU的阻塞。

使用壓縮貼圖和Mipmapping

使用壓縮的貼圖格式會減少傳輸?shù)膸挘瑥亩嵘阅?。同時(shí)由于在TileBased架構(gòu)下,部分按塊壓縮的貼圖壓縮格式可以和FrameBuffer的Tile進(jìn)行匹配,其結(jié)構(gòu)對于貼圖緩存來說更加友好。

盡可能使用Mipmapping,首先使用mipmap,對于較遠(yuǎn)以及較小的貼圖物體會有更好的抗鋸齒效果,減少畫面的閃爍以提升畫面效果。其次使用在采樣貼圖時(shí),對于不同大小的物體選用其大小相對應(yīng)層級的貼圖到對應(yīng)的TextureCache能有效減少貼圖緩存missing的幾率以提升貼圖采樣的效率。同時(shí)由于有不同層級的貼圖,會大量減少每次將貼圖從內(nèi)存復(fù)制到GPU的帶寬消耗,同時(shí)使用Mipmap只會增加33%的內(nèi)存消耗。

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

    關(guān)注

    28

    文章

    5194

    瀏覽量

    135429
  • powervr
    +關(guān)注

    關(guān)注

    0

    文章

    99

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    NVIDIA RTX PRO 2000 Blackwell GPU性能測試

    Blackwell 架構(gòu) GPU 中的中端專業(yè)圖形卡,高度僅為全高 GPU 的二分之一。如果您需要的是一塊半高顯卡,能適配小機(jī)箱,功耗不高,還要具備 AI 及光線追蹤性能的話,那么
    的頭像 發(fā)表于 11-28 09:39 ?6280次閱讀
    NVIDIA RTX PRO 2000 Blackwell <b class='flag-5'>GPU</b><b class='flag-5'>性能</b>測試

    如何看懂GPU架構(gòu)?一分鐘帶你了解GPU參數(shù)指標(biāo)

    GPU架構(gòu)參數(shù)如CUDA核心數(shù)、顯存帶寬、TensorTFLOPS、互聯(lián)方式等,并非“冰冷的數(shù)字”,而是直接關(guān)系設(shè)備能否滿足需求、如何發(fā)揮最大價(jià)值、是否避免資源浪費(fèi)等問題的核心要素。本篇文章將全面
    的頭像 發(fā)表于 10-09 09:28 ?1128次閱讀
    如何看懂<b class='flag-5'>GPU</b><b class='flag-5'>架構(gòu)</b>?一分鐘帶你了解<b class='flag-5'>GPU</b>參數(shù)指標(biāo)

    在Imagination GPU優(yōu)化計(jì)算任務(wù)的十大技巧

    Imagination「開發(fā)者文檔」網(wǎng)站正式上線,涵蓋了從計(jì)算機(jī)圖形學(xué)基礎(chǔ)到如何充分發(fā)揮Imagination高能效PowerVRGPU架構(gòu)優(yōu)勢的豐富內(nèi)容。網(wǎng)站中不僅增加了針對我們最新架構(gòu)代際和計(jì)算
    的頭像 發(fā)表于 09-25 09:37 ?840次閱讀
    在Imagination <b class='flag-5'>GPU</b>上<b class='flag-5'>優(yōu)化</b>計(jì)算任務(wù)的十大技巧

    適應(yīng)邊緣AI全新時(shí)代的GPU架構(gòu)

    電子發(fā)燒友網(wǎng)站提供《適應(yīng)邊緣AI全新時(shí)代的GPU架構(gòu).pdf》資料免費(fèi)下載
    發(fā)表于 09-15 16:42 ?47次下載

    ADI建議電源開發(fā)優(yōu)先考慮電源架構(gòu)優(yōu)化

    電源開發(fā)的另一個(gè)關(guān)鍵點(diǎn)是定義電源架構(gòu)或創(chuàng)建電源樹。完整的系統(tǒng)電源通常需要多個(gè)電源轉(zhuǎn)換器,而且往往需要多個(gè)不同的電壓。為此,有多種方法可達(dá)到目的。可以使用電源架構(gòu)工具(例如ADI的LTpowerPlanner ? )來計(jì)算并清楚表示架構(gòu)
    的頭像 發(fā)表于 08-18 17:28 ?3755次閱讀
    ADI<b class='flag-5'>建議</b>電源開發(fā)優(yōu)先考慮電源<b class='flag-5'>架構(gòu)</b>的<b class='flag-5'>優(yōu)化</b>

    如何在Ray分布式計(jì)算框架下集成NVIDIA Nsight Systems進(jìn)行GPU性能分析

    在大語言模型的強(qiáng)化學(xué)習(xí)訓(xùn)練過程中,GPU 性能優(yōu)化至關(guān)重要。隨著模型規(guī)模不斷擴(kuò)大,如何高效地分析和優(yōu)化 GPU
    的頭像 發(fā)表于 07-23 10:34 ?2400次閱讀
    如何在Ray分布式計(jì)算框架下集成NVIDIA Nsight Systems進(jìn)行<b class='flag-5'>GPU</b><b class='flag-5'>性能</b>分析

    Redis集群部署與性能優(yōu)化實(shí)戰(zhàn)

    Redis作為高性能的內(nèi)存數(shù)據(jù)庫,在現(xiàn)代互聯(lián)網(wǎng)架構(gòu)中扮演著關(guān)鍵角色。作為運(yùn)維工程師,掌握Redis的部署、配置和優(yōu)化技能至關(guān)重要。本文將從實(shí)戰(zhàn)角度出發(fā),詳細(xì)介紹Redis集群的搭建、性能
    的頭像 發(fā)表于 07-08 17:56 ?847次閱讀

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗(yàn)】+NVlink技術(shù)從應(yīng)用到原理

    前言 【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」書中的芯片知識是比較接近當(dāng)前的頂尖芯片水平的,同時(shí)包含了芯片架構(gòu)的基礎(chǔ)知識,但該部分知識比較晦澀難懂,或許是由于我一
    發(fā)表于 06-18 19:31

    鴻蒙5開發(fā)寶藏案例分享---性能優(yōu)化案例解析

    鴻蒙性能優(yōu)化寶藏指南:實(shí)戰(zhàn)工具與代碼案例解析 大家好呀!今天在翻鴻蒙開發(fā)者文檔時(shí),意外挖到一個(gè) 性能優(yōu)化寶藏庫 ——原來官方早就提供了超多實(shí)用工具和案例,但很多小伙伴可能沒發(fā)現(xiàn)!這篇就
    發(fā)表于 06-12 16:36

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

    GPU架構(gòu)深度解析從圖形處理到通用計(jì)算的進(jìn)化之路圖形處理單元(GPU),作為現(xiàn)代計(jì)算機(jī)中不可或缺的一部分,已經(jīng)從最初的圖形渲染專用處理器,發(fā)展成為強(qiáng)大的并行計(jì)算引擎,廣泛應(yīng)用于人工智能、科學(xué)計(jì)算
    的頭像 發(fā)表于 05-30 10:36 ?1852次閱讀
    <b class='flag-5'>GPU</b><b class='flag-5'>架構(gòu)</b>深度解析

    ARM Mali GPU 深度解讀

    ARM Mali GPU 深度解讀 ARM Mali 是 Arm 公司面向移動設(shè)備、嵌入式系統(tǒng)和基礎(chǔ)設(shè)施市場設(shè)計(jì)的圖形處理器(GPU)IP 核,憑借其異構(gòu)計(jì)算架構(gòu)、能效優(yōu)化和生態(tài)協(xié)同,
    的頭像 發(fā)表于 05-29 10:12 ?4318次閱讀

    又一顆國產(chǎn)GPU芯片成功點(diǎn)亮!6nm制程,自研TrueGPU架構(gòu)

    電子發(fā)燒友網(wǎng)綜合報(bào)道 近日消息,礪算科技宣布其首顆自研架構(gòu)全自主知識產(chǎn)權(quán)GPU芯片在封裝回片后已成功點(diǎn)亮,結(jié)果符合預(yù)期。 ? 礪算科技成立于2021年,是一家致力于研發(fā)高性能GPU的公
    發(fā)表于 05-29 00:48 ?2724次閱讀

    iTOP-3588S開發(fā)板四核心架構(gòu)GPU內(nèi)置GPU可以完全兼容0penGLES1.1、2.0和3.2。

    性能強(qiáng) iTOP-3588S開發(fā)板采用瑞芯微RK3588S處理器,是全新一代AloT高端應(yīng)用芯片,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構(gòu)主頻高達(dá)2.4GHZ
    發(fā)表于 05-15 10:36

    提升AI訓(xùn)練性能GPU資源優(yōu)化的12個(gè)實(shí)戰(zhàn)技巧

    在人工智能與機(jī)器學(xué)習(xí)技術(shù)迅速發(fā)展的背景下,GPU計(jì)算資源的高效利用已成為關(guān)鍵技術(shù)指標(biāo)。優(yōu)化GPU資源分配不僅能顯著提升模型訓(xùn)練速度,還能實(shí)現(xiàn)計(jì)算成本的有效控制。根據(jù)AI基礎(chǔ)設(shè)施聯(lián)盟2024年發(fā)布
    的頭像 發(fā)表于 05-06 11:17 ?1544次閱讀
    提升AI訓(xùn)練<b class='flag-5'>性能</b>:<b class='flag-5'>GPU</b>資源<b class='flag-5'>優(yōu)化</b>的12個(gè)實(shí)戰(zhàn)技巧

    ?為什么GPU性能效率比峰值性能更關(guān)鍵

    在評估GPU性能時(shí),通常首先考察三個(gè)指標(biāo):圖形工作負(fù)載的紋理率(GPixel/s)、浮點(diǎn)運(yùn)算次數(shù)(FLOPS)以及它們能處理計(jì)算和AI工作負(fù)載的每秒8-bittera運(yùn)算次數(shù)(TOPS)。這些關(guān)鍵
    的頭像 發(fā)表于 03-13 08:34 ?882次閱讀
    ?為什么<b class='flag-5'>GPU</b><b class='flag-5'>性能</b>效率比峰值<b class='flag-5'>性能</b>更關(guān)鍵