[發(fā)明專利]針對GPU程序的源碼級數(shù)據(jù)傳輸能耗估算方法無效
| 申請?zhí)枺?/td> | 201210271642.6 | 申請日: | 2012-08-01 |
| 公開(公告)號: | CN102880785A | 公開(公告)日: | 2013-01-16 |
| 發(fā)明(設(shè)計(jì))人: | 張常有;黃錕;崔翔;陳一峯;張爽 | 申請(專利權(quán))人: | 北京大學(xué) |
| 主分類號: | G06F19/00 | 分類號: | G06F19/00 |
| 代理公司: | 北京萬象新悅知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11360 | 代理人: | 蘇愛華 |
| 地址: | 100871*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 針對 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ù)男阅堋?/p>
原語:指具有比較完整功能的一組程序語句。本文中的原語將改變程序的執(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ì)算模式:如圖1所示,CPU+GPU異構(gòu)計(jì)算模式是GPU輔助CPU進(jìn)行計(jì)算的模式,通過把一部分計(jì)算任務(wù)交給GPU承擔(dān),可以提高計(jì)算速度。數(shù)據(jù)可以在主存和GPU顯存(Device?Memory)之間進(jìn)行交換。圖1為1個(gè)CPU和2個(gè)GPU的結(jié)構(gòu)。采用的測量方法為多測試程序?qū)φ麢C(jī)的功耗進(jìn)行測量,從而分解出不同原語的功耗及其累計(jì)關(guān)系。
本發(fā)明提供的技術(shù)方案如下:
一種針對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ù)測。
所述的源碼級數(shù)據(jù)傳輸能耗估算方法,其特征是,步驟1)中,由于不同的GPU程序可能使用不同的傳輸模式和傳輸粒度組合,為了能夠盡可能精確地估算傳輸能耗,先通過實(shí)驗(yàn)測量出平臺本身在不同傳輸模式和傳輸粒度組合下的基本帶寬和功耗數(shù)據(jù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京大學(xué),未經(jīng)北京大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210271642.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種無鹵阻燃的ABS材料
- 下一篇:電感檢測機(jī)
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F19-00 專門適用于特定應(yīng)用的數(shù)字計(jì)算或數(shù)據(jù)處理的設(shè)備或方法
G06F19-10 .生物信息學(xué),即計(jì)算分子生物學(xué)中的遺傳或蛋白質(zhì)相關(guān)的數(shù)據(jù)處理方法或系統(tǒng)
G06F19-12 ..用于系統(tǒng)生物學(xué)的建模或仿真,例如:概率模型或動(dòng)態(tài)模型,遺傳基因管理網(wǎng)絡(luò),蛋白質(zhì)交互作用網(wǎng)絡(luò)或新陳代謝作用網(wǎng)絡(luò)
G06F19-14 ..用于發(fā)展或進(jìn)化的,例如:進(jìn)化的保存區(qū)域決定或進(jìn)化樹結(jié)構(gòu)
G06F19-16 ..用于分子結(jié)構(gòu)的,例如:結(jié)構(gòu)排序,結(jié)構(gòu)或功能關(guān)系,蛋白質(zhì)折疊,結(jié)構(gòu)域拓?fù)洌媒Y(jié)構(gòu)數(shù)據(jù)的藥靶,涉及二維或三維結(jié)構(gòu)的
G06F19-18 ..用于功能性基因組學(xué)或蛋白質(zhì)組學(xué)的,例如:基因型–表型關(guān)聯(lián),不均衡連接,種群遺傳學(xué),結(jié)合位置鑒定,變異發(fā)生,基因型或染色體組的注釋,蛋白質(zhì)相互作用或蛋白質(zhì)核酸的相互作用
- 圖形處理器任務(wù)的分配方法和裝置
- 一種資源調(diào)度裝置、資源調(diào)度系統(tǒng)和資源調(diào)度方法
- 一種免工具GPU支架固定裝置
- 一種YARN集群GPU資源調(diào)度方法、裝置和介質(zhì)
- 一種服務(wù)器內(nèi)4GPU布局結(jié)構(gòu)及其安裝方法
- 一種GPU資源調(diào)度系統(tǒng)及其調(diào)度方法
- 一種GPU拓?fù)浞謪^(qū)方法與裝置
- 一種基于Kubernetes的共享GPU調(diào)度方法
- 一種數(shù)據(jù)處理的方法和裝置
- 一種GPU分配方法、系統(tǒng)、存儲介質(zhì)及設(shè)備
- 坐席資源碼的分配方法和分配系統(tǒng)
- 一種服務(wù)器軟件源碼開發(fā)管理方法
- 基于源碼庫上傳容器鏡像至鏡像倉庫的方法及系統(tǒng)
- 一種漏洞檢測方法、裝置、服務(wù)器及存儲介質(zhì)
- 商品的溯源碼關(guān)聯(lián)方法及裝置
- 一種基于數(shù)據(jù)可執(zhí)行特征的網(wǎng)頁后門檢測方法與系統(tǒng)
- 文件打包方法、裝置、設(shè)備及存儲介質(zhì)
- 源碼轉(zhuǎn)換方法、裝置、計(jì)算機(jī)設(shè)備及可讀存儲介質(zhì)
- 一種多人模式下修改源碼文件的方法、系統(tǒng)及介質(zhì)
- 一種牲畜胴體表皮溯源碼噴印方法、噴碼機(jī)、溯源碼和服務(wù)器





