999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向OpenCL的Mali GPU仿真器構(gòu)建研究

2015-12-26 02:49:06崔繼岳梅魁志劉冬冬李博良
關(guān)鍵詞:嵌入式指令程序

崔繼岳,梅魁志,劉冬冬,李博良

(西安交通大學(xué)電子與信息工程學(xué)院,710049,西安)

?

面向OpenCL的Mali GPU仿真器構(gòu)建研究

崔繼岳,梅魁志,劉冬冬,李博良

(西安交通大學(xué)電子與信息工程學(xué)院,710049,西安)

針對(duì)嵌入式GPU通用計(jì)算的仿真器構(gòu)建需求,通過(guò)對(duì)通用圖形處理單元仿真器(general purpose graphics processing unit-simulator, GPGPU-sim)的計(jì)算核心、存儲(chǔ)結(jié)構(gòu)與Mali GPU的異同進(jìn)行比較分析,首先建立面向OpenCL的Mali GPU仿真器的流程與結(jié)構(gòu),并設(shè)計(jì)計(jì)算單元數(shù)、寄存器數(shù)、最小并行粒度等GPU微體系結(jié)構(gòu)參數(shù)的獲取方法,在對(duì)GPGPU-sim進(jìn)行修改和配置后,實(shí)現(xiàn)了對(duì)特定GPU架構(gòu)的仿真器構(gòu)建。使用矩陣相乘、圖像處理等OpenCL程序?qū)Ψ抡嫫鞯臏?zhǔn)確性進(jìn)行測(cè)試,以程序在仿真器和硬件平臺(tái)上的執(zhí)行周期數(shù)差距作為評(píng)估依據(jù)。實(shí)驗(yàn)結(jié)果表明:對(duì)于測(cè)試程序集中優(yōu)化前的OpenCL程序,其中70%的程序在兩個(gè)平臺(tái)上的運(yùn)行周期數(shù)差距不超過(guò)30%;對(duì)于優(yōu)化后的OpenCL程序,其中90%的程序的運(yùn)行周期數(shù)差距不超過(guò)30%。由此證明,構(gòu)建的GPU仿真器能夠滿足OpenCL程序的仿真與性能評(píng)估。

圖形處理器;OpenCL;微體系結(jié)構(gòu)參數(shù);仿真器

GPU通用計(jì)算(general purpose computing on GPU, GPGPU)技術(shù)將GPU與CPU組成異構(gòu)計(jì)算平臺(tái),使得GPU不再局限于傳統(tǒng)的圖形計(jì)算,可以加快現(xiàn)有算法運(yùn)行速率[1]。嵌入式設(shè)備的GPU已經(jīng)采用多核架構(gòu),使得利用嵌入式GPU進(jìn)行通用計(jì)算成為新的研究方向和熱點(diǎn),例如ARM發(fā)布的Mali T6系列GPU目前已支持OpenCL 1.1規(guī)范,對(duì)嵌入式平臺(tái)的GPGPU開(kāi)發(fā)環(huán)境產(chǎn)生了需求,因此本文構(gòu)建了Mali系列GPU仿真器,以滿足OpenCL程序的運(yùn)行性能預(yù)測(cè)與程序優(yōu)化。

1 嵌入式GPU仿真器的構(gòu)建設(shè)計(jì)

GPU的體系結(jié)構(gòu)決定了OpenCL程序的執(zhí)行方式,與嵌入式GPU的體系結(jié)構(gòu)保持一致是仿真器的準(zhǔn)確性的前提[2]。本文以通用圖形處理單元仿真器(general purpose graphics processing unit-simulator, GPGPU-sim)作為仿真器設(shè)計(jì)基礎(chǔ),對(duì)其進(jìn)行修改,使其體系結(jié)構(gòu)與Mali T-628一致,以完成仿真器的構(gòu)建。

1.1 GPGPU-sim仿真結(jié)構(gòu)

GPGPU-sim仿真器面向GPU通用計(jì)算,著色器模型采用統(tǒng)一渲染架構(gòu),由UBC大學(xué)Aamodt等于2009年發(fā)布,以NVIDIA的GPU為模擬對(duì)象[2]。GPGPU-sim提供了詳細(xì)的配置參數(shù),能夠?qū)χ鹘Y(jié)構(gòu)以及內(nèi)存緩存結(jié)構(gòu)進(jìn)行詳細(xì)模擬,并提供了OpenCL接口,支持對(duì)OpenCL程序的仿真。

圖1 GPGPU-sim的體系結(jié)構(gòu)

圖1給出了GPGPU-sim的整體結(jié)構(gòu)。計(jì)算核心部分模擬了GPU的并行核心架構(gòu),每個(gè)核心都是一個(gè)單指令多線程(single instruction multiple thread, SIMT)架構(gòu)。SIMT核心負(fù)責(zé)指令的執(zhí)行,包括算術(shù)運(yùn)算指令和數(shù)據(jù)存取指令。在SIMT核心中含有多個(gè)算術(shù)邏輯單元(arithmetic logic unit, ALU),所有的ALU執(zhí)行相同的操作以實(shí)現(xiàn)并行化。GPGPU-sim的緩存體系模塊包括位于核心內(nèi)的一級(jí)緩存、本地內(nèi)存和位于存儲(chǔ)器的二級(jí)緩存、內(nèi)存芯片(DRAM)4部分。計(jì)算核心與外部的存儲(chǔ)器通過(guò)內(nèi)部互聯(lián)網(wǎng)絡(luò)總線相連。

1.2 Mali系列GPU體系結(jié)構(gòu)

Mali系列GPU主要分為計(jì)算核心和存儲(chǔ)結(jié)構(gòu)兩部分。

存儲(chǔ)結(jié)構(gòu)部分由寄存器、一級(jí)緩存、二級(jí)緩存和系統(tǒng)內(nèi)存4部分組成。在系統(tǒng)內(nèi)存中劃分出4塊內(nèi)存空間——私有內(nèi)存、常量?jī)?nèi)存、本地內(nèi)存和全局內(nèi)存,分別與OpenCL的內(nèi)存模型相對(duì)應(yīng),其中私有內(nèi)存和寄存器共同存儲(chǔ)OpenCL的私有類型變量。

仿真對(duì)象Mali T-628的計(jì)算核心內(nèi)部包含一個(gè)矢量處理器和一個(gè)標(biāo)量處理器,矢量處理器為128位的單指令多數(shù)據(jù)(single instruction multiple data, SIMD)結(jié)構(gòu),標(biāo)量處理器單周期內(nèi)能夠處理不大于32位的算術(shù)運(yùn)算。圖2給出了Mali GPU體系結(jié)構(gòu)的抽象模型。

圖2 嵌入式GPU體系結(jié)構(gòu)抽象模型

對(duì)比圖1和圖2,可以看出GPGPU-sim的體系結(jié)構(gòu)和嵌入式GPU體系架構(gòu)相類似,GPGPU-sim中片上互聯(lián)網(wǎng)絡(luò)模塊支持3種模式,不同模式對(duì)性能影響較小,因此本文對(duì)Mali T-628中互聯(lián)網(wǎng)絡(luò)模塊部分不做研究,仿真時(shí)將其設(shè)為蝶形模式。GPGPU-sim與Mali T-628計(jì)算核心和存儲(chǔ)系統(tǒng)體系結(jié)構(gòu)的主要區(qū)別如下。

(1)GPGPU-sim計(jì)算核心為多個(gè)32位標(biāo)量處理器,Mali T-628計(jì)算核心為128位矢量處理器和一個(gè)標(biāo)量處理器,需要對(duì)GPGPU-sim仿真流程和計(jì)算核心部分進(jìn)行修改。

(2)二級(jí)緩存的位置不同。GPGPU-sim的二級(jí)緩存在外部?jī)?nèi)存,計(jì)算核心通過(guò)互聯(lián)網(wǎng)絡(luò)從二級(jí)緩存中讀取數(shù)據(jù);嵌入式GPU的二級(jí)緩存在GPU芯片內(nèi),二級(jí)緩存通過(guò)互聯(lián)網(wǎng)絡(luò)與外部存儲(chǔ)器交換數(shù)據(jù)。因此,計(jì)算核心對(duì)外部存儲(chǔ)器的數(shù)據(jù)傳輸在兩種架構(gòu)中具有一定的等價(jià)性。

(3)本地內(nèi)存的存取速率不同。GPGPU-sim中本地內(nèi)存的存取速率和一級(jí)緩存一致,Mali T-628本地內(nèi)存存取速率和外部存儲(chǔ)器一致。當(dāng)OpenCL程序中大量使用本地內(nèi)存時(shí),GPGPU-sim中對(duì)本地內(nèi)存中數(shù)據(jù)訪問(wèn)延遲小,而Mali GPU中本地內(nèi)存中數(shù)據(jù)訪問(wèn)延遲大,仿真結(jié)果會(huì)有較大差別。

1.3 GPGPU-sim仿真流程修改

在NVIDIA平臺(tái),OpenCL的kernel函數(shù)首先編譯成并行線程執(zhí)行(parallel thread execution, PTX)語(yǔ)言,然后加載到GPU上執(zhí)行。GPGPU-sim實(shí)際上是以PTX語(yǔ)言作為輸入,通過(guò)對(duì)其解析能夠有效確定GPU的行為實(shí)現(xiàn)仿真。矢量核心的特性是指令并行度隨處理數(shù)據(jù)的寬度變化,而GPGPU-sim中的標(biāo)量核心指令并行度是固定的。為了使GPGPU-sim支持矢量處理器特性,本文加入了對(duì)指令的邏輯判斷,對(duì)于不同的指令分配不同的并行寬度,并將其封裝為指令檢測(cè)器模塊,修改后的仿真流程如圖3所示。

圖3 修改后的GPGPU-sim仿真流程

圖4給出了指令檢測(cè)器的內(nèi)部流程。在GPGPU-sim中增加一個(gè)指令寬度標(biāo)記位,每一個(gè)數(shù)據(jù)類型都有其對(duì)應(yīng)的標(biāo)記值。在仿真器運(yùn)行前,首先對(duì)核函數(shù)進(jìn)行數(shù)據(jù)類型檢測(cè),得到標(biāo)記位信息,然后對(duì)核心并行寬度進(jìn)行設(shè)置,直至當(dāng)前核函數(shù)執(zhí)行完畢,在下一個(gè)核函數(shù)執(zhí)行前再重復(fù)該過(guò)程。

圖4 指令檢測(cè)器的內(nèi)部流程

2 GPU微體系結(jié)構(gòu)關(guān)鍵參數(shù)獲取

GPGPU-sim提供了詳細(xì)的配置參數(shù)[3],能夠?qū)τ?jì)算核心模塊、存儲(chǔ)系統(tǒng)模塊以及互聯(lián)網(wǎng)絡(luò)模塊進(jìn)行配置。仿真器各模塊參數(shù)與Mali GPU參數(shù)一致性越高,仿真結(jié)果就越準(zhǔn)確。由于從公開(kāi)的技術(shù)文檔無(wú)法得到Mali T-628的結(jié)構(gòu)參數(shù),本文參考NVIDIA平臺(tái)[4]以及AMD平臺(tái)[5]的體系結(jié)構(gòu)來(lái)研究參數(shù)獲取。

2.1 算術(shù)運(yùn)算指令延遲

指令延遲主要研究GPU的算術(shù)邏輯單元對(duì)不同算術(shù)運(yùn)算指令的執(zhí)行時(shí)間。為了減少誤差,需要在GPU中填充大量的指令,使得GPU在程序運(yùn)行時(shí)間內(nèi)主要進(jìn)行數(shù)據(jù)運(yùn)算,得到核函數(shù)的運(yùn)行時(shí)間T后即可根據(jù)核函數(shù)內(nèi)循環(huán)次數(shù)與GPU的時(shí)鐘頻率得到對(duì)應(yīng)指令執(zhí)行的時(shí)鐘周期數(shù)。測(cè)試結(jié)果如表1所示(Mali GPU不支持雙精度浮點(diǎn)數(shù)據(jù)運(yùn)算)。

表1 Mali T-628算術(shù)運(yùn)算指令延遲

2.2 計(jì)算單元數(shù)目

OpenCL中工作項(xiàng)被劃分為不同的工作組,一個(gè)工作組在GPU上的一個(gè)計(jì)算單元執(zhí)行時(shí),可以通過(guò)分配不同工作組的數(shù)目來(lái)測(cè)量計(jì)算單元的數(shù)目,當(dāng)工作組的數(shù)目從1依次增加時(shí),程序的執(zhí)行時(shí)間會(huì)按照1~S,S+1~2S,…的規(guī)律呈現(xiàn)階梯式增長(zhǎng),階梯的長(zhǎng)度S即計(jì)算單元的數(shù)目。測(cè)試程序在Mali T-628上的運(yùn)行結(jié)果見(jiàn)圖5,可得出計(jì)算單元數(shù)為4。

圖5 執(zhí)行時(shí)間與工作組數(shù)的關(guān)系

2.3 寄存器數(shù)目

在OpenCL中,每個(gè)工作項(xiàng)的臨時(shí)變量存放在GPU設(shè)備上的私有內(nèi)存中,Mali GPU的私有內(nèi)存包含兩部分,一部分是寄存器,另一部分是在設(shè)備內(nèi)存中劃分的,其存取性能較寄存器有明顯差距。

如圖6所示,Mali GPU的寄存器數(shù)目可以得到確定。當(dāng)單個(gè)工作項(xiàng)占用的臨時(shí)變量大于寄存器數(shù)目時(shí),多余的臨時(shí)變量就會(huì)存放到設(shè)備內(nèi)存的私有內(nèi)存部分,計(jì)算時(shí)間會(huì)快速增長(zhǎng),由此可確定每個(gè)工作項(xiàng)最大支持的寄存器數(shù)目。圖6a中,最大寄存器數(shù)目為38,此時(shí)該工作項(xiàng)執(zhí)行時(shí)間為0.955 s。保持每個(gè)工作項(xiàng)占用寄存器數(shù)目為最大值,不斷擴(kuò)大工作組內(nèi)工作項(xiàng)的數(shù)目,當(dāng)整個(gè)計(jì)算單元的寄存器全部占用時(shí),執(zhí)行時(shí)間增長(zhǎng)幅度變大。圖6b中,工作項(xiàng)數(shù)目增加到73時(shí),執(zhí)行時(shí)間為8.833 ms,因此一個(gè)計(jì)算單元內(nèi)的寄存器數(shù)目約為73與38的乘積,即2 774。

(a) 執(zhí)行時(shí)間與臨時(shí) (b) 執(zhí)行時(shí)間與工作 變量數(shù)的關(guān)系 項(xiàng)數(shù)的關(guān)系圖6 寄存器數(shù)目測(cè)試結(jié)果

2.4 最小并行粒度

假設(shè)GPU的最小線程并行數(shù)是N,那么該GPU將以N個(gè)工作項(xiàng)作為一組原子并發(fā)的線程組。如果遇到分支,那么一組N個(gè)工作項(xiàng)都將介入這個(gè)分支,對(duì)于不滿足條件的工作項(xiàng),則會(huì)等到當(dāng)前分支處理之后再執(zhí)行。利用最小并行粒度內(nèi)的工作項(xiàng)并發(fā)執(zhí)行這一特性,在基準(zhǔn)測(cè)試設(shè)計(jì)中,假設(shè)工作組大小為2N,在核函數(shù)中增加一個(gè)判斷語(yǔ)句,當(dāng)工作項(xiàng)標(biāo)識(shí)符小于N時(shí)執(zhí)行操作A,否則執(zhí)行操作B,這時(shí)2N個(gè)工作項(xiàng)在運(yùn)行時(shí),操作B在操作A之前執(zhí)行。當(dāng)工作組大小恰好為N時(shí),操作A是在操作B之前執(zhí)行的。通過(guò)標(biāo)記位信息可以判斷出操作A和操作B的執(zhí)行順序,從而判斷工作組大小與最小并行粒度是否相等。當(dāng)工作組足夠大時(shí),逐次遞減判斷,就可以找到最小并行粒度的值。經(jīng)測(cè)試,Mali T-628最小并行粒度為1。

2.5 緩存結(jié)構(gòu)

利用程序的空間局部性和時(shí)間局部性原理可以構(gòu)造出一個(gè)存儲(chǔ)器測(cè)試程序,通過(guò)數(shù)據(jù)的訪問(wèn)速率分析出緩存結(jié)構(gòu)。設(shè)計(jì)的特殊數(shù)組結(jié)構(gòu)及其數(shù)值初始化方式為[6]

Xi=(p+i)%L

(1)

式中:X為數(shù)組;i為數(shù)組下標(biāo);L為數(shù)組長(zhǎng)度;p為偏移量(4B,8B,12B,…)。

當(dāng)數(shù)組中偏移量不斷增加時(shí),緩存中數(shù)據(jù)的更新次數(shù)也逐漸增加,程序的執(zhí)行時(shí)間同比增長(zhǎng),當(dāng)偏移量達(dá)到緩存中塊大小時(shí),緩存中數(shù)據(jù)的更新次數(shù)會(huì)暫時(shí)達(dá)到一個(gè)穩(wěn)定值。偏移量繼續(xù)增加到組大小時(shí),緩存中數(shù)據(jù)的更新頻率再次達(dá)到一個(gè)穩(wěn)定值。依據(jù)此特性可以分析出緩存中的塊大小和組大小。圖7顯示了利用該方法獲得的Mali T-628中緩存結(jié)構(gòu)。當(dāng)偏移量小于64 B時(shí),執(zhí)行時(shí)間正比增加;當(dāng)偏移量為64 B時(shí),執(zhí)行時(shí)間是0.632 s;當(dāng)偏移量在64 B~1 KB之間時(shí),執(zhí)行時(shí)間基本不變,可以確定塊大小為64 B;當(dāng)偏移量在1 KB~30 KB時(shí)執(zhí)行時(shí)間正比增加,可以確定組大小為1 KB;當(dāng)偏移量為30 KB時(shí),執(zhí)行時(shí)間是1.030 s;當(dāng)偏移量大于30 KB后執(zhí)行時(shí)間基本不變,可以確定一個(gè)計(jì)算單元內(nèi)緩存總大小為30 KB左右。

(a)偏移量遞增4 B (b)偏移量遞增1 KB圖7 執(zhí)行時(shí)間與數(shù)組偏移量關(guān)系

2.6 Mali T-628體系結(jié)構(gòu)參數(shù)設(shè)定

結(jié)合OpenCL中的函數(shù)clGetDeviceInfo()可以獲得Mali T-628的基本信息,最終得到的仿真器中各模塊的體系結(jié)構(gòu)參數(shù)值與GPGPU-sim的默認(rèn)參數(shù)值(用來(lái)模擬NVIDIA平臺(tái)的Quadro FX5800)的比較見(jiàn)表2。片上互聯(lián)網(wǎng)絡(luò)類型(Topology)、二級(jí)緩存結(jié)構(gòu)(gpgpu_cache:dl2)、一級(jí)指令緩存(gpgpu_cache:il1)、一級(jí)紋理緩存(gpgpu_cache:l1)等值采用GPGPU-sim中提供的默認(rèn)值。

3 實(shí)驗(yàn)及結(jié)果分析

3.1 硬件平臺(tái)

實(shí)驗(yàn)使用基于三星Exynos 5420 SoC的InSignal Arndale Octa 5420開(kāi)發(fā)板作為平臺(tái),操作系統(tǒng)為Android 4.2,內(nèi)核為L(zhǎng)inux 3.4.39。GPU為ARM的Mali T-628,核心頻率為533 MHz。

表2 Mali T-628體系結(jié)構(gòu)參數(shù)

3.2 測(cè)試程序

OpenCL程序的開(kāi)發(fā)分為兩種:第一種將算法用OpenCL實(shí)現(xiàn);第二種依據(jù)硬件平臺(tái)的體系結(jié)構(gòu)對(duì)OpenCL程序進(jìn)行優(yōu)化,以提升程序的運(yùn)行速度。因此,仿真器的準(zhǔn)確性測(cè)試包括優(yōu)化前和優(yōu)化后的兩種OpenCL程序測(cè)試。實(shí)驗(yàn)選用的矩陣相乘算法實(shí)現(xiàn)了粗粒度和細(xì)粒度版本,其中細(xì)粒度版本每個(gè)工作項(xiàng)計(jì)算目標(biāo)矩陣中一個(gè)元素,粗粒度版本每個(gè)工作項(xiàng)計(jì)算目標(biāo)矩陣中一行元素;方向梯度直方圖(histogram of oriented gradient, HOG)特征提取程序的算法復(fù)雜程度較高,主要測(cè)試仿真器對(duì)于復(fù)雜算法仿真時(shí)的準(zhǔn)確性。

3.3 實(shí)驗(yàn)結(jié)果

為驗(yàn)證仿真器的準(zhǔn)確性,需要對(duì)比同樣的OpenCL程序在真實(shí)硬件與仿真器上的運(yùn)行狀態(tài)。本文采用周期數(shù)作為衡量標(biāo)準(zhǔn),仿真器運(yùn)行結(jié)束后會(huì)返回執(zhí)行的周期數(shù),而真實(shí)硬件上只能返回程序運(yùn)行時(shí)間,將運(yùn)行時(shí)間與頻率的乘積作為硬件平臺(tái)上的運(yùn)行周期。

表3、表4、表5列出了測(cè)試程序在仿真器與模擬對(duì)象Mali T-628上執(zhí)行的周期數(shù)差距,對(duì)每一個(gè)測(cè)試程序均運(yùn)行了多次。

測(cè)試結(jié)果表明,對(duì)于優(yōu)化前的OpenCL程序,其中70%的測(cè)試程序周期數(shù)差距在30%以內(nèi);對(duì)優(yōu)化后的OpenCL程序,其中90%的測(cè)試程序周期數(shù)差距在30%以內(nèi)。Bakhoda等在對(duì)GPGPU-sim進(jìn)行測(cè)試時(shí),周期數(shù)差距在30%以內(nèi)的測(cè)試程序占總數(shù)的67%[2]。

表3 矩陣相乘周期數(shù)差距測(cè)試結(jié)果 %

表4 圖像邊緣檢測(cè)周期數(shù)差距測(cè)試結(jié)果 %

表5 HOG特征提取周期數(shù)差距測(cè)試結(jié)果 %

因?yàn)閷?duì)存儲(chǔ)系統(tǒng)中二級(jí)緩存和主存儲(chǔ)器的建模利用了體系結(jié)構(gòu)的等價(jià)性(采用GPGPU-sim中提供的默認(rèn)值),與真實(shí)GPU之間存在差距,所以在矩陣計(jì)算的粗粒度版本中,當(dāng)矩陣規(guī)模增加到200階時(shí),對(duì)外部數(shù)據(jù)訪問(wèn)頻繁,仿真準(zhǔn)確性因而變差。

4 結(jié) 論

本文通過(guò)對(duì)嵌入式GPU關(guān)鍵微體系結(jié)構(gòu)的參數(shù)獲取,在現(xiàn)有仿真器GPGPU-sim的基礎(chǔ)上進(jìn)行了改進(jìn),設(shè)計(jì)實(shí)現(xiàn)了Mali T-628 GPU仿真器,并使用多種OpenCL程序測(cè)試了仿真器的準(zhǔn)確性和有效性。后續(xù)工作將進(jìn)一步完善該仿真器存儲(chǔ)系統(tǒng)模塊參數(shù)的獲取方法,以提供更高的仿真精度。

[1] NVIDIA. NVIDIA GeForce 8800 GPU architecture overview , TB-02787-001_V01[R]. Santa Clara, CA, USA: NVIDIA Corporation, 2006.

[2] BAKHODA A, YUAN G L, FUNG W W L, et al. Analyzing CUDA workloads using a detailed GPU simulator [C]∥Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software. Piscataway, NJ, USA: IEEE, 2009: 163-174.

[3] AAMODT T M, FUNG W W L, SINGH I, et al. GPGPU-Sim 3.x manual[EB/OL]. (2012-08-08)[2013-08-08]. http:∥gpgpu-sim.org/manual/index. php/GPGPU-Sim_3.x_Manual.

[4] WONG H, PAPADOPOULOU M M, SADOOGHI-ALVANDI M, et al. Demystifying GPU microarchitecture through microbenchmarking [C]∥Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software. Piscataway, NJ, USA: IEEE, 2010: 235-246.

[5] TAYLOR R, LI Xiaoming. A micro-benchmark suite for AMD GPUs [C]∥Proceedings of the 39th International Conference on Parallel Processing Workshops. Washington, DC, USA: IEEE Computer Society, 2010: 387-396.

[6] 楊海燕, 史曉華, 孫清越, 等. 面向OpenCL的GPGPU微基準(zhǔn)測(cè)試程序集的研究與實(shí)現(xiàn) [J]. 系統(tǒng)工程與電子技術(shù), 2013, 35(12): 2631-2642.

YANG Haiyan, SHI Xiaohua, SUN Qingyue, et al. OpenCL micro benchmarks: testing the performance of GPGPU software and hardware architecture [J]. Systems Engineering and Electronics, 2013, 35(12): 2631-2642.

[本刊相關(guān)文獻(xiàn)鏈接]

丑文龍,梅魁志,高增輝,等.ARM GPU的多任務(wù)調(diào)度設(shè)計(jì)與實(shí)現(xiàn).2014,48(12):87-92.[doi:10.7652/xjtuxb2014120 14]

張虹,鄭霄,趙丹.GPU加速竇房結(jié)計(jì)算機(jī)仿真的實(shí)現(xiàn)及優(yōu)化.2014,48(7):60-64.[doi:10.7652/xjtuxb201407011]

李亮,王恩東,朱正東,等.ARM GPU的多任務(wù)調(diào)度設(shè)計(jì)與實(shí)現(xiàn).2013,47(10):44-50.[doi:10.7652/xjtuxb201310008]

張保,曹海軍,董小社,等.面向圖形處理器重疊通信與計(jì)算的數(shù)據(jù)劃分方法.2011,45(4):1-4.[doi:10.7652/xjtuxb2011 04001]

(編輯 武紅江)

Construction of Embedded Mali GPU Simulator for OpenCL

CUI Jiyue,MEI Kuizhi,LIU Dongdong,LI Boliang

(School of Electronics and Information Engineering, Xi’an Jiaotong University, Xi’an 710049, China)

The similarities and differences between GPGPU-sim and Mali GPU in computing cores and the storage structure are analyzed and compared, and simulating procedures and structures of Mali GPUs for OpenCL are built up to develop simulators for the general-purpose computing on embedded GPU. Methods to obtain the GPU microarchitecture parameters such as the computing unit number, the number of registers and the minimum parallel granularity are designed, and then the GPGPU-sim is configured and modified to construct specific GPU simulators. The accuracy of the simulator is tested through comparisons of running OpenCL programs, such as matrix multiplication and image processing on a real GPU and the simulator, and the difference between running cycles on the real GPU and the simulator is used as evaluation. Results show that the cycle differences are within 30% for about 70% OpenCL programs with simple implementation, and the cycle differences are within 30% for about 90% OpenCL programs with optimization. Therefore, it can be concluded that the constructed simulator meets the requirements of simulating and evaluating OpenCL programs on the embedded GPU.

GPU; OpenCL; microarchitecture parameters; simulator

2014-07-06。

崔繼岳(1988—),男,碩士生;梅魁志(通信作者),男,副教授。

國(guó)家高技術(shù)研究發(fā)展計(jì)劃資助項(xiàng)目(2012AA010904);國(guó)家自然科學(xué)基金資助項(xiàng)目(61375023)。

時(shí)間:2015-01-05

10.7652/xjtuxb201502004

TP391

A

0253-987X(2015)02-0020-05

網(wǎng)絡(luò)出版地址:http:∥www.cnki.net/kcms/detail/61.1069.T.20150105.0859.007.html

猜你喜歡
嵌入式指令程序
聽(tīng)我指令:大催眠術(shù)
試論我國(guó)未決羈押程序的立法完善
ARINC661顯控指令快速驗(yàn)證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
Altera加入嵌入式視覺(jué)聯(lián)盟
主站蜘蛛池模板: 国产一区二区三区精品欧美日韩| 2021精品国产自在现线看| 亚洲精品中文字幕午夜 | 伊人成人在线视频| 朝桐光一区二区| 亚洲日本中文字幕天堂网| 喷潮白浆直流在线播放| 国产视频入口| 亚欧成人无码AV在线播放| 大香伊人久久| 日韩欧美中文字幕在线韩免费| 亚洲熟女偷拍| 99爱在线| 国产精品视频第一专区| 中文字幕乱码二三区免费| 久久久久人妻精品一区三寸蜜桃| 婷婷午夜天| 高清欧美性猛交XXXX黑人猛交| 亚洲高清资源| 久久久久国产一级毛片高清板| 亚洲人网站| 亚洲一区二区三区在线视频| 国产精品久久久精品三级| 日本亚洲成高清一区二区三区| 三上悠亚一区二区| 免费A级毛片无码无遮挡| 国产精品无码在线看| 国产jizzjizz视频| 18禁不卡免费网站| 精品国产美女福到在线不卡f| 亚洲精品无码AV电影在线播放| 亚洲欧美日韩中文字幕在线| 欧美综合区自拍亚洲综合绿色| 国产女人18毛片水真多1| …亚洲 欧洲 另类 春色| 国产香蕉国产精品偷在线观看| 国产成人一区二区| 国产一区三区二区中文在线| 一区二区在线视频免费观看| 久久久噜噜噜| 国产一级α片| 欧美日在线观看| 黄色国产在线| 久久亚洲日本不卡一区二区| 无码有码中文字幕| 免费黄色国产视频| 一本大道香蕉中文日本不卡高清二区| 欧美激情福利| 亚洲国产成人综合精品2020 | 国产日韩欧美在线播放| 国产亚洲成AⅤ人片在线观看| 亚洲人成网址| 六月婷婷激情综合| 高潮爽到爆的喷水女主播视频| 成人午夜网址| 在线高清亚洲精品二区| 国产欧美日韩91| 国产精品.com| 天堂成人在线视频| 91精品啪在线观看国产91九色| 欧美日韩成人在线观看 | 71pao成人国产永久免费视频| 久草性视频| A级毛片高清免费视频就| 亚洲av日韩av制服丝袜| 91蝌蚪视频在线观看| 无码区日韩专区免费系列| 国产欧美自拍视频| 日本一本在线视频| 国产91精品久久| 中文字幕中文字字幕码一二区| 午夜一区二区三区| 四虎影视永久在线精品| 国产波多野结衣中文在线播放| 久久免费视频6| 国产第一色| 国产亚洲精品91| 鲁鲁鲁爽爽爽在线视频观看 | 亚洲色图另类| 熟女日韩精品2区| 国产成本人片免费a∨短片| 亚洲男人的天堂在线观看|