亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

針對gpu程序的源碼級數(shù)據(jù)傳輸能耗估算方法

文檔序號:6571619閱讀:422來源:國知局
專利名稱:針對gpu程序的源碼級數(shù)據(jù)傳輸能耗估算方法
技術(shù)領(lǐng)域
本發(fā)明提供了一種針對GPU眾核程序運(yùn)行狀態(tài)進(jìn)行源碼級傳輸能耗的估算方法,具體內(nèi)容針對特定GPU+CPU的異構(gòu)體系平臺下使用NVIDIA CUDA架構(gòu)編寫的程序,通過在源碼級別的分析建模,進(jìn)行數(shù)據(jù)傳輸操作的功耗的測量和能耗估算方法,屬于面向新型計(jì)算機(jī)體系結(jié)構(gòu)的程序設(shè)計(jì)方法領(lǐng)域。
背景技術(shù)
高性能計(jì)算(High Performance Computing,簡稱HPC)在現(xiàn)代科學(xué)研究、工業(yè)生產(chǎn)中發(fā)揮著越來越重要的作用。HPC利用高性能設(shè)備,通過多核、眾核、集群、網(wǎng)格等多種并行計(jì)算的途徑,獲得超高的計(jì)算速度,完成超大規(guī)模的計(jì)算任務(wù)。HPC在帶來越來越高的計(jì)算性能的同時(shí),其能耗也急劇增長。能耗問題越來越為計(jì)算機(jī)研究人員所重視。目前,針對高性能計(jì)算的能耗控制方法,通常實(shí)施在硬件電路和機(jī)器指令層面。然而,這兩個(gè)層面的建模方法,對于普通程序員,都過于底層,不適合用于指導(dǎo)應(yīng)用程序開發(fā)過程中的功耗估計(jì)與低功耗設(shè)計(jì)。高性能計(jì)算通常需要在處理器、存儲器、主機(jī)之間進(jìn)行頻繁的數(shù)據(jù)交換和網(wǎng)絡(luò)通訊。因此,從程序員編程視角,程序的能耗主要包括兩部分一是計(jì)算能耗,主要耗費(fèi)于處理器執(zhí)行計(jì)算任務(wù);二是數(shù)據(jù)傳輸能耗,指耗費(fèi)于在不同(或相同)存儲器之間轉(zhuǎn)移數(shù)據(jù)上的電能。通常,計(jì)算能耗取決于算法的復(fù)雜程度等,比較復(fù)雜。傳輸能耗主要取決于數(shù)據(jù)傳輸?shù)姆椒?,相對?jì)算能耗,建模方法比較明確,結(jié)果穩(wěn)定。特別是在HPC領(lǐng)域,不同處理器、主機(jī)之間的數(shù)據(jù)搬運(yùn)異常頻繁,形式多樣,準(zhǔn)確預(yù)測傳輸能耗以指導(dǎo)程序調(diào)優(yōu),具有現(xiàn)實(shí)意義。

發(fā)明內(nèi)容
本發(fā)明的目的是針對CPU+GPU模式的異構(gòu)計(jì)算模型,提供一種基于程序狀態(tài)的數(shù)據(jù)傳輸能耗測量、分析和建模方法,能夠建立從程序狀態(tài)到能耗的映射關(guān)系,為程序代碼級的數(shù)據(jù)傳輸能耗估算和優(yōu)化提供參考。為了準(zhǔn)確說明本發(fā)明,本文采用如下術(shù)語及含義。GPU Graphics Processing Unit,圖形處理單元。GPU最初是為圖形圖像處理中涉及到的大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的專用處理器。之后,GPU被推廣到了做通用計(jì)算,并且在一些并行度比較高的計(jì)算任務(wù)中能夠發(fā)揮非常好的效果。CUDA =NVIDIA公司推出的GPU通用計(jì)算處理架構(gòu)。PCIe =PCIe是聯(lián)通計(jì)算機(jī)內(nèi)部各硬件之間的一種主要通信通路。GPU接在計(jì)算機(jī)主板插槽上,通過PCIe,和計(jì)算機(jī)的其他芯片直接互聯(lián)。功率和功耗功率是指單位時(shí)間內(nèi)消耗的電量。下面為了敘述方便,功率特指電功率表的讀數(shù),等于整個(gè)計(jì)算機(jī)系統(tǒng)的總功率。用一個(gè)類似的概念--功耗,來代表程序運(yùn)行在某一狀態(tài)時(shí),單位時(shí)間內(nèi)的電能消耗。
能耗指一段程序的執(zhí)行時(shí)間內(nèi)的電能消耗。帶寬單位時(shí)間內(nèi)可傳輸?shù)臄?shù)據(jù)量的大小,通常用于衡量數(shù)據(jù)傳輸?shù)男阅堋TZ指具有比較完整功能的一組程序語句。本文中的原語將改變程序的執(zhí)行狀態(tài)。程序狀態(tài)指程序的運(yùn)行狀態(tài)。當(dāng)程序僅創(chuàng)建一個(gè)線程時(shí),程序狀態(tài)即該線程狀態(tài)。它通常對應(yīng)于一個(gè)穩(wěn)定的功耗值。頁鎖定內(nèi)存和可分頁內(nèi)存頁鎖定內(nèi)存(Pinned Memory)是指不會(huì)參與分頁交換的內(nèi)存,永遠(yuǎn)駐留在物理內(nèi)存中。而相對地,可分頁內(nèi)存(Pageable Memory)是指會(huì)參與分頁交換到硬盤上去的內(nèi)存。CPU+GPU異構(gòu)計(jì)算模式如圖I所示,CPU+GPU異構(gòu)計(jì)算模式是GPU輔助CPU進(jìn)行
計(jì)算的模式,通過把一部分計(jì)算任務(wù)交給GPU承擔(dān),可以提高計(jì)算速度。數(shù)據(jù)可以在主存和GPU顯存(Device Memory)之間進(jìn)行交換。圖I為I個(gè)CPU和2個(gè)GPU的結(jié)構(gòu)。采用的測量方法為多測試程序?qū)φ麢C(jī)的功耗進(jìn)行測量,從而分解出不同原語的功耗及其累計(jì)關(guān)系。本發(fā)明提供的技術(shù)方案如下一種針對GPU程序的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,包括如下步驟I)基礎(chǔ)參數(shù)測量計(jì)算針對具體的CPU+GPU異構(gòu)體系平臺單機(jī)系統(tǒng),進(jìn)行系列基本測量,標(biāo)定程序狀態(tài)相關(guān)的基本參數(shù);其中,需要測量的基本狀態(tài)包括空閑狀態(tài)、CUDA庫運(yùn)行狀態(tài)、MPI消息等待狀態(tài)、數(shù)據(jù)傳輸狀態(tài);2)針對具體程序估算數(shù)據(jù)傳輸能耗根據(jù)所述參數(shù)的標(biāo)定值對具體程序中數(shù)據(jù)傳輸能耗部分進(jìn)行估算和預(yù)測。所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,步驟I)中,由于不同的GPU程序可能使用不同的傳輸模式和傳輸粒度組合,為了能夠盡可能精確地估算傳輸能耗,先通過實(shí)驗(yàn)測量出平臺本身在不同傳輸模式和傳輸粒度組合下的基本帶寬和功耗數(shù)據(jù)。所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,根據(jù)步驟I)得到的基本帶寬和功耗數(shù)據(jù),分析具體GPU程序的源碼,根據(jù)數(shù)據(jù)傳輸模式和數(shù)據(jù)量,估算程序的消耗于數(shù)據(jù)傳輸方面的總能耗。所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,線程執(zhí)行不同原語后,處于多種狀態(tài)的復(fù)合狀態(tài),其功耗可以近似分解為多個(gè)基本狀態(tài)功耗的線性累加,簡稱為簡單可加性,根據(jù)這種簡單可加性,通過計(jì)算,完成基礎(chǔ)數(shù)據(jù)的測量和程序能耗的估算。所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,線程狀態(tài)下的傳輸功耗的基本測量方法如下分別測量計(jì)算機(jī)在空閑狀態(tài)下的功SP1和每個(gè)原語執(zhí)行后的功耗Ρχ,Ρχ的取值為 Pi> p2> Pcuda 或 Pteans,Pcuda=P「Pi,Pteans^-Pi Pteans 就是測得的傳輸功耗;其中,P1為CUDA庫裝載執(zhí)行之后的功耗讀數(shù);P2為數(shù)據(jù)傳輸之后的功耗讀數(shù);POTA為裝載CUDA庫原語執(zhí)行后導(dǎo)致的功耗值增量;PTKANS為CUDA中的數(shù)據(jù)傳輸原語執(zhí)行后導(dǎo)致的功耗值增量。所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,采用連續(xù)多遍傳輸?shù)霓k法,使傳輸總時(shí)間達(dá)到10秒以上,從而獲得η個(gè)功耗讀數(shù),重復(fù)各種數(shù)據(jù)傳輸模式,在不同數(shù)據(jù)傳輸粒度下,記錄其功耗和帶寬,計(jì)算平均帶寬和平均功耗如下
權(quán)利要求
1.一種針對GPU程序的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,包括如下步驟 1)基礎(chǔ)參數(shù)測量計(jì)算針對具體的CPU+GPU異構(gòu)體系平臺單機(jī)系統(tǒng),進(jìn)行系列基本測量,標(biāo)定程序狀態(tài)相關(guān)的基本參數(shù);其中,需要測量的基本狀態(tài)包括空閑狀態(tài)、CUDA庫運(yùn)行狀態(tài)、MPI消息等待狀態(tài)、數(shù)據(jù)傳輸狀態(tài); 2)針對具體程序估算數(shù)據(jù)傳輸能耗根據(jù)所述參數(shù)的標(biāo)定值對具體程序中數(shù)據(jù)傳輸能耗部分進(jìn)行估算和預(yù)測。
2.如權(quán)利要求I所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,步驟I)中,由于不同的GPU程序可能使用不同的傳輸模式和傳輸粒度組合,為了能夠盡可能精確地估算傳輸能耗,先通過實(shí)驗(yàn)測量出平臺本身在不同傳輸模式和傳輸粒度組合下的基本帶寬和功耗數(shù)據(jù)。
3.如權(quán)利要求2所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,根據(jù)步驟I)得到的基本帶寬和功耗數(shù)據(jù),分析具體GPU程序的源碼,根據(jù)數(shù)據(jù)傳輸模式和數(shù)據(jù)量,估算程序的消耗于數(shù)據(jù)傳輸方面的總能耗。
4.如權(quán)利要求I所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,線程執(zhí)行不同原語后,處于多種狀態(tài)的復(fù)合狀態(tài),其功耗可以近似分解為多個(gè)基本狀態(tài)功耗的線性累加,簡稱為簡單可加性,根據(jù)這種簡單可加性,通過計(jì)算,完成基礎(chǔ)數(shù)據(jù)的測量和程序能耗的估算。
5.如權(quán)利要求I所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,線程狀態(tài)下的傳輸功耗的基本測量方法如下分別測量計(jì)算機(jī)在空閑狀態(tài)下的功耗&和每個(gè)原語執(zhí)行后的功耗Px,Px的取值為Pp P2、Pota或P Trans,Pcuda-Pi-Pi,Ptrans-F^-Pi,Pteans 就是測得的傳輸功耗; 其中,P1為CUDA庫裝載執(zhí)行之后的功耗讀數(shù);P2為數(shù)據(jù)傳輸之后的功耗讀數(shù);PCWA為裝載CUDA庫原語執(zhí)行后導(dǎo)致的功耗值增量;PTKANS為CUDA中的數(shù)據(jù)傳輸原語執(zhí)行后導(dǎo)致的功耗值增量。
6.如權(quán)利要求I所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,采用連續(xù)多遍傳輸?shù)霓k法,使傳輸總時(shí)間達(dá)到10秒以上,從而獲得η個(gè)功耗讀數(shù),重復(fù)各種數(shù)據(jù)傳輸模式,在不同數(shù)據(jù)傳輸粒度下,記錄其功耗和帶寬,計(jì)算平均帶寬和平均功耗如下
7.如權(quán)利要求6所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,用如下公式估算數(shù)據(jù)傳輸能耗
8.如權(quán)利要求I所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,包括以下步驟 1)將源程序映射為原語序列,提取出傳輸數(shù)據(jù)的原語; 2)確定程序的數(shù)據(jù)量; 3)列舉程序中的各種數(shù)據(jù)傳輸模式; 4)從程序表達(dá)的算法推斷各種數(shù)據(jù)傳輸模式對應(yīng)的數(shù)據(jù)傳輸粒度; 5)測量計(jì)算出平均帶寬和平均功耗;6)計(jì)算數(shù)據(jù)傳輸能耗數(shù)據(jù)傳輸能耗。平均帶寬
全文摘要
本發(fā)明公布了一種針對GPU程序的源碼級數(shù)據(jù)傳輸能耗估算方法,包括如下步驟基礎(chǔ)參數(shù)測量計(jì)算針對具體的CPU+GPU異構(gòu)體系平臺單機(jī)系統(tǒng),進(jìn)行系列基本測量,標(biāo)定程序狀態(tài)相關(guān)的基本參數(shù);其中,需要測量的基本狀態(tài)包括空閑狀態(tài)、CUDA庫運(yùn)行狀態(tài)、MPI消息等待狀態(tài)、數(shù)據(jù)傳輸狀態(tài);針對具體程序估算數(shù)據(jù)傳輸能耗根據(jù)所述參數(shù)的標(biāo)定值對具體程序中數(shù)據(jù)傳輸能耗部分進(jìn)行估算和預(yù)測。通過本發(fā)明所述的能耗估算方法,能夠建立從源程序經(jīng)由程序狀態(tài)到能耗的映射關(guān)系,可以定性地預(yù)測傳輸能耗,為程序代碼級的數(shù)據(jù)傳輸能耗估算和優(yōu)化提供參考。
文檔編號G06F19/00GK102880785SQ20121027164
公開日2013年1月16日 申請日期2012年8月1日 優(yōu)先權(quán)日2012年8月1日
發(fā)明者張常有, 黃錕, 崔翔, 陳一峯, 張爽 申請人:北京大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1