一種移動(dòng)處理器上cpu與gpu軟件功耗測(cè)量方法
【專利摘要】本發(fā)明公開了一種移動(dòng)處理器上CPU與GPU軟件功耗測(cè)量方法,該方法包括建立CPU功耗模型、修改待測(cè)程序并重新編譯、待測(cè)平臺(tái)設(shè)置、運(yùn)行待測(cè)程序和數(shù)據(jù)處理;本發(fā)明提出的移動(dòng)處理器上CPU和GPU的功耗測(cè)量方法有效地解決了目前移動(dòng)智能終端上軟件開發(fā)人員難以同時(shí)獲取程序執(zhí)行時(shí)移動(dòng)CPU、GPU上的功耗問(wèn)題。無(wú)需任何額外的測(cè)量工具,并且無(wú)需拆解待測(cè)平臺(tái),可以直接在移動(dòng)智能終端上精確的獲取程序在移動(dòng)CPU和GPU上執(zhí)行的功耗,能夠幫助應(yīng)用程序的開發(fā)人員設(shè)計(jì)低功耗的智能終端應(yīng)用程序和游戲。
【專利說(shuō)明】—種移動(dòng)處理器上CPU與GPU軟件功耗測(cè)量方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及功功耗測(cè)量領(lǐng)域,具體涉及一種移動(dòng)處理器上CPU與GPU軟件功耗測(cè)量方法。
【背景技術(shù)】
[0002]移動(dòng)計(jì)算技術(shù)日新月異,以智能手機(jī)、平板電腦為代表的手持終端也得到了廣泛普及和應(yīng)用。隨著移動(dòng)計(jì)算技術(shù)的發(fā)展,特別是移動(dòng)處理器技術(shù)的巨大進(jìn)步,這些手持終端的應(yīng)用范圍從傳統(tǒng)的通信、拍照功能發(fā)展到今天的智能手機(jī)和平板電腦普遍具有的高速上網(wǎng)、3D游戲、高清視頻等功能。
[0003]手持智能終端搭載的移動(dòng)處理器通常包含CPU和GPU兩部分,CPU承擔(dān)通用計(jì)算功能,GPU承擔(dān)2D、3D圖形繪制、運(yùn)算、顯示等功能。目前在智能手機(jī)、平板電腦等移動(dòng)終端上運(yùn)行的應(yīng)用程序、游戲,播放高清視頻對(duì)移動(dòng)處理器的性能要求越來(lái)越高,同時(shí)帶來(lái)了更大的功耗開銷。由于智能手機(jī)、平板電腦等手持智能終端通常由鋰電池驅(qū)動(dòng),因此應(yīng)用程序、游戲和視頻導(dǎo)致的功耗開銷對(duì)于用戶體驗(yàn)起著十分關(guān)鍵的作用。為了更好地開發(fā)低功耗的智能終端應(yīng)用程序,開發(fā)人員需要獲取程序執(zhí)行時(shí)的功耗信息。然而目前已有的性能剖析軟件僅能較為獲取應(yīng)用程序的執(zhí)行時(shí)間,對(duì)于程序執(zhí)行時(shí)移動(dòng)CPU和GPU上的功耗開銷缺乏有效、精確的測(cè)定方法。人們期待利用功耗測(cè)量方法,靈活方便的獲得應(yīng)用程序的執(zhí)行時(shí)間、功耗,進(jìn)而獲取能耗信息,從而幫助開發(fā)人員降低程序的執(zhí)行功耗,提升用戶使用體驗(yàn)。
[0004]另外,由于大多數(shù)移動(dòng)智能終端中CPU、GPU等部件集成在同一塊SoC芯片中,所以無(wú)法直接從硬件上進(jìn)行方便的功率與能耗測(cè)量。
【發(fā)明內(nèi)容】
[0005]發(fā)明目的:為了解決現(xiàn)有技術(shù)的不足,通過(guò)外部程序?qū)σ苿?dòng)設(shè)備的CPU和GPU直接進(jìn)行功耗測(cè)量,克服了現(xiàn)有技術(shù)缺乏有效、精準(zhǔn)測(cè)量方法的問(wèn)題。
[0006]技術(shù)方案:一種移動(dòng)處理器上CPU與GPU軟件功耗測(cè)量方法,其特征在于,該方法包括建立CPU功耗模型、修改待測(cè)程序并重新編譯、待測(cè)平臺(tái)設(shè)置、運(yùn)行待測(cè)程序和數(shù)據(jù)處理;該方法包括以下步驟:
[0007]I)建立基于使用率的CPU功率模型:
[0008]P= Σ Ui X β i
[0009]式中:
[0010]P為CPU的動(dòng)態(tài)功率;
[0011]Ui為第i個(gè)CPU核心的使用率;
[0012]β i為第i個(gè)CPU核心的功耗系數(shù);
[0013]運(yùn)行計(jì)算密集型測(cè)試集,在運(yùn)行過(guò)程中采樣從待測(cè)平臺(tái)的操作系統(tǒng)得到的電池瞬時(shí)電流電壓值和CPU的使用頻率并記錄,通過(guò)線性規(guī)約方式處理所得數(shù)據(jù),得到CPU功率模型中的β i;
[0014]2)依據(jù)待測(cè)平臺(tái)的各個(gè)程序模塊的功能和功耗測(cè)試需求,將其劃分一個(gè)以上的待測(cè)代碼段;在各個(gè)待測(cè)代碼段的首尾和整個(gè)程序代碼的首尾加入相關(guān)性能剖析代碼gtickO,并重新編譯待測(cè)程序;
[0015]3)運(yùn)行步驟2)中重新編譯的待測(cè)程序:該重新編譯的待測(cè)程序在運(yùn)行過(guò)程中記錄執(zhí)行到各個(gè)代碼段的時(shí)刻和執(zhí)行完各個(gè)代碼段的時(shí)刻;同時(shí),持續(xù)采樣從待測(cè)平臺(tái)的操作系統(tǒng)得到的電池瞬時(shí)電流電壓值和CPU的使用率并記錄;該重新編譯的待測(cè)程序在開始執(zhí)行前和結(jié)束執(zhí)行前休眠一段時(shí)間,在休眠期間仍然持續(xù)采樣電池瞬時(shí)電流電壓值和CPU使用率;休眠是為了使CPU/GPU處于Idle狀態(tài)一段時(shí)間,以便測(cè)量背景功耗。
[0016]4)處理步驟3)中記錄的數(shù)據(jù),具體包括以下步驟:
[0017]4.1)將各個(gè)采樣點(diǎn)的瞬時(shí)電流值與瞬時(shí)電壓值相乘,得到各個(gè)采樣時(shí)刻的瞬時(shí)功耗值;取瞬時(shí)功耗最小值為背景功耗,所述背景功耗包括各個(gè)采樣時(shí)刻CPU與GPU處于Idle狀態(tài)的功耗;
[0018]4.2)將各個(gè)采樣點(diǎn)的瞬時(shí)功耗值減去背景功耗,得到各個(gè)采樣時(shí)刻CPU與GPU的實(shí)際總功耗;
[0019]4.3)使用步驟I)中的CPU功耗模型與步驟3)中各采樣時(shí)刻的CPU使用率信息,將步驟4.2)得到的CPU與GPU實(shí)際總功耗減去步驟I)中CPU功率模型公式計(jì)算出的功耗,得到各采樣時(shí)刻的CPU功耗,進(jìn)而可以計(jì)算出各采樣時(shí)刻的GPU功耗;
[0020]4.4)通過(guò)步驟3)重新編譯的待測(cè)程序在運(yùn)行過(guò)程中記錄執(zhí)行到各個(gè)代碼段的時(shí)刻和執(zhí)行完各個(gè)代碼段的時(shí)刻,計(jì)算出各個(gè)代碼段上耗費(fèi)的執(zhí)行時(shí)間;利用步驟4.1)計(jì)算出的各個(gè)采樣時(shí)刻的瞬時(shí)功耗值,計(jì)算出在各個(gè)代碼段上耗費(fèi)的平均功率與總能耗。
[0021]進(jìn)一步的,步驟4)中,對(duì)待測(cè)程序進(jìn)行多次測(cè)量取平均值。
[0022]有益效果:
[0023]本發(fā)明提出的移動(dòng)處理器上CPU和GPU的功耗測(cè)量方法有效地解決了目前移動(dòng)智能終端上軟件開發(fā)人員難以同時(shí)獲取程序執(zhí)行時(shí)移動(dòng)CPU、GPU上的功耗問(wèn)題。
[0024]本發(fā)明提出了一種在移動(dòng)智能終端上,如智能手機(jī)、平板電腦,進(jìn)行移動(dòng)CPU和GPU的程序執(zhí)行時(shí)間、功耗的測(cè)量方法。
[0025]利用本發(fā)明的技術(shù)方案,無(wú)需任何額外的測(cè)量工具,并且無(wú)需拆解待測(cè)平臺(tái),可以直接在移動(dòng)智能終端上精確的獲取程序在移動(dòng)CPU和GPU上執(zhí)行的功耗,能夠幫助應(yīng)用程序的開發(fā)人員設(shè)計(jì)低功耗的智能終端應(yīng)用程序和游戲。
[0026]本發(fā)明可以對(duì)需要設(shè)計(jì)低功耗的應(yīng)用程序和硬件的開發(fā)人員帶來(lái)明顯效益。
【專利附圖】
【附圖說(shuō)明】
[0027]圖1為代碼流程示意圖
[0028]圖2為本發(fā)明的流程圖
[0029]圖3為10次測(cè)試數(shù)據(jù)處理后的執(zhí)行時(shí)間、功耗和能耗的輸出示意圖
[0030]圖4為20次測(cè)試數(shù)據(jù)處理后的執(zhí)行時(shí)間、功耗和能耗的輸出示意圖
【具體實(shí)施方式】
[0031]下面結(jié)合附圖對(duì)本發(fā)明做更進(jìn)一步的解釋。
[0032]一種移動(dòng)處理器上CPU與GPU軟件功耗測(cè)量方法,其特征在于,該方法包括建立CPU功耗模型、修改待測(cè)程序并重新編譯、待測(cè)平臺(tái)設(shè)置、運(yùn)行待測(cè)程序和數(shù)據(jù)處理;該方法包括以下步驟:
[0033]I)建立基于使用率的CPU功率模型:
[0034]P= Σ Ui X β i
[0035]式中:
[0036]P為CPU的動(dòng)態(tài)功率;
[0037]Ui為第i個(gè)CPU核心的使用率;
[0038]β i為第i個(gè)CPU核心的功耗系數(shù);
[0039]運(yùn)行計(jì)算密集型測(cè)試集,在運(yùn)行過(guò)程中采樣從待測(cè)平臺(tái)的操作系統(tǒng)得到的電池瞬時(shí)電流電壓值和CPU的使用頻率并記錄,通過(guò)線性規(guī)約方式處理所得數(shù)據(jù),得到CPU功率模型中的β i;
[0040]2)依據(jù)待測(cè)平臺(tái)的各個(gè)程序模塊的功能和功耗測(cè)試需求,將其劃分一個(gè)以上的待測(cè)代碼段;在各個(gè)待測(cè)代碼段的首尾和整個(gè)程序代碼的首尾加入相關(guān)性能剖析代碼gtickO,并重新編譯待測(cè)程序;
[0041]3)運(yùn)行步驟2)中重新編譯的待測(cè)程序:該重新編譯的待測(cè)程序在運(yùn)行過(guò)程中記錄執(zhí)行到各個(gè)代碼段的時(shí)刻和執(zhí)行完各個(gè)代碼段的時(shí)刻;同時(shí),持續(xù)采樣從待測(cè)平臺(tái)的操作系統(tǒng)得到的電池瞬時(shí)電流電壓值和CPU的使用率并記錄;該重新編譯的待測(cè)程序在開始執(zhí)行前和結(jié)束執(zhí)行前會(huì)休眠一段時(shí)間,在休眠期間仍然持續(xù)采樣電池瞬時(shí)電流電壓值和CPU使用率;
[0042]4)處理步驟3)中記錄的數(shù)據(jù),具體包括以下步驟:
[0043]4.1)將各個(gè)采樣點(diǎn)的瞬時(shí)電流值與瞬時(shí)電壓值相乘,得到各個(gè)采樣時(shí)刻的瞬時(shí)功耗值;取瞬時(shí)功耗最小值為背景功耗,得到各個(gè)采樣時(shí)刻CPU與GPU處于Idle狀態(tài)的功耗;
[0044]4.2)將各個(gè)采樣點(diǎn)的瞬時(shí)功耗值減去背景功耗,得到各個(gè)采樣時(shí)刻CPU與GPU的實(shí)際總功耗;
[0045]4.3)使用步驟I)中的CPU功耗模型與步驟3)中各采樣時(shí)刻的CPU使用率信息,推算出各采樣時(shí)刻的CPU功耗,進(jìn)而可以計(jì)算出各采樣時(shí)刻的GPU功耗;
[0046]4.4)通過(guò)步驟3)重新編譯的待測(cè)程序在運(yùn)行過(guò)程中記錄執(zhí)行到各個(gè)代碼段的時(shí)刻和執(zhí)行完各個(gè)代碼段的時(shí)刻,計(jì)算出各個(gè)代碼段上耗費(fèi)的執(zhí)行時(shí)間;利用步驟4.1)計(jì)算出的各個(gè)采樣時(shí)刻的瞬時(shí)功耗值,計(jì)算出在各個(gè)代碼段上耗費(fèi)的平均功率與總能耗,對(duì)待測(cè)程序進(jìn)行多次測(cè)量取平均值。
[0047]如圖1所示,為對(duì)待測(cè)程序進(jìn)行代碼段劃分并在各個(gè)代碼段的首尾和整個(gè)程序的首尾加入相關(guān)性能剖析代碼的示意圖。此處以一種基于OpenCL的異構(gòu)計(jì)算測(cè)試程序?yàn)槔齺?lái)說(shuō)明本發(fā)明方案,但本方案并不局限于OpenCL程序。該測(cè)試程序包含了在CPU和GPU上執(zhí)行的計(jì)算任務(wù),并依據(jù)程序的功能和性能剖析需求進(jìn)行了代碼段劃分。測(cè)試程序可以劃分為4個(gè)代碼段,其中A、D是在CPU上執(zhí)行,B、C是在GPU上執(zhí)行。本發(fā)明提出的程序執(zhí)行時(shí)間、功耗測(cè)量均是基于代碼段劃分進(jìn)行,從而最終獲得各個(gè)代碼段的執(zhí)行時(shí)間和功耗性
[0048]如圖2所示,為測(cè)量運(yùn)行在移動(dòng)處理器CPU和GPU上程序的執(zhí)行時(shí)間、功耗和能耗方法的流程圖。該流程圖略去了 CPU功耗建模的過(guò)程。從圖中可知,所述測(cè)量方法由修改待測(cè)程序并重新編譯、待測(cè)平臺(tái)設(shè)置、運(yùn)行待測(cè)程序和數(shù)據(jù)處理幾個(gè)部分組成。首先,需要對(duì)待測(cè)程序進(jìn)行修改并重新編譯。具體來(lái)說(shuō),在代碼段劃分得到的各個(gè)功能模塊代碼段的開始、結(jié)束處加上gtick函數(shù);在待測(cè)程序的main函數(shù)首尾處分別加上gticki和gticke函數(shù);如果程序運(yùn)行的時(shí)間很長(zhǎng),需要在適當(dāng)?shù)牡胤郊由蟝tickr和gtickp函數(shù),以使得程序每運(yùn)行一段時(shí)間就更新測(cè)量數(shù)據(jù)日志。gtick函數(shù)用于記錄當(dāng)前的時(shí)刻,并在后面的環(huán)節(jié)用于記錄各個(gè)功能模塊的執(zhí)行時(shí)間。gticki是初始化函數(shù),同時(shí)負(fù)責(zé)啟動(dòng)Linux內(nèi)核編程接口提供的電流、電壓采樣sampler線程,gticke是終止函數(shù)。此外,為了功耗測(cè)量本身帶來(lái)過(guò)多額外的執(zhí)行時(shí)間以及功耗開銷,本發(fā)明測(cè)量的數(shù)據(jù)均記錄在內(nèi)存中,并在測(cè)量結(jié)束時(shí)或運(yùn)行g(shù)tickp函數(shù)時(shí)寫入外存。同時(shí),程序會(huì)在初始化時(shí)完成內(nèi)存分配,不會(huì)在測(cè)量過(guò)程中出現(xiàn)realloc,以避免其帶來(lái)的內(nèi)存分配功耗對(duì)測(cè)量造成的干擾。為了測(cè)量時(shí)上述內(nèi)存空間不夠存放中間數(shù)據(jù)的情況,設(shè)計(jì)引入gtickr和gtickp兩個(gè)函數(shù)用于實(shí)現(xiàn)電流、電壓采樣sampler線程和待測(cè)程序的暫停和重啟,并在在暫停的間隙將數(shù)據(jù)日志寫入外存。其次,需要對(duì)待測(cè)平臺(tái)的進(jìn)行適當(dāng)?shù)脑O(shè)置,如固定移動(dòng)處理器CPU主頻、核心數(shù)以及顯示屏幕亮度,從而消除影響功耗測(cè)量的不確定因素。通過(guò)修改Android操作系統(tǒng)的初始化腳本可以實(shí)現(xiàn)上述目的。接下來(lái),在待測(cè)平臺(tái)上運(yùn)行測(cè)試程序,同時(shí)得到移動(dòng)處理器CPU和GPU的執(zhí)行時(shí)間和功耗性能結(jié)果。如前所述,gtick函數(shù)用于記錄程序執(zhí)行的當(dāng)前時(shí)刻,gticki函數(shù)用于啟動(dòng)電流、電壓采樣sampler線程。此外,為了精準(zhǔn)地測(cè)量移動(dòng)處理器的功耗,對(duì)于不使用顯示屏的待測(cè)程序,將會(huì)關(guān)閉待測(cè)平臺(tái)的顯示屏,然后這有可能導(dǎo)致待測(cè)平臺(tái)進(jìn)入sleepmode。針對(duì)此問(wèn)題,運(yùn)行Launcher程序可以保證測(cè)試程序一直不被操作系統(tǒng)ki 11,同時(shí)保證待測(cè)平臺(tái)顯示屏關(guān)閉時(shí),如果待測(cè)程序還未運(yùn)行結(jié)束,則阻止待測(cè)平臺(tái)進(jìn)入sle印mode。為了得到更為精確的執(zhí)行時(shí)間和功耗測(cè)量數(shù)據(jù),bench函數(shù)用于重復(fù)調(diào)用待測(cè)程序,最終的數(shù)據(jù)可以取平均值作為最終結(jié)果。最后,對(duì)gtick函數(shù)記錄的執(zhí)行時(shí)刻和電流、電壓的采樣數(shù)據(jù)進(jìn)行處理,繪制出執(zhí)行時(shí)間和功耗的性能表格,并計(jì)算出能耗結(jié)果。在待測(cè)程序運(yùn)行結(jié)束后,需要將記錄下來(lái)的數(shù)據(jù)日志傳送回PC進(jìn)行統(tǒng)計(jì),fig函數(shù)用于執(zhí)行時(shí)間、功耗以及能耗的計(jì)算、統(tǒng)計(jì)和表格繪制。
[0049]具體數(shù)據(jù)處理方法如下:
[0050]I)將各個(gè)采樣點(diǎn)的瞬時(shí)電流值與瞬時(shí)電壓值相乘可以得到各個(gè)采樣時(shí)刻的瞬時(shí)功耗值。
[0051]2)取各個(gè)采樣時(shí)刻的瞬時(shí)功耗的最小值為背景功耗,即移動(dòng)平臺(tái)CPU、GPU處于Idle狀態(tài)的功耗。將各個(gè)采樣時(shí)刻的瞬時(shí)功耗值減去背景功耗,即可得到各個(gè)采樣時(shí)刻CPU與GPU的總功耗。
[0052]3)借助CPU功耗模型與各采樣時(shí)刻的CPU使用率信息,可以推算出各采樣時(shí)刻的CPU功耗,利用總功耗值減去CPU功耗值,進(jìn)而計(jì)算出各采樣時(shí)刻的GPU功耗。
[0053]4)通過(guò)步驟3所記錄的執(zhí)行到和執(zhí)行完各個(gè)代碼段的時(shí)刻,可以計(jì)算出各個(gè)代碼段上耗費(fèi)的執(zhí)行時(shí)間。在利用上面計(jì)算出的各個(gè)采樣時(shí)刻的瞬時(shí)功耗值,可以計(jì)算出在各個(gè)代碼段上耗費(fèi)的平均功率與總能耗。
[0054]如圖3、圖4所示,分別為數(shù)據(jù)處理之后得到的移動(dòng)處理器CPU、GPU上的測(cè)試程序執(zhí)行時(shí)間、功耗和能耗的輸出示意圖。虛線上方的數(shù)據(jù)為測(cè)試程序的整體性能,下方為節(jié)選部分重點(diǎn)功能模塊(代碼段)的性能剖析。測(cè)試程序的整體性能包括了執(zhí)行時(shí)間、測(cè)量功耗和基準(zhǔn)功耗、能耗信息,部分模塊的性能剖析包括了各部分的執(zhí)行時(shí)間、功耗、能耗和所占比例值。圖4所示的移動(dòng)處理器GPU測(cè)量結(jié)果還包括了 GPU初始化(init)、CPU和GPU的數(shù)據(jù)傳輸(mems)等操作性能結(jié)果。
[0055]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種移動(dòng)處理器上CPU與GPU軟件功耗測(cè)量方法,其特征在于,該方法包括建立CPU功耗模型、修改待測(cè)程序并重新編譯、待測(cè)平臺(tái)設(shè)置、運(yùn)行待測(cè)程序和數(shù)據(jù)處理;該方法包括以下步驟: 1)建立基于使用率的CPU功率模型:
P= Σ Ui X β i 式中: P為CPU的動(dòng)態(tài)功率; Ui為第i個(gè)CPU核心的使用率; β i為第i個(gè)CPU核心的功耗系數(shù); 運(yùn)行計(jì)算密集型測(cè)試集,在運(yùn)行過(guò)程中采樣從待測(cè)平臺(tái)的操作系統(tǒng)得到的電池瞬時(shí)電流電壓值和CPU的使用頻率并記錄,通過(guò)線性規(guī)約方式處理所得數(shù)據(jù),得到CPU功率模型中的β?; 2)依據(jù)待測(cè)平臺(tái)的各個(gè)程序模塊的功能和功耗測(cè)試需求,將其劃分一個(gè)以上的待測(cè)代碼段;在各個(gè)待測(cè)代碼段的首尾和整個(gè)程序代碼的首尾加入相關(guān)性能剖析代碼gtickO,并重新編譯待測(cè)程序; 3)運(yùn)行步驟2)中重新編譯的待測(cè)程序:該重新編譯的待測(cè)程序在運(yùn)行過(guò)程中記錄執(zhí)行到各個(gè)代碼段的時(shí)刻和執(zhí)行完各個(gè)代碼段的時(shí)刻;同時(shí),持續(xù)采樣從待測(cè)平臺(tái)的操作系統(tǒng)得到的電池瞬時(shí)電流電壓值和CPU的使用率并記錄;該重新編譯的待測(cè)程序在開始執(zhí)行前和結(jié)束執(zhí)行前休眠一段時(shí)間,在休眠期間仍然持續(xù)采樣電池瞬時(shí)電流電壓值和CPU使用率; 4)處理步驟3)中記錄的數(shù)據(jù),具體包括以下步驟: 4.1)將各個(gè)采樣點(diǎn)的瞬時(shí)電流值與瞬時(shí)電壓值相乘,得到各個(gè)采樣時(shí)刻的瞬時(shí)功耗值;取瞬時(shí)功耗最小值為背景功耗,所述背景功耗包括各個(gè)采樣時(shí)刻CPU與GPU處于Idle狀態(tài)的功耗; 4.2)將各個(gè)采樣點(diǎn)的瞬時(shí)功耗值減去背景功耗,得到各個(gè)采樣時(shí)刻CPU與GPU的實(shí)際總功耗; 4.3)使用步驟I)中的CPU功耗模型與步驟3)中各采樣時(shí)刻的CPU使用率信息,將步驟4.2)得到的CPU與GPU實(shí)際總功耗減去步驟I)中CPU功率模型公式計(jì)算出的功耗,得到各采樣時(shí)刻的CPU功耗,進(jìn)而可以計(jì)算出各采樣時(shí)刻的GPU功耗; 4.4)通過(guò)步驟3)重新編譯的待測(cè)程序在運(yùn)行過(guò)程中記錄執(zhí)行到各個(gè)代碼段的時(shí)刻和執(zhí)行完各個(gè)代碼段的時(shí)刻,計(jì)算出各個(gè)代碼段上耗費(fèi)的執(zhí)行時(shí)間;利用步驟4.1)計(jì)算出的各個(gè)采樣時(shí)刻的瞬時(shí)功耗值,計(jì)算出在各個(gè)代碼段上耗費(fèi)的平均功率與總能耗。
2.如權(quán)利要求1所述的一種移動(dòng)處理器上CPU與GPU軟件功耗測(cè)量方法,其特征在于,步驟4)中,對(duì)待測(cè)程序進(jìn)行多次測(cè)量取平均值。
【文檔編號(hào)】G06F11/34GK104461849SQ201410741891
【公開日】2015年3月25日 申請(qǐng)日期:2014年12月8日 優(yōu)先權(quán)日:2014年12月8日
【發(fā)明者】齊志, 孟煒, 溫聞, 時(shí)龍興, 吳建輝, 楊軍 申請(qǐng)人:東南大學(xué)