CN104461849B - 一种移动处理器上cpu与gpu软件功耗测量方法 - Google Patents

一种移动处理器上cpu与gpu软件功耗测量方法 Download PDF

Info

Publication number
CN104461849B
CN104461849B CN201410741891.6A CN201410741891A CN104461849B CN 104461849 B CN104461849 B CN 104461849B CN 201410741891 A CN201410741891 A CN 201410741891A CN 104461849 B CN104461849 B CN 104461849B
Authority
CN
China
Prior art keywords
power consumption
cpu
measured
program
gpu
Prior art date
Application number
CN201410741891.6A
Other languages
English (en)
Other versions
CN104461849A (zh
Inventor
齐志
孟炜
温闻
时龙兴
吴建辉
杨军
Original Assignee
东南大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 东南大学 filed Critical 东南大学
Priority to CN201410741891.6A priority Critical patent/CN104461849B/zh
Publication of CN104461849A publication Critical patent/CN104461849A/zh
Application granted granted Critical
Publication of CN104461849B publication Critical patent/CN104461849B/zh

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing
    • Y02D10/30Reducing energy consumption in distributed systems
    • Y02D10/34Monitoring

Abstract

本发明公开了一种移动处理器上CPU与GPU软件功耗测量方法,该方法包括建立CPU功耗模型、修改待测程序并重新编译、待测平台设置、运行待测程序和数据处理;本发明提出的移动处理器上CPU和GPU的功耗测量方法有效地解决了目前移动智能终端上软件开发人员难以同时获取程序执行时移动CPU、GPU上的功耗问题。无需任何额外的测量工具,并且无需拆解待测平台,可以直接在移动智能终端上精确的获取程序在移动CPU和GPU上执行的功耗,能够帮助应用程序的开发人员设计低功耗的智能终端应用程序和游戏。

Description

一种移动处理器上GPU与GPU软件功耗测量方法

技术领域

[0001]本发明涉及功功耗测量领域,具体涉及一种移动处理器上CPU与GTO软件功耗测量 方法。

背景技术

[0002]移动计算技术日新月异,以智能手机、平板电脑为代表的手持终端也得到了广泛 普及和应用。随着移动计算技术的发展,特别是移动处理器技术的巨大进步,这些手持终端 的应用范围从传统的通信、拍照功能发展到今天的智能手机和平板电脑普遍具有的高速上 网、3D游戏、高清视频等功能。

[0003] 手持智能终端搭载的移动处理器通常包含CPU和GPU两部分,CHJ承担通用计算功 能,GPU承担2D、3D图形绘制、运算、显示等功能。目前在智能手机、平板电脑等移动终端上运 行的应用程序、游戏,播放高清视频对移动处理器的性能要求越来越高,同时带来了更大的 功耗开销。由于智能手机、平板电脑等手持智能终端通常由锂电池驱动,因此应用程序、游 戏和视频导致的功耗开销对于用户体验起着十分关键的作用。为了更好地开发低功耗的智 能终端应用程序,开发人员需要获取程序执行时的功耗信息。然而目前己有的性能剖析软 件仅能较为获取应用程序的执行时间,对于程序执行时移动CPU和GPU上的功耗开销缺乏有 效、精确的测定方法。人们期待利用功耗测量方法,灵活方便的获得应用程序的执行时间、 功耗,进而获取能耗信息,从而帮助开发人员降低程序的执行功耗,提升用户使用体验。

[0004] 另外,由于大多数移动智能终端中CPU、GPU等部件集成在同一块SoC芯片中,所以 无法直接从硬件上进行方便的功率与能耗测量。

发明内容

[0005] 发明目的:为了解决现有技术的不足,通过外部程序对移动设备的CHJ和GPU直接 进行功耗测量,克服了现有技术缺乏有效、精准测量方法的问题。

[0006] 技术方案:一种移动处理器上CPU与GPU软件功耗测量方法,其特征在于,该方法包 括建立CPU功耗模型、修改待测程序并重新编译、待测平台设置、运行待测程序和数据处理; 该方法包括以下步骤:

[0007] 1)建立基于使用率的CPU功耗模型:

[0008] P=EUiXPi

[0009] 式中:

[0010] P为CPU的动态功率;

[0011] Ui为第i个CPU核心的使用率;

[0012] &为第i个CPU核心的功耗系数;

[0013] 运行计算密集型测试集,在运行过程中采样从待测平台的操作系统得到的电池瞬 时电流电压值和CPU的使用频率并记录,通过线性规约方式处理所得数据,得到CPU功耗模 型中的氏;

[0014] 2)依据待测平台的各个程序模块的功能和功耗测试需求,将其划分一个以上的待 测代码段;在各个待测代码段的首尾和整个程序代码的首尾加入相关性能剖析代码gtick 0,并重新编译待测程序;

[0015] 3)运行步骤2)中重新编译的待测程序:该重新编译的待测程序在运行过程中记录 执行到各个代码段的时刻和执行完各个代码段的时刻;同时,持续采样从待测平台的操作 系统得到的电池瞬时电流电压值和CPU的使用率并记录;该重新编译的待测程序在开始执 行前和结束执行前休眠一段时间,在休眠期间仍然持续采样电池瞬时电流电压值和CPU使 用率;休眠是为了使CPU/GPU处于Idle状态一段时间,以便测量背景功耗。

[0016] 4)处理步骤3)中记录的数据,具体包括以下步骤:

[0017] 4.1)将各个采样点的瞬时电流值与瞬时电压值相乘,得到各个采样时刻的瞬时功 耗值;取瞬时功耗最小值为背景功耗,所述背景功耗包括各个采样时刻CPU与GPU处于Idle 状态的功耗;

[0018] 4.2)将各个采样点的瞬时功耗值减去背景功耗,得到各个采样时刻CPU与GPU的实 际总功耗;

[0019] 4.3)使用步骤1)中的CPU功耗模型与步骤3)中各采样时刻的CPU使用率信息,将步 ^4.2)得到的CPU与GPU实际总功耗减去步骤1)中CPU功耗模型公式计算出的功耗,得到各 采样时刻的CPU功耗,进而可以计算出各采样时刻的GPU功耗;

[0020] 4.4)通过步骤3)重新编译的待测程序在运行过程中记录执行到各个代码段的时 刻和执行完各个代码段的时刻,计算出各个代码段上耗费的执行时间;利用步骤4. D计算 出的各个采样时刻的瞬时功耗值,计算出在各个代码段上耗费的平均功率与总能耗。

[0021]进一步的,步骤4)中,对待测程序进行多次测量取平均值。

[0022] 有益效果:

[0023]本发明提出的移动处理器上CPU和GPU的功耗测量方法有效地解决了目前移动智 能终端上软件开发人员难以同时获取程序执行时移动CPU、GPU上的功耗问题。

[0024]本发明提出了一种在移动智能终端上,如智能手机、平板电脑,进行移动cpu和Gpu 的程序执行时间、功耗的测量方法。

[0025]利用本发明的技术方案,无需任何额外的测量工具,并且无需拆解待测平台,可以 直接在移动智能终端上精确的获取程序在移动CPU和GPU上执行的功耗,能够帮助应用程序 的开发人员设计低功耗的智能终端应用程序和游戏。

[0026]本发明可以对需要设计低功耗的应用程序和硬件的开发人员带来明显效益。

附图说明

[0027] 图1为代码流程示意图

[0028]图2为本发明的流程图

[0029]图3为10次测试数据处理后的执行时间、功耗和能耗的输出示意图 [0030]图4为20次测试数据处理后的执行时间、功耗和能耗的输出示意图

具体实施方式

[0031]下面结合附图对本发明做更进一步的解释。

[0032] —种移动处理器上CPU与GPU软件功耗测量方法,其特征在于,该方法包括建立CPU 功耗模型、修改待测程序并重新编译、待测平台设置、运行待测程序和数据处理;该方法包 括以下步骤:

[0033] D建立基于使用率的CPU功耗模型:

[0034] P=EUiX0i

[0035] 式中:

[0036] P为CPU的动态功率; tGGm Ui为第i个CRJ核心的使用率;

[GG38]私为第i个CPU核心的功耗系数;

[0039] 运行计算密集型测试集,在运行过程中采样从待测平台的操作系统得到的电池瞬 时电流电压值和CPU的使用频率并记录,通过线性规约方式处理所得数据,得到CPU功耗模 型中的氏;

[CKMO] 2)依据待测平台的各个程序模块的功能和功耗测试需求,将其划分一个以上的待 测代码段;在各个待测代码段的首尾和整个程序代码的首尾加入相关性能剖析代码gtick 0,并重新编译待测程序;

[0041] 3)运行步骤2)中重新编译的待测程序:该重新编译的待测程序在运行过程中记录 执行到各个代码段的时刻和执行完各个代码段的时刻;同时,持续采样从待测平台的操作 系统得到的电池瞬时电流电压值和CPU的使用率并记录;该重新编译的待测程序在开始执 行前和结束执行前会休眠一段时间,在休眠期间仍然持续采样电池瞬时电流电压值和CPU 使用率;

[0042] 4)处理步骤3)中记录的数据,具体包括以下步骤:

[°043] 4.1)将各个采样点的瞬时电流值与瞬时电压值相乘,得到各个采样时刻的瞬时功 耗值;取瞬时功耗最小值为背景功耗,得到各个采样时刻CPU与GPU处于Idle状态的功耗; [0044] 4.2)将各个采样点的瞬时功耗值减去背景功耗,得到各个采样时刻CPU与GPU的实 际总功耗;

[0045] 4_3)使用步骤1)中的CPU功耗模型与步骤3)中各采样时刻的CPU使用率信息,推算 出各采样时刻的CPU功耗,进而可以计算出各采样时刻的GPU功耗;

[0046] 4.4)通过步骤3)重新编译的待测程序在运行过程中记录执行到各个代码段的时 刻和执行完各个代码段的时刻,计算出各个代码段上耗费的执行时间;利用步骤4.1)计算 出的各个采样时刻的瞬时功耗值,计算出在各个代码段上耗费的平均功率与总能耗,对待 测程序进行多次测量取平均值。

[0047]如图1所示,为对待测程序进行代码段划分并在各个代码段的首尾和整个程序的 首尾加入相关性能剖析代码的不意图。此处以一种基于Op e nCL的异构计算测试程序为例来 说明本发明方案,但本方案并不局限于OpenCL程序。该测试程序包含了在CPU和GPU上执行 的计算任务,并依据程序的功能和性能剖析需求进行了代码段划分。测试程序可以划分为4 个代码段,其中A、D是在CPU上执行,B、C是在GPU上执行。本发明提出的程序执行时间、功耗 测量均是基于代码段划分进行,从而最终获得各个代码段的执行时间和功耗性能结果。 [0048]如图2所示,为测量运行在移动处理器CRJ和GPU上程序的执行时间、功耗和能耗方 法的流程图。该流程图略去了CPU功耗建模的过程。从图中可知,所述测量方法由修改待测 程序并重新编译、待测平台设置、运行待测程序和数据处理几个部分组成。首先,需要对待 测程序进行修改并重新编译。具体来说,在代码段划分得到的各个功能模块代码段的开始、 结束处加上gtick函数;在待测程序的main函数首尾处分别加上gticki和gticke函数;如果 程序运行的时间很长,需要在适当的地方加上gtickr和gtickp函数,以使得程序每运行一 段时间就更新测量数据日志。gtick函数用于记录当前的时刻,并在后面的环节用于记录各 个功能模块的执行时间。gticki是初始化函数,同时负责启动Linux内核编程接口提供的电 流、电压采样sampler线程,gticke是终止函数。此外,为了功耗测量本身带来过多额外的执 行时间以及功耗开销,本发明测量的数据均记录在内存中,并在测量结束时或运行gtickp 函数时写入外存。同时,程序会在初始化时完成内存分配,不会在测量过程中出现realloc, 以避免其带来的内存分配功耗对测量造成的干扰。为了测量时上述内存空间不够存放中间 数据的情况,设计引入gtickr和gtickp两个函数用于实现电流、电压采样sampler线程和待 测程序的暂停和重启,并在在暂停的间隙将数据日志写入外存。其次,需要对待测平台的进 行适当的设置,如固定移动处理器CPU主频、核心数以及显示屏幕亮度,从而消除影响功耗 测量的不确定因素。通过修改Android操作系统的初始化脚本可以实现上述目的。接下来, 在待测平台上运行测试程序,同时得到移动处理器CPU和GPU的执行时间和功耗性能结果。 如前所述,gtick函数用于记录程序执行的当前时刻,gticki函数用于启动电流、电压采样 sampler线程。此外,为了精准地测量移动处理器的功耗,对于不使用显示屏的待测程序,将 会关闭待测平台的显示屏,然后这有可能导致待测平台进入sleep mode。针对此问题,运行 Launcher程序可以保证测试程序一直不被操作系统ki 11,同时保证待测平台显示屏关闭 时,如果待测程序还未运行结束,则阻止待测平台进入sleep mode。为了得到更为精确的执 行时间和功耗测量数据,bench函数用于重复调用待测程序,最终的数据可以取平均值作为 最终结果。最后,对gtick函数记录的执行时刻和电流、电压的采样数据进行处理,绘制出执 行时间和功耗的性能表格,并计算出能耗结果。在待测程序运行结束后,需要将记录下来的 数据日志传送回PC进行统计,fig函数用于执行时间、功耗以及能耗的计算、统计和表格绘 制。具体数据处理方法如下:

[0049] 1)将各个采样点的瞬时电流值与瞬时电压值相乘可以得到各个采样时刻的瞬时 功耗值。

[0050] 2)取各个米样时刻的瞬时功耗的最小值为背景功耗,g卩移动平台cpu、GPU处于 Idle状态的功耗。将各个采样时刻的瞬时功耗值减去背景功耗,即可得到各个采样时刻cpu 与GPU的总功耗。

[0051] 3)借助CPU功耗模型与各采样时刻的CPU使用率信息,可以推算出各采样时刻的 CPU功耗,利用总功耗值减去CPU功耗值,进而计算出各采样时刻的GPU功耗。

[0052] 4)通过步骤3所记录的执行到和执行完各个代码段的时刻,可以计算出各个代码 段上耗费的执行时间。在利用上面计算出的各个采样时刻的瞬时功耗值,可以计算出在各 个代码段上耗费的平均功率与总能耗。 2〇53]如图3、图4所示,分别为数据处理之后得到的移动处理器cpu、Gpu上的测试程序执 行时间、功耗和能耗的输出示意图。虚线上方的数据为测试程序的整体性能,下方为节选部 分重点功能模块(代码段)的性能剖析。测试程序的整体性能包括了执行时间、测量功耗和 基准功耗、能耗信息,部分模块的性能剖析包括了各部分的执行时间、功耗、能耗和所占比 讎。图4所示的移动处理器GPU测量结果还包括了GPU初始化(init)、cpu和Gpu的数据传输 (mems)等操作性能结果。

[0054]以上所述仅是本发明的优选头施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。

Claims (5)

1. 一种移动处理器上CPU与GI^U软件功耗测量方法,其特征在于,该方法包括建立CPU功 耗模型、修改待测程序并重新编译、待测平台设置、运行待测程序和数据处理;该方法包括 以下步骤: 1) 建立基于使用率的CPU功耗模型: P— S Ui X 式中: P为CRJ的动态功率; Ui为第i个CPU核心的使用率; 氏为第i个CPU核心的功耗系数; 运行计算密集型测试集,在运行过程中采样从待测平台的操作系统得到的电池瞬时电 流电压值和CPU的使用频率并记录,通过线性规约方式处理所得数据,得到cro功耗模型中 的氏; 2) 依据待测平台的各个程序模块的功能和功耗测试需求,将其划分一个以上的待测代 码段;在各个待测代码段的首尾和整个程序代码的首尾加入相关性能剖析代码gtickO, 并重新编译待测程序; 3) 运行步骤2)中重新编译的待测程序:该重新编译的待测程序在运行过程中记录执行 到各个代码段的时刻和执行完各个代码段的时刻;同时,持续采样从待测平台的操作系统 得到的电池瞬时电流电压值和CPU的使用率并记录;该重新编译的待测程序在开始执行前 和结束执行前休眠一段时间,在休眠期间仍然持续采样电池瞬时电流电压值和CPU使用率; 4) 处理步骤3)中记录的数据,具体包括以下步骤: 4_ 1)将各个采样点的瞬时电流值与瞬时电压值相乘,得到各个采样时刻的瞬时功耗 值;取瞬时功耗最小值为背景功耗,所述背景功耗包括各个采样时刻CPU与GPU处于Idle状 态的功耗;
4.2) 将各个采样点的瞬时功耗值减去背景功耗,得到各个采样时刻CPU与GPU的实际总 功耗;
4.3) 使用步骤1)中的CPU功耗模型与步骤3)中各采样时刻的CPU使用率信息,将步骤 4.2)得到的CPU与GPU实际总功耗减去步骤1)中CPU功耗模型公式计算出的功耗,得到各采 样时刻的CPU功耗,进而可以计算出各采样时刻的Gpu功耗;
4. 4)通过步骤3)重新编译的待测程序在运行过程中记录执行到各个代码段的时刻和 执行完各个代码段的时刻,计算出各个代码段上耗费的执行时间;利用步骤4.1}计算出的 各个采样时刻的瞬时功耗值,计算出在各个代码段上耗费的平均功率与总能耗。
2. 如权利要求1所述的一种移动处理器上(PU与GHJ软件功耗测量方法,其特征在于,步 骤4)中,对待测程序进行多次测量取平均值。
CN201410741891.6A 2014-12-08 2014-12-08 一种移动处理器上cpu与gpu软件功耗测量方法 CN104461849B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410741891.6A CN104461849B (zh) 2014-12-08 2014-12-08 一种移动处理器上cpu与gpu软件功耗测量方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410741891.6A CN104461849B (zh) 2014-12-08 2014-12-08 一种移动处理器上cpu与gpu软件功耗测量方法

Publications (2)

Publication Number Publication Date
CN104461849A CN104461849A (zh) 2015-03-25
CN104461849B true CN104461849B (zh) 2017-06-06

Family

ID=52907942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410741891.6A CN104461849B (zh) 2014-12-08 2014-12-08 一种移动处理器上cpu与gpu软件功耗测量方法

Country Status (1)

Country Link
CN (1) CN104461849B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101927233B1 (ko) * 2015-03-16 2018-12-12 한국전자통신연구원 이기종 멀티-코어 시스템의 gpu 전력 측정 방법
CN104778113B (zh) * 2015-04-10 2017-11-14 四川大学 一种矫正功率传感器数据的方法
CN105446877A (zh) * 2015-11-04 2016-03-30 上海聚力传媒技术有限公司 一种测试移动应用程序功耗的方法和装置
CN106686179B (zh) * 2016-12-27 2019-06-21 东南大学 一种基于测试自动化的手机功耗测试系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279446A (zh) * 2013-06-09 2013-09-04 浪潮电子信息产业股份有限公司 一种利用cpu+gpu+mic异构混合计算的多平台系统
CN104106053A (zh) * 2012-02-08 2014-10-15 英特尔公司 使用功率的动态cpu gpu 负载平衡

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304570B2 (en) * 2011-12-15 2016-04-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104106053A (zh) * 2012-02-08 2014-10-15 英特尔公司 使用功率的动态cpu gpu 负载平衡
CN103279446A (zh) * 2013-06-09 2013-09-04 浪潮电子信息产业股份有限公司 一种利用cpu+gpu+mic异构混合计算的多平台系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
An Integrated GPU Power and Performance Model;Sunpyo Hong等;《ACM SIGARCH Computer Architecture News 》;20100623;第38卷(第3期);第280-289页 *
关于CPU+GPU异构计算的研究与分析;许桢;《科技信息》;20101231(第17期);第1-2页 *

Also Published As

Publication number Publication date
CN104461849A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
Snowdon et al. Power management and dynamic voltage scaling: Myths and facts
Zhang et al. Accurate online power estimation and automatic battery behavior based power model generation for smartphones
CN103443737B (zh) 以低开销获得功率分布图信息
Shye et al. Into the wild: studying real user activity patterns to guide power optimizations for mobile architectures
CN103653261A (zh) 一种智能电子烟
Mittal et al. Empowering developers to estimate app energy consumption
Pathak et al. Where is the energy spent inside my app? Fine Grained Energy Accounting on Smartphones with Eprof
WO2009103998A3 (en) A method of inference of appliance usage. data processing apparatus and/or computer software
CN105144118B (zh) 应用测试和分析
CN1604088A (zh) 一种故障采集检测装置及方法
Carroll et al. The systems hacker's guide to the galaxy energy usage in a modern smartphone
Shye et al. Characterizing and modeling user activity on smartphones: summary
Pathania et al. Power-performance modelling of mobile gaming workloads on heterogeneous MPSoCs
CN101281664A (zh) 一种低功耗的手持rfid巡逻装置及实现低功耗的方法
Ra et al. Improving energy efficiency of personal sensing applications with heterogeneous multi-processors
CN107783801A (zh) 应用程序预测模型建立、预加载方法、装置、介质及终端
CN102624576A (zh) 一种自动测试浏览器的网页下载时间的方法和系统
CN103312850A (zh) 一种手机自动化测试系统及工作方法
Wu et al. VMNet: Realistic emulation of wireless sensor networks
Moldovan et al. Energy-aware mobile learning: Opportunities and challenges
CN201886034U (zh) 流速流量测算仪表
CN101808165A (zh) 一种移动终端功耗模型建立方法及装置
CN101306239A (zh) 设置有数据存储和读取装置的户外健身器材及其使用方法
US20110066888A1 (en) System and method for testing sleep and wake functions of computer
Zhao et al. A system context-aware approach for battery lifetime prediction in smart phones

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190423

Address after: 215123 Linquan Street 399, Dushu Lake Higher Education District, Suzhou Industrial Park, Jiangsu Province

Patentee after: Suzhou Institute, Southeast University

Address before: No. 2, four archway in Xuanwu District, Nanjing, Jiangsu

Patentee before: Southeast University

TR01 Transfer of patent right