亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        統(tǒng)一著色架構(gòu)3D引擎關(guān)鍵技術(shù)研究

        2018-06-20 07:46:18韓立敏
        關(guān)鍵詞:引擎

        鄧 藝,田 澤,韓立敏

        (中航工業(yè)西安航空計(jì)算技術(shù)研究所,陜西 西安 710065)

        1 概 述

        統(tǒng)一著色架構(gòu)是現(xiàn)代圖形處理器(graphics processing unit)的主要實(shí)現(xiàn)方式,是實(shí)現(xiàn)計(jì)算機(jī)圖形學(xué)領(lǐng)域眾多算法和策略的平臺(tái),具備并行處理及快速構(gòu)建2D、3D圖形,場(chǎng)景和渲染的能力[1]。

        統(tǒng)一著色架構(gòu)的3D引擎作為GPU的核心部件,是完成3D圖形、圖像加速計(jì)算的基礎(chǔ),其架構(gòu)設(shè)計(jì)如圖1所示。它通過(guò)統(tǒng)一架構(gòu)的圖形流水線,實(shí)現(xiàn)圖形繪制和渲染功能,將自圖形流水線中輸入的一系列離散的頂點(diǎn)任務(wù)渲染為可在屏幕顯示的連續(xù)像素塊,輸出到顯示存儲(chǔ)單元中。

        統(tǒng)一著色架構(gòu)3D引擎基于單一著色器分時(shí)處理頂點(diǎn)任務(wù)或像素任務(wù)的特性,通過(guò)任務(wù)調(diào)度策略對(duì)著色器執(zhí)行任務(wù)的分配和著色器資源的統(tǒng)一管理,實(shí)現(xiàn)對(duì)著色器資源的高效利用,從而提高系統(tǒng)處理性能。同時(shí)由于執(zhí)行單元和配套資源的共享化,以及針對(duì)不同的渲染任務(wù)設(shè)計(jì)統(tǒng)一的執(zhí)行單元、相應(yīng)接口以及操作方式,在一定程度上簡(jiǎn)化了軟、硬件開(kāi)發(fā)流程。統(tǒng)一著色架構(gòu)使GPU更加靈活,可編程性大大提升[2-3]。

        統(tǒng)一著色架構(gòu)3D引擎的并行處理通過(guò)三級(jí)層次結(jié)構(gòu)組織實(shí)現(xiàn)[4]。在最底層,由著色器核構(gòu)成流處理器(stream processor,SP),以單指令多數(shù)據(jù)(single instruction multiple data,SIMD)或單指令多線程(single instruction multiple threads,SIMT)方式執(zhí)行操作。在中間層,SIMD(或SIMT)執(zhí)行架構(gòu)的多個(gè)SP被組織成流多處理器(stream multiprocessor,SM),其局部存儲(chǔ)可被組內(nèi)SP快速訪問(wèn)。在頂層,3D引擎由多個(gè)SM單元組成,并連接到全局圖形存儲(chǔ)器。

        圖1 統(tǒng)一著色架構(gòu)3D引擎架構(gòu)框圖

        統(tǒng)一著色架構(gòu)的3D引擎在帶來(lái)較高圖形處理性能的同時(shí),也對(duì)其設(shè)計(jì)提出了挑戰(zhàn)。首先,作為統(tǒng)一著色架構(gòu)3D引擎最基本的計(jì)算單元,統(tǒng)一著色器主要完成頂點(diǎn)、像素的統(tǒng)一著色功能,是影響3D引擎計(jì)算性能的關(guān)鍵因素。眾多統(tǒng)一著色器的組織方式,通過(guò)多級(jí)調(diào)度策略采用著色器資源兩級(jí)分組管理、動(dòng)態(tài)分配管理和統(tǒng)一調(diào)度實(shí)現(xiàn),避免了資源分配不均,提高了性能/能耗比。此外,3D引擎多層次的存儲(chǔ)結(jié)構(gòu)與任務(wù)調(diào)度策略中的調(diào)度資源存在映射關(guān)系,因此存儲(chǔ)系統(tǒng)的數(shù)據(jù)傳輸能力與系統(tǒng)整體性能密切相關(guān)。基于以上分析,多層次存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)、多級(jí)調(diào)度策略和著色器體系結(jié)構(gòu)設(shè)計(jì)作為影響單個(gè)著色器處理性能發(fā)揮及整體3D引擎數(shù)據(jù)吞吐率的重要因素,成為統(tǒng)一著色架構(gòu)GPU研究的重點(diǎn)。

        2 統(tǒng)一著色架構(gòu)的存儲(chǔ)層次

        GPU的多核特性使其對(duì)存儲(chǔ)通路的存儲(chǔ)帶寬有更高的要求,因此存儲(chǔ)系統(tǒng)的數(shù)據(jù)傳輸能力與系統(tǒng)整體性能密切相關(guān)。統(tǒng)一著色架構(gòu)3D引擎在提升系統(tǒng)處理能力的同時(shí),也導(dǎo)致了更嚴(yán)重的“存儲(chǔ)墻”問(wèn)題,對(duì)存儲(chǔ)系統(tǒng)提出了更高的要求[5]。

        目前,在GPU硬件資源有限的條件下,提高存儲(chǔ)帶寬利用率,充分使用共享和復(fù)用減少對(duì)外部存儲(chǔ)器的訪問(wèn)次數(shù),成為“存儲(chǔ)墻”問(wèn)題通用的解決方案。統(tǒng)一著色架構(gòu)3D引擎為減少各請(qǐng)求源對(duì)外部存儲(chǔ)器的訪問(wèn)頻率,減少DDR3存儲(chǔ)通路的帶寬壓力,采用層次化的存儲(chǔ)結(jié)構(gòu),存儲(chǔ)架構(gòu)如圖2所示。

        其中L0層是各請(qǐng)求源內(nèi)部的寄存器級(jí)緩存,具有速度快、容量小的特點(diǎn),訪問(wèn)最頻繁;L1層主要包括單個(gè)SM級(jí)的本地存儲(chǔ)和L1Cache;L2層主要包括所有SM能夠共享的著色程序存儲(chǔ)器、紋理Cache的二級(jí)緩存;L3層是兩條數(shù)據(jù)位寬的獨(dú)立通路,組成DDR存儲(chǔ)訪問(wèn)與控制,用以訪問(wèn)片外存儲(chǔ),其訪問(wèn)速度最慢、容量最大[6]。

        圖2 統(tǒng)一著色架構(gòu)的多層次存儲(chǔ)架構(gòu)

        2.1 統(tǒng)一著色器的設(shè)計(jì)

        統(tǒng)一著色器的設(shè)計(jì)主要包括指令集定義、數(shù)據(jù)通路設(shè)計(jì)、著色器架構(gòu)、具體運(yùn)算單元設(shè)計(jì)以及多個(gè)著色器的執(zhí)行架構(gòu)等方面。

        統(tǒng)一著色架構(gòu)的指令集定義遵循通用和高效的原則。在通用性方面,應(yīng)基于OpenGL 2.0等相關(guān)通用標(biāo)準(zhǔn),以及上文對(duì)統(tǒng)一著色器實(shí)現(xiàn)具體頂點(diǎn)、像素運(yùn)算的內(nèi)容分析,定義基本的常用運(yùn)算指令、基于圖形特性的特殊函數(shù)指令以及提升著色器效率的其他指令;在高效性方面,通過(guò)指令集的優(yōu)化設(shè)計(jì)提升著色器的流處理特性來(lái)發(fā)揮其強(qiáng)大的運(yùn)算優(yōu)勢(shì)[7]。

        統(tǒng)一著色架構(gòu)將統(tǒng)一著色器和特殊功能單元(special function unit,SFU)的數(shù)據(jù)通路相結(jié)合,其設(shè)計(jì)包括加法單元、乘法單元、乘加單元、移位單元、累加單元、浮點(diǎn)加法單元、浮點(diǎn)乘法單元等[8]。

        統(tǒng)一著色器核主要包括取指令單元、譯碼單元、Register file、本地?cái)?shù)據(jù)存儲(chǔ)器、各種運(yùn)算單元及輸出寄存器,其體系結(jié)構(gòu)設(shè)計(jì)如圖3所示。

        為提升3D引擎的并行性及數(shù)據(jù)吞吐量,單個(gè)SM處理器內(nèi)部的多個(gè)著色器的執(zhí)行架構(gòu)采用單指令多數(shù)據(jù)(single instruction multiple data,SIMD)或單指令多線程(single instruction multiple threads,SIMT)架構(gòu)組織實(shí)現(xiàn),從而最大化地實(shí)現(xiàn)運(yùn)算單元的復(fù)用。與傳統(tǒng)的標(biāo)量執(zhí)行模式相比,SIMD和SIMT架構(gòu)都能夠?qū)崿F(xiàn)數(shù)據(jù)的并行執(zhí)行操作,標(biāo)量架構(gòu)的執(zhí)行域以單一數(shù)據(jù)為基本單位,SIMD架構(gòu)的執(zhí)行域以一元向量為基本單位,SIMT架構(gòu)的執(zhí)行域以矩陣為基本單位。

        圖3 統(tǒng)一著色器設(shè)計(jì)架構(gòu)

        SIMD結(jié)構(gòu)有利于對(duì)向量和數(shù)組進(jìn)行數(shù)據(jù)的并行計(jì)算,但同時(shí)也制約了它進(jìn)行有效的多線程計(jì)算。GPU中的“硬件多線程”主要采用少數(shù)指令對(duì)大量數(shù)據(jù)進(jìn)行操作的方式實(shí)現(xiàn)。在商用設(shè)計(jì)領(lǐng)域,NVIDIA將芯片架構(gòu)逐步轉(zhuǎn)向了SIMT模式。有別于AMD的SIMD架構(gòu),SIMT的優(yōu)勢(shì)在于數(shù)據(jù)無(wú)需湊成合適的矢量長(zhǎng)度,同時(shí)SIMT允許每個(gè)線程有不同的分支。由于條件跳轉(zhuǎn)會(huì)根據(jù)輸入數(shù)據(jù)不同在不同的線程中有不同表現(xiàn),純粹使用SIMD無(wú)法實(shí)現(xiàn)并行執(zhí)行有條件跳轉(zhuǎn)的函數(shù),而SIMT架構(gòu)則能夠?qū)崿F(xiàn)。然而,SIMT架構(gòu)的SM硬件設(shè)計(jì)結(jié)構(gòu)較之SIMD更復(fù)雜,控制邏輯設(shè)計(jì)難度更高。AMD的SIMD架構(gòu)可以用少量的晶體管構(gòu)建龐大數(shù)量的流處理器,從而擁有強(qiáng)大的理論浮點(diǎn)運(yùn)算能力;而NVIDIA的SIMT架構(gòu)的單個(gè)流處理器所需的晶體管更多,理論浮點(diǎn)運(yùn)算能力也更強(qiáng)。相較而言,AMD以數(shù)量彌補(bǔ)效率的不足,而NVIDIA以效率彌補(bǔ)數(shù)量的劣勢(shì)[9]。

        2.2 統(tǒng)一著色架構(gòu)調(diào)度策略

        基于對(duì)3D引擎圖形流水線的研究,統(tǒng)一著色架構(gòu)之前的性能瓶頸主要在于像素著色階段,即使分離可編程架構(gòu)中將1∶3作為頂點(diǎn)與像素著色引擎的黃金比例,依然無(wú)法滿足復(fù)雜多變場(chǎng)景的渲染需求,因此資源利用率不足成為限制GPU性能提升的關(guān)鍵[10]。作為支持多任務(wù)的計(jì)算平臺(tái),統(tǒng)一著色架構(gòu)3D引擎中每個(gè)計(jì)算單元的任務(wù)處理效率可能不同,為充分利用系統(tǒng)資源,需要3D引擎具備監(jiān)控以及動(dòng)態(tài)調(diào)度計(jì)算核心的能力。同時(shí),統(tǒng)一著色架構(gòu)3D引擎的核心處理性能主要由其任務(wù)調(diào)度能力和各個(gè)流處理器核的執(zhí)行能力表征,因而兼顧靈活、高效以及可靠的任務(wù)調(diào)度與資源分配方案是統(tǒng)一著色架構(gòu)3D引擎的研究重點(diǎn)和關(guān)鍵技術(shù)。

        在多任務(wù)環(huán)境下,圖形處理系統(tǒng)通過(guò)多任務(wù)調(diào)度框架的多級(jí)調(diào)度設(shè)計(jì),保證整個(gè)系統(tǒng)高效的調(diào)度效率和良好的圖形處理性能,調(diào)度框架如圖4所示。調(diào)度的對(duì)象是經(jīng)過(guò)組裝的一組固定格式的頂點(diǎn)或像素warp(又稱wavefront)。

        圖4 GPU的多任務(wù)調(diào)度框架

        當(dāng)一部分任務(wù)分發(fā)至3D引擎之前,主機(jī)接口與前端處理模塊首先接收任務(wù)輸入,并通過(guò)分析多任務(wù)間的資源競(jìng)爭(zhēng)問(wèn)題[11],完成初步的多任務(wù)隊(duì)列排序及任務(wù)的分發(fā)功能。在統(tǒng)一著色架構(gòu)3D引擎內(nèi)部,warp任務(wù)組裝單元接收來(lái)自主機(jī)接口與前端模塊的頂點(diǎn)任務(wù)輸入,以及來(lái)自3D引擎內(nèi)部其他模塊的像素任務(wù);全局任務(wù)調(diào)度單元接收組裝完成的warp任務(wù)輸入,對(duì)待分發(fā)任務(wù)進(jìn)行統(tǒng)一分配、對(duì)所有執(zhí)行單元任務(wù)執(zhí)行狀態(tài)進(jìn)行統(tǒng)一調(diào)度管理,并采用各流多處理器(SM)內(nèi)部的調(diào)度器,完成3D引擎內(nèi)部的兩級(jí)調(diào)度,最終實(shí)現(xiàn)對(duì)SIMD(或SIMT)架構(gòu)的執(zhí)行單元以及統(tǒng)一著色器的調(diào)度管理。同時(shí)全局任務(wù)調(diào)度層通過(guò)SM調(diào)度單元內(nèi)部的統(tǒng)計(jì)與反饋,實(shí)現(xiàn)統(tǒng)一任務(wù)調(diào)度單元的實(shí)時(shí)、動(dòng)態(tài)調(diào)度。

        在多任務(wù)調(diào)度系統(tǒng)中,采用的調(diào)度策略主要分為以下幾類[12-14]:

        第一類是基于先到先服務(wù)(first come first served,F(xiàn)CFS)的簡(jiǎn)單調(diào)度策略,該調(diào)度策略便于實(shí)現(xiàn),硬件資源占用較小,但無(wú)法適應(yīng)統(tǒng)一著色架構(gòu)對(duì)靈活的調(diào)度性能需求。

        第二類采用完全公平調(diào)度策略(completely fair scheduling,CFS),使每個(gè)待調(diào)度任務(wù)公平地共享計(jì)算資源,同時(shí)以任務(wù)的優(yōu)先級(jí)和任務(wù)運(yùn)行時(shí)間作為調(diào)度的依據(jù),在任務(wù)的優(yōu)先級(jí)相同時(shí),優(yōu)先調(diào)度之前占用3D引擎執(zhí)行時(shí)間較少的任務(wù),既保證了調(diào)度的公平性又增加了靈活性,但未區(qū)分統(tǒng)一著色架構(gòu)面向圖形類應(yīng)用和非圖形類應(yīng)用時(shí)不同的調(diào)度需求。

        第三類采用基于分類和多優(yōu)先級(jí)隊(duì)列(class priority multiple queue,CPMQ)的多任務(wù)調(diào)度系統(tǒng),面向圖形應(yīng)用、通用計(jì)算、實(shí)時(shí)著色等多種任務(wù)類型的調(diào)度需求,采用加權(quán)公平排隊(duì)算法(weighted fair queuing,WFQ)對(duì)待分發(fā)任務(wù)進(jìn)行排序,有效降低了圖形任務(wù)的響應(yīng)時(shí)間,提升了應(yīng)用系統(tǒng)的圖形用戶體驗(yàn)。

        依據(jù)上文對(duì)GPU調(diào)度框架的分析,3D引擎內(nèi)部的調(diào)度策略可以分為兩級(jí),包括全局的任務(wù)調(diào)度和各SM內(nèi)部的調(diào)度。全局的任務(wù)調(diào)度主要完成的功能包括對(duì)所有待處理任務(wù)的統(tǒng)計(jì)與排序,對(duì)待處理任務(wù)向各SM內(nèi)部統(tǒng)一著色器的調(diào)度分發(fā),以及對(duì)所有SM內(nèi)統(tǒng)一著色器的執(zhí)行狀態(tài)和執(zhí)行類型進(jìn)行管理;各SM內(nèi)部的調(diào)度策略為隱藏著色器執(zhí)行操作中對(duì)各級(jí)存儲(chǔ)的訪問(wèn)延遲而設(shè)計(jì),通過(guò)單指令多周期執(zhí)行和多個(gè)warp的調(diào)度切換來(lái)實(shí)現(xiàn)。

        3 結(jié)束語(yǔ)

        基于統(tǒng)一著色架構(gòu)的3D引擎是當(dāng)前圖形處理技術(shù)的研究熱點(diǎn),它統(tǒng)一了上一代分離可編程架構(gòu)中分離的頂點(diǎn)著色器和像素著色器,打破了因資源分配不均導(dǎo)致的性能瓶頸,同時(shí)對(duì)統(tǒng)一著色器、多層次任務(wù)調(diào)度策略和多層次存儲(chǔ)架構(gòu)等相關(guān)設(shè)計(jì)提出了更高的要求。

        目前對(duì)這幾項(xiàng)關(guān)鍵技術(shù)的研究已取得了一定的進(jìn)展,向自主研制統(tǒng)一著色架構(gòu)GPU的方向邁進(jìn)了一大步,但在統(tǒng)一著色器的指令集設(shè)計(jì)、面向圖形領(lǐng)域與通用計(jì)算領(lǐng)域的多任務(wù)并行調(diào)度,及統(tǒng)一著色架構(gòu)GPU各類關(guān)鍵技術(shù)的性能評(píng)價(jià)體系等方面,仍需進(jìn)行更深入的理論研究和優(yōu)化設(shè)計(jì)。

        參考文獻(xiàn):

        [1] 田 澤,張 駿,許宏杰,等.圖形處理器低功耗設(shè)計(jì)技術(shù)研究[J].計(jì)算機(jī)科學(xué),2013,40(6A):210-216.

        [2] 劉 堅(jiān).嵌入式多核GPU渲染流水線的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2015.

        [3] SHREINER D,WOO M,NEIDER J,et al.OpenGL編程指南[M].北京:人民郵電出版社,2007:23-51.

        [4] PAUL B.Introduction to the direct rendering infrastructure[EB/OL].(2000-08-10)[2014-03-23].http://dri.sourceforge.net/doc/DRIintro.html.

        [5] LINDHOLM E,NICKOLLS J,OBERMAN S,et al.NVIDIA Tesla:a unified graphics and computing architecture[J].IEEE Micro,2008,28(2):39-55.

        [6] 盧 俊,顏 哲,田 澤.一種高效GPU存儲(chǔ)系統(tǒng)體系架構(gòu)設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2015,25(4):6-9.

        [7] 黃偉鈿.面向移動(dòng)平臺(tái)的3D圖形處理器的設(shè)計(jì)[D].廣州:華南理工大學(xué),2011.

        [8] WOO J H,KIM H,YOO H J.A low power multimedia SoC with fully programmable 3D graphics for mobile devices[J].IEEE Computer Graphics & Applications,2009,29(5):82-90.

        [9] WOO J H,SOHN J H,KIM H,et al.A 152 mW mobile multimedia SoC with fully programmable 3D graphics and MPEG4/H.264/JPE[J].IEEE Transactions on Very Large Scale Integration Systems,2009,17(9):1260-1266.

        [10] WANG P H,CHEN Y M,YANG C L,et al.A predictive shutdown technique for GPU shader processor[J].IEEE Computer Architecture Letters,2009,8(1):9-12.

        [11] 丑文龍,梅魁志,高增輝,等.ARM GPU的多任務(wù)調(diào)度設(shè)計(jì)與實(shí)現(xiàn)[J].西安交通大學(xué)學(xué)報(bào),2014,48(12):87-92.

        [12] 賓雪蓮,楊玉海,金士堯.一種基于分組與適當(dāng)選取策略的實(shí)時(shí)多處理器系統(tǒng)的動(dòng)態(tài)調(diào)度算法[J].計(jì)算機(jī)學(xué)報(bào),2006,29(1):81-91.

        [13] LIU Shuo,QUAN Gang,REN Shangping.On-line scheduling of real-time services for cloud computing[C]//Proceedings of the 2010 6th world congress on services.Washington DC,USA:IEEE Computer Society,2010:459-464.

        [14] 劉加海,楊茂林,雷 航,等.共享資源約束下多核實(shí)時(shí)任務(wù)分配算法[J].浙江大學(xué)學(xué)報(bào):工學(xué)版,2014,48(1):113-117.

        猜你喜歡
        引擎
        以學(xué)促干 挺膺擔(dān)當(dāng) 激活砥礪前行的紅色引擎
        江陰市“三個(gè)創(chuàng)新”打造?;钒踩O(jiān)管新引擎
        新海珠,新引擎,新活力!
        消費(fèi)繼續(xù)發(fā)揮經(jīng)濟(jì)增長(zhǎng)第一引擎作用
        三生 三大引擎齊發(fā)力
        藍(lán)谷: “涉藍(lán)”新引擎
        商周刊(2017年22期)2017-11-09 05:08:31
        休閑垂釣 傳統(tǒng)漁業(yè)新引擎
        信息化,“盛京”加速的新引擎
        無(wú)形的引擎
        河南電力(2015年5期)2015-06-08 06:01:46
        基于Cocos2d引擎的PuzzleGame開(kāi)發(fā)
        97久久精品无码一区二区天美| 国产丝袜一区丝袜高跟美腿| 91九色人妻精品一区二区三区| 高清偷自拍亚洲精品三区| 内射交换多p国产| 在线观看av片永久免费| 国产69精品麻豆久久| 免费欧洲毛片a级视频老妇女| 欧美亚洲日韩国产人成在线播放| 久久老子午夜精品无码| 亚洲不卡av二区三区四区| 丰满少妇弄高潮了www| 国自产偷精品不卡在线| 一本大道在线一久道一区二区| 午夜视频一区二区在线观看| 国产熟妇疯狂4p交在线播放| 女女女女bbbbbb毛片在线| 欧洲国产精品无码专区影院| 日本一区二区不卡二区| 日本一本之道高清不卡免费| 人妻丰满av∨中文久久不卡| 国产亚洲亚洲精品视频| 精品日韩一级免费视频| 国产精品无码av天天爽| 亚洲欧美日韩国产精品网| 97人妻精品一区二区三区免费| 亚洲日韩精品无码专区网址| 婷婷丁香社区| 亚洲香蕉av一区二区蜜桃| 91九色成人蝌蚪首页| 55夜色66夜色国产精品视频| 久久中文字幕日韩精品| 国产精品国产传播国产三级| 国产午夜福利久久精品| 亚洲综合欧美日本另类激情| 一区二区三区精品偷拍av| 日本饥渴人妻欲求不满| 国产av人人夜夜澡人人爽| 极品av在线播放| 亚洲av免费不卡在线观看| 久久亚洲色www成人欧美|