CN111694714A - 一种众核芯片功耗估算方法、装置、设备及可读存储介质 - Google Patents

一种众核芯片功耗估算方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN111694714A
CN111694714A CN202010542339.XA CN202010542339A CN111694714A CN 111694714 A CN111694714 A CN 111694714A CN 202010542339 A CN202010542339 A CN 202010542339A CN 111694714 A CN111694714 A CN 111694714A
Authority
CN
China
Prior art keywords
power consumption
chip
many
consumption estimation
core
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202010542339.XA
Other languages
English (en)
Other versions
CN111694714B (zh
Inventor
赖志权
李东升
梅松竹
王庆林
黄震
乔林波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010542339.XA priority Critical patent/CN111694714B/zh
Publication of CN111694714A publication Critical patent/CN111694714A/zh
Application granted granted Critical
Publication of CN111694714B publication Critical patent/CN111694714B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • 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 THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Power Sources (AREA)

Abstract

本发明公开了一种众核芯片功耗估算方法,该方法包括以下步骤:获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各CPU核分别对应的指标组;将各指标组输入到功耗估算模型;其中,功耗估算模型为通过对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到;利用功耗估算模型基于各指标组对待估算众核芯片进行功耗估算操作,得到功耗估算结果。应用本发明实施例所提供的技术方案,较大地提高了众核芯片功耗估算的准确性。本发明还公开了一种众核芯片功耗估算装置、设备及存储介质,具有相应技术效果。

Description

一种众核芯片功耗估算方法、装置、设备及可读存储介质
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种众核芯片功耗估算方法、装置、设备及计算机可读存储介质。
背景技术
使用软件的方法准确估计一个芯片的功耗是一件非常具有挑战性的工作。特别是对于众核芯片的功耗,由于内部结构复杂、模块较多,对众核芯片的功耗进行估计显得更加复杂。众核芯片中复杂的硬件设计,以及并行程序负载特征对芯片功耗的影响,给其功耗建模带来了巨大挑战。除了大量的CPU核,还具有复杂的片上网络(network-on-chip,NoC)、多个内存控制器、多级片上cache和可编程缓存、细粒度的DVFS控制单元等等,所有部件的功耗组成了整个众核芯片的功耗。同时,众核芯片的功耗受多种因素影响,包括温度、工作频率、电压,以及执行程序的计算、访存特征。
部分现有的众核功耗估算工作虽然建立了功耗估算模型,但却忽略了一些影响功耗的关键因素,例如时钟频率、供电电压和程序特征对功耗的影响。然而,在相同功耗状态下,不同访存、计算特征的程序具有较大功耗差异,比如CPU处于电压1.1V/频率800MHz功耗状态下,访存密集型程序运行的功耗一般比计算密集型程序要低。从而导致现有的功耗估算模型无法有效估算众核芯片功耗,导致对众核芯片功耗估算不准确。
综上所述,如何有效地解决现有的众核功耗估算模型无法有效估算众核芯片功耗,导致对众核芯片功耗估算不准确等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种众核芯片功耗估算方法,该方法较大地提高了众核芯片功耗估算的准确性;本发明的另一目的是提供一种众核芯片功耗估算装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种众核芯片功耗估算方法,包括:
获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各所述CPU核分别对应的指标组;
将各所述指标组输入到功耗估算模型;其中,所述功耗估算模型为通过对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到;
利用所述功耗估算模型基于各所述指标组对所述待估算众核芯片进行功耗估算操作,得到功耗估算结果。
在本发明的一种具体实施方式中,所述功耗估算模型的训练过程包括:
为各所述CPU核中设置相同的每时钟周期指令数;
获取多个功耗状态组;其中,每个功耗状态组包括一个时钟频率和一个供电电压,且每个功耗状态组中的时钟频率和供电电压不完全相同;
获取所述待估算众核芯片在各所述CPU核设置相同每时钟周期指令数时,以各所述功耗状态组运行分别对应的芯片动态功耗;
利用各所述功耗状态组和各所述功耗组分别对应的芯片动态功耗构建第一功耗样本集;其中,所述第一功耗样本集包括所述时钟频率样本集和所述供电电压样本集,且每个功耗样本包括一个时钟频率和一个供电电压和一个芯片动态功耗;
利用所述第一功耗样本集进行拟合训练得到所述待估算众核芯片的芯片功耗与所述时钟频率及所述供电电压的对应关系的第一功耗估算网络;其中,所述第一功耗估算网络为在所述待估算众核芯片中各所述CPU核设置相同的每时钟周期指令数时进行拟合得到;
根据线性拟合所述第一功耗估算网络的过程中得到的各拟合结果中的方程常量值,计算所述待估算众核芯片的芯片静态功耗;
利用各所述拟合结果中的方程系数值和所述每时钟周期指令数样本集构建第二功耗样本集;
利用最小二乘回归算法对所述第二功耗样本集进行拟合训练,得到所述方程系数值与所述每时钟周期指令数之间的对应关系的第二功耗估算网络;
利用所述第一功耗估算网络、所述第二功耗估算网络及所述芯片静态功耗构建得到所述功耗估算模型。
在本发明的一种具体实施方式中,根据线性拟合所述第一功耗估算网络的过程中得到的各拟合结果中的方程常量值,计算所述待估算众核芯片的芯片静态功耗,包括:
对各所述拟合结果中的方程常量值进行均值计算,得到均值计算结果;
将所述均值计算结果确定为所述芯片静态功耗。
在本发明的一种具体实施方式中,获取所述待估算众核芯片在各所述CPU核设置相同每时钟周期指令数时,以各所述功耗状态组运行分别对应的芯片动态功耗,包括:
获取所述待估算众核芯片在各所述CPU核设置相同每时钟周期指令数时,以每个功耗状态组运行时进行预设次数采样得到的实时芯片动态功耗;
针对每个功耗状态组,对各所述实时芯片动态功耗进行均值计算,得到对应的芯片动态功耗。
一种众核芯片功耗估算装置,包括:
指标组获得模块,用于获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各所述CPU核分别对应的指标组;
指标组输入模块,用于将各所述指标组输入到功耗估算模型;其中,所述功耗估算模型为通过对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到;
功耗估算结果获得模块,用于利用所述功耗估算模型基于各所述指标组对所述待估算众核芯片进行功耗估算操作,得到功耗估算结果。
在本发明的一种具体实施方式中,包括模型训练模块,所述模型训练模块包括:
指令数设置单元,用于为各所述CPU核中设置相同的每时钟周期指令数;
状态组获取单元,用于获取多个功耗状态组;其中,每个功耗状态组包括一个时钟频率和一个供电电压,且每个功耗状态组中的时钟频率和供电电压不完全相同;
动态功耗获取单元,用于获取所述待估算众核芯片在各所述CPU核设置相同每时钟周期指令数时,以各所述功耗状态组运行分别对应的芯片动态功耗;
第一样本集构建单元,用于利用各所述功耗状态组和各所述功耗组分别对应的芯片动态功耗构建第一功耗样本集;其中,所述第一功耗样本集包括所述时钟频率样本集和所述供电电压样本集,且每个功耗样本包括一个时钟频率和一个供电电压和一个芯片动态功耗;
第一网络获得单元,用于利用所述第一功耗样本集进行拟合训练得到所述待估算众核芯片的芯片功耗与所述时钟频率及所述供电电压的对应关系的第一功耗估算网络;其中,所述第一功耗估算网络为在所述待估算众核芯片中各所述CPU核设置相同的每时钟周期指令数时进行拟合得到;
静态功耗计算单元,用于根据线性拟合所述第一功耗估算网络的过程中得到的各拟合结果中的方程常量值,计算所述待估算众核芯片的芯片静态功耗;
第二样本集构建单元,用于利用各所述拟合结果中的方程系数值和所述每时钟周期指令数样本集构建第二功耗样本集;
第二网络获得单元,用于利用最小二乘回归算法对所述第二功耗样本集进行拟合训练,得到所述方程系数值与所述每时钟周期指令数之间的对应关系的第二功耗估算网络;
模型构建单元,用于利用所述第一功耗估算网络、所述第二功耗估算网络及所述芯片静态功耗构建得到所述功耗估算模型。
在本发明的一种具体实施方式中,所述静态功耗计算单元包括:
均值计算子单元,用于对各所述拟合结果中的方程常量值进行均值计算,得到均值计算结果;
静态功耗确定子单元,用于将所述均值计算结果确定为所述芯片静态功耗。
在本发明的一种具体实施方式中,所述动态功耗获取单元包括:
实时功耗采样子单元,用于获取所述待估算众核芯片在各所述CPU核设置相同每时钟周期指令数时,以每个功耗状态组运行时进行预设次数采样得到的实时芯片动态功耗;
动态功耗获取子单元,用于针对每个功耗状态组,对各所述实时芯片动态功耗进行均值计算,得到对应的芯片动态功耗。
一种众核芯片功耗估算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述众核芯片功耗估算方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述众核芯片功耗估算方法的步骤。
应用本发明实施例所提供的方法,获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各CPU核分别对应的指标组;将各指标组输入到功耗估算模型;其中,功耗估算模型为通过对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到;利用功耗估算模型基于各指标组对待估算众核芯片进行功耗估算操作,得到功耗估算结果。通过预先对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到功耗估算模型,采用每时钟周期指令数作为衡量程序特征的量化指数,综合考虑了时钟频率、供电电压和程序特征对众核芯片功耗的影响,较大地提高了众核芯片功耗估算的准确性。
相应的,本发明实施例还提供了与上述众核芯片功耗估算方法相对应的众核芯片功耗估算装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中众核芯片功耗估算方法的一种实施流程图;
图2为本发明实施例中众核芯片功耗估算方法的另一种实施流程图;
图3为本发明实施例中一种众核芯片功耗估算装置的结构框图;
图4为本发明实施例中一种众核芯片功耗估算设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
参见图1,图1为本发明实施例中众核芯片功耗估算方法的一种实施流程图,该方法可以包括以下步骤:
S101:获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各CPU核分别对应的指标组。
当需要对待估算众核芯片进行功耗估算时,获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数(IPC,Instructions Per Cycle),得到各CPU核分别对应的指标组。
S102:将各指标组输入到功耗估算模型;其中,功耗估算模型为通过对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到。
预先对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到功耗估算模型,使得训练得到的功耗估算模型在对待估算众核芯片进行功耗估算时,采用每时钟周期指令数作为衡量程序特征的量化指数,能够良好地反映程序的计算访存特征对功耗的影响,充分结合了时钟频率、供电电压和程序特征等影响因素。在获取到各CPU核分别对应的指标组之后,将各指标组输入到功耗估算模型。
S103:利用功耗估算模型基于各指标组对待估算众核芯片进行功耗估算操作,得到功耗估算结果。
在将各指标组输入到功耗估算模型之后,利用功耗估算模型基于各指标组对待估算众核芯片进行功耗估算操作,得到功耗估算结果。通过预训练得到的功耗估算模型综合考虑了供电电压、时钟频率、程序特征等影响因素,采用每时钟周期指令数作为衡量程序特征的量化指数,能够较好地反映程序的计算访存特征对功耗的影响,保证了功耗估算的精确度。同时,预训练得到的功耗估算模型考虑了待估算众核芯片中不同CPU核的电压频率设置不同的情况,保证了功耗估算的准确性。
应用本发明实施例所提供的方法,获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各CPU核分别对应的指标组;将各指标组输入到功耗估算模型;其中,功耗估算模型为通过对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到;利用功耗估算模型基于各指标组对待估算众核芯片进行功耗估算操作,得到功耗估算结果。通过预先对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到功耗估算模型,采用每时钟周期指令数作为衡量程序特征的量化指数,综合考虑了时钟频率、供电电压和程序特征对众核芯片功耗的影响,较大地提高了众核芯片功耗估算的准确性。
需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
实施例二:
参见图2,图2为本发明实施例中众核芯片功耗估算方法的另一种实施流程图,该方法可以包括以下步骤:
S201:为各CPU核中设置相同的每时钟周期指令数。
预先建立芯片功耗测量实验环境,能够采集待估算众核芯片在程序执行过程中的每时钟周期指令数IPC,时钟频率f、供电电压V,并记录待估算众核芯片运行实时功耗P。
使用n个不同每时钟周期指令数特征的微测试程序progi,i=0,1,…,n-1,程序progi的每时钟周期指令数记为IPCi,对具有M个同构的CPU核的待估算众核芯片进行功耗测试。
为待估算众核芯片的各CPU核中设置相同的每时钟周期指令数,即待估算众核芯片的各CPU核加载相同的程序progi
S202:获取多个功耗状态组;其中,每个功耗状态组包括一个时钟频率和一个供电电压,且每个功耗状态组中的时钟频率和供电电压不完全相同。
获取多个功耗状态组,每个功耗状态组包括一个时钟频率fij和一个供电电压Vij,且每个功耗状态组中的时钟频率fij和供电电压Vij不完全相同,如任意两个功耗状态组可以仅时钟频率fij相同,而供电电压Vij不同;也可以仅供电电压Vij相同,而时钟频率fij不同;也可以时钟频率fij和供电电压Vij均不同。
S203:获取待估算众核芯片在各CPU核设置相同每时钟周期指令数时,以每个功耗状态组运行时进行预设次数采样得到的实时芯片动态功耗。
获取待估算众核芯片在各CPU核设置相同每时钟周期指令数时,以每个功耗状态组运行时进行预设次数采样得到的实时芯片动态功耗。
S204:针对每个功耗状态组,对各所述实时芯片动态功耗进行均值计算,得到对应的芯片动态功耗。
在获取待估算众核芯片在各CPU核设置相同每时钟周期指令数,以每个功耗状态组运行时进行预设次数采样得到的实时芯片动态功耗之后,针对每个功耗状态组,对各所述实时芯片动态功耗进行均值计算,得到对应的芯片动态功耗Pij。通过进行预设次数的实时芯片动态功耗采样,计算各实时芯片动态功耗的均值,将各实时芯片动态功耗的均值确定为待估算众核芯片在以当前功耗状态组运行时的芯片动态功耗,避免了偶然误差,提高了芯片动态功耗获取的准确性,提升了训练得到的功耗估算模型的性能。
需要说明的是,对待估算众核芯片以每个功耗状态组运行时的实时芯片动态功耗进行采样的次数可以根据实际情况进行设定和调整,本发明实施例对此不做限定。
S205:利用各功耗状态组和各功耗组分别对应的芯片动态功耗构建第一功耗样本集。
其中,第一功耗样本集包括时钟频率样本集和供电电压样本集,且每个功耗样本包括一个时钟频率和一个供电电压和一个芯片动态功耗。
在针对每个功耗状态组,对相应的各CPU核动态功耗进行均值计算,得到对应的芯片动态功耗之后,利用各功耗状态组和各功耗组分别对应的芯片动态功耗构建第一功耗样本集。第一功耗样本集包括时钟频率样本集和供电电压样本集,且每个功耗样本包括一个时钟频率和一个供电电压和一个芯片动态功耗,如可以表示为<fij,Vij,Pij>。
S206:利用第一功耗样本集进行拟合训练得到待估算众核芯片的芯片功耗与时钟频率及供电电压的对应关系的第一功耗估算网络。
其中,第一功耗估算网络为在待估算众核芯片中各CPU核设置相同的每时钟周期指令数时进行拟合得到。
在构建得到第一功耗样本集之后,利用第一功耗样本集进行拟合训练得到待估算众核芯片的芯片功耗与时钟频率及供电电压的对应关系的第一功耗估算网络。具体过程可以包括:对每一个程序progi,根据第一功耗样本集,线性拟合时钟频率及供电电压与芯片功耗的关系,获得progi运行时的芯片功耗Pi的线性方程组Pi=ai·V2·f+bi,i=0,1,…,n-1,ai和bi为拟合后获得的常数参数,ai为方程系数,bi为方程常量值。
S207:对线性拟合第一功耗估算网络的过程中得到的各拟合结果中的方程常量值进行均值计算,得到均值计算结果。
在训练得到第一功耗估算网络之后,对线性拟合第一功耗估算网络的过程中得到的各拟合结果中的方程常量值进行均值计算,得到均值计算结果。承接步骤S206中的举例,每一个程序progi对应一个拟合结果,对各拟合结果中的bi进行均值运算,得到(b0+b1+…+bn-1)/n。
S208:将均值计算结果确定为芯片静态功耗。
在对线性拟合第一功耗估算网络的过程中得到的各拟合结果中的方程常量值进行均值计算,得到均值计算结果之后,将均值计算结果确定为芯片静态功耗Ps,Ps=(b0+b1+…+bn-1)/n。
S209:利用各拟合结果中的方程系数值和每时钟周期指令数样本集构建第二功耗样本集。
在训练得到第一功耗估算网络之后,利用各拟合结果中的方程系数值和每时钟周期指令数样本集构建第二功耗样本集,即为<IPCi,ai>。
S210:利用最小二乘回归算法对第二功耗样本集进行拟合训练,得到方程系数值与每时钟周期指令数之间的对应关系的第二功耗估算网络。
在构建得到第二功耗样本集之后,利用最小二乘回归算法对第二功耗样本集进行拟合训练,得到方程系数值a与每时钟周期指令数IPC之间的对应关系的第二功耗估算网络,即为a=g(IPC)=α·M·IPCβ,其中,α和β为常数参数,M为待估算众核芯片中CPU核的个数。
S211:利用第一功耗估算网络、第二功耗估算网络及芯片静态功耗构建得到功耗估算模型。
在构建得到第一功耗估算网络、第二功耗估算网络,并计算得到芯片静态功耗之后,利用第一功耗估算网络、第二功耗估算网络及芯片静态功耗构建得到功耗估算模型。即构建芯片功耗P关于供电电压V、时钟频率f和程序特征IPC的数学模型
Figure BDA0002539422590000101
其中α、β、Ps均为两次拟合后获得的常数参数,Vm、fm和IPCm分别为第m个核中的供电电压、时钟频率和IPC值。
通过采用两步拟合的方法确定了功耗估算模型模型中各参数值。
S212:获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各CPU核分别对应的指标组。
S213:将各指标组输入到功耗估算模型。
S214:利用功耗估算模型基于各指标组对待估算众核芯片进行功耗估算操作,得到功耗估算结果。
相应于上面的方法实施例,本发明实施例还提供了一种众核芯片功耗估算装置,下文描述的众核芯片功耗估算装置与上文描述的众核芯片功耗估算方法可相互对应参照。
参见图3,图3为本发明实施例中一种众核芯片功耗估算装置的结构框图,该装置可以包括:
指标组获得模块31,用于获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各CPU核分别对应的指标组;
指标组输入模块32,用于将各指标组输入到功耗估算模型;其中,功耗估算模型为通过对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到;
功耗估算结果获得模块33,用于利用功耗估算模型基于各指标组对待估算众核芯片进行功耗估算操作,得到功耗估算结果。
应用本发明实施例所提供的方法,获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各CPU核分别对应的指标组;将各指标组输入到功耗估算模型;其中,功耗估算模型为通过对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到;利用功耗估算模型基于各指标组对待估算众核芯片进行功耗估算操作,得到功耗估算结果。通过预先对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到功耗估算模型,采用每时钟周期指令数作为衡量程序特征的量化指数,综合考虑了时钟频率、供电电压和程序特征对众核芯片功耗的影响,较大地提高了众核芯片功耗估算的准确性。
在本发明的一种具体实施方式中,包括模型训练模块,模型训练模块包括:
指令数设置单元,用于为各CPU核中设置相同的每时钟周期指令数;
状态组获取单元,用于获取多个功耗状态组;其中,每个功耗状态组包括一个时钟频率和一个供电电压,且每个功耗状态组中的时钟频率和供电电压不完全相同;
动态功耗获取单元,用于获取待估算众核芯片在各CPU核设置相同每时钟周期指令数时,以各功耗状态组运行分别对应的芯片动态功耗;
第一样本集构建单元,用于利用各功耗状态组和各功耗组分别对应的芯片动态功耗构建第一功耗样本集;其中,第一功耗样本集包括时钟频率样本集和供电电压样本集,且每个功耗样本包括一个时钟频率和一个供电电压和一个芯片动态功耗;
第一网络获得单元,用于利用第一功耗样本集进行拟合训练得到待估算众核芯片的芯片功耗与时钟频率及供电电压的对应关系的第一功耗估算网络;其中,第一功耗估算网络为在待估算众核芯片中各CPU核设置相同的每时钟周期指令数时进行拟合得到;
静态功耗计算单元,用于根据线性拟合第一功耗估算网络的过程中得到的各拟合结果中的方程常量值,计算待估算众核芯片的芯片静态功耗;
第二样本集构建单元,用于利用各拟合结果中的方程系数值和每时钟周期指令数样本集构建第二功耗样本集;
第二网络获得单元,用于利用最小二乘回归算法对第二功耗样本集进行拟合训练,得到方程系数值与每时钟周期指令数之间的对应关系的第二功耗估算网络;
模型构建单元,用于利用第一功耗估算网络、第二功耗估算网络及芯片静态功耗构建得到功耗估算模型。
在本发明的一种具体实施方式中,静态功耗计算单元包括:
均值计算子单元,用于对各拟合结果中的方程常量值进行均值计算,得到均值计算结果;
静态功耗确定子单元,用于将均值计算结果确定为芯片静态功耗。
在本发明的一种具体实施方式中,动态功耗获取单元包括:
实时功耗采样子单元,用于获取待估算众核芯片在各CPU核设置相同每时钟周期指令数时,以每个功耗状态组运行时进行预设次数采样得到的实时芯片动态功耗;
动态功耗获取子单元,用于针对每个功耗状态组,对各实时芯片动态功耗进行均值计算,得到对应的芯片动态功耗。
相应于上面的方法实施例,参见图4,图4为本发明所提供的众核芯片功耗估算设备的示意图,该设备可以包括:
存储器41,用于存储计算机程序;
处理器42,用于执行上述存储器41存储的计算机程序时可实现如下步骤:
获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各CPU核分别对应的指标组;将各指标组输入到功耗估算模型;其中,功耗估算模型为通过对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到;利用功耗估算模型基于各指标组对待估算众核芯片进行功耗估算操作,得到功耗估算结果。
对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各CPU核分别对应的指标组;将各指标组输入到功耗估算模型;其中,功耗估算模型为通过对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到;利用功耗估算模型基于各指标组对待估算众核芯片进行功耗估算操作,得到功耗估算结果。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种众核芯片功耗估算方法,其特征在于,包括:
获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各所述CPU核分别对应的指标组;
将各所述指标组输入到功耗估算模型;其中,所述功耗估算模型为通过对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到;
利用所述功耗估算模型基于各所述指标组对所述待估算众核芯片进行功耗估算操作,得到功耗估算结果。
2.根据权利要求1所述的众核芯片功耗估算方法,其特征在于,所述功耗估算模型的训练过程包括:
为各所述CPU核中设置相同的每时钟周期指令数;
获取多个功耗状态组;其中,每个功耗状态组包括一个时钟频率和一个供电电压,且每个功耗状态组中的时钟频率和供电电压不完全相同;
获取所述待估算众核芯片在各所述CPU核设置相同每时钟周期指令数时,以各所述功耗状态组运行分别对应的芯片动态功耗;
利用各所述功耗状态组和各所述功耗组分别对应的芯片动态功耗构建第一功耗样本集;其中,所述第一功耗样本集包括所述时钟频率样本集和所述供电电压样本集,且每个功耗样本包括一个时钟频率和一个供电电压和一个芯片动态功耗;
利用所述第一功耗样本集进行拟合训练得到所述待估算众核芯片的芯片功耗与所述时钟频率及所述供电电压的对应关系的第一功耗估算网络;其中,所述第一功耗估算网络为在所述待估算众核芯片中各所述CPU核设置相同的每时钟周期指令数时进行拟合得到;
根据线性拟合所述第一功耗估算网络的过程中得到的各拟合结果中的方程常量值,计算所述待估算众核芯片的芯片静态功耗;
利用各所述拟合结果中的方程系数值和所述每时钟周期指令数样本集构建第二功耗样本集;
利用最小二乘回归算法对所述第二功耗样本集进行拟合训练,得到所述方程系数值与所述每时钟周期指令数之间的对应关系的第二功耗估算网络;
利用所述第一功耗估算网络、所述第二功耗估算网络及所述芯片静态功耗构建得到所述功耗估算模型。
3.根据权利要求2所述的众核芯片功耗估算方法,其特征在于,根据线性拟合所述第一功耗估算网络的过程中得到的各拟合结果中的方程常量值,计算所述待估算众核芯片的芯片静态功耗,包括:
对各所述拟合结果中的方程常量值进行均值计算,得到均值计算结果;
将所述均值计算结果确定为所述芯片静态功耗。
4.根据权利要求2或3所述的众核芯片功耗估算方法,其特征在于,获取所述待估算众核芯片在各所述CPU核设置相同每时钟周期指令数时,以各所述功耗状态组运行分别对应的芯片动态功耗,包括:
获取所述待估算众核芯片在各所述CPU核设置相同每时钟周期指令数时,以每个功耗状态组运行时进行预设次数采样得到的实时芯片动态功耗;
针对每个功耗状态组,对各所述实时芯片动态功耗进行均值计算,得到对应的芯片动态功耗。
5.一种众核芯片功耗估算装置,其特征在于,包括:
指标组获得模块,用于获取待估算众核芯片进行程序执行时各CPU核的时钟频率、供电电压、以及每时钟周期指令数,得到各所述CPU核分别对应的指标组;
指标组输入模块,用于将各所述指标组输入到功耗估算模型;其中,所述功耗估算模型为通过对预获取的时钟频率样本集、供电电压样本集、每时钟周期指令数样本集进行拟合训练得到;
功耗估算结果获得模块,用于利用所述功耗估算模型基于各所述指标组对所述待估算众核芯片进行功耗估算操作,得到功耗估算结果。
6.根据权利要求5所述的众核芯片功耗估算装置,其特征在于,包括模型训练模块,所述模型训练模块包括:
指令数设置单元,用于为各所述CPU核中设置相同的每时钟周期指令数;
状态组获取单元,用于获取多个功耗状态组;其中,每个功耗状态组包括一个时钟频率和一个供电电压,且每个功耗状态组中的时钟频率和供电电压不完全相同;
动态功耗获取单元,用于获取所述待估算众核芯片在各所述CPU核设置相同每时钟周期指令数时,以各所述功耗状态组运行分别对应的芯片动态功耗;
第一样本集构建单元,用于利用各所述功耗状态组和各所述功耗组分别对应的芯片动态功耗构建第一功耗样本集;其中,所述第一功耗样本集包括所述时钟频率样本集和所述供电电压样本集,且每个功耗样本包括一个时钟频率和一个供电电压和一个芯片动态功耗;
第一网络获得单元,用于利用所述第一功耗样本集进行拟合训练得到所述待估算众核芯片的芯片功耗与所述时钟频率及所述供电电压的对应关系的第一功耗估算网络;其中,所述第一功耗估算网络为在所述待估算众核芯片中各所述CPU核设置相同的每时钟周期指令数时进行拟合得到;
静态功耗计算单元,用于根据线性拟合所述第一功耗估算网络的过程中得到的各拟合结果中的方程常量值,计算所述待估算众核芯片的芯片静态功耗;
第二样本集构建单元,用于利用各所述拟合结果中的方程系数值和所述每时钟周期指令数样本集构建第二功耗样本集;
第二网络获得单元,用于利用最小二乘回归算法对所述第二功耗样本集进行拟合训练,得到所述方程系数值与所述每时钟周期指令数之间的对应关系的第二功耗估算网络;
模型构建单元,用于利用所述第一功耗估算网络、所述第二功耗估算网络及所述芯片静态功耗构建得到所述功耗估算模型。
7.根据权利要求6所述的众核芯片功耗估算装置,其特征在于,所述静态功耗计算单元包括:
均值计算子单元,用于对各所述拟合结果中的方程常量值进行均值计算,得到均值计算结果;
静态功耗确定子单元,用于将所述均值计算结果确定为所述芯片静态功耗。
8.根据权利要求6或7所述的众核芯片功耗估算装置,其特征在于,所述动态功耗获取单元包括:
实时功耗采样子单元,用于获取所述待估算众核芯片在各所述CPU核设置相同每时钟周期指令数时,以每个功耗状态组运行时进行预设次数采样得到的实时芯片动态功耗;
动态功耗获取子单元,用于针对每个功耗状态组,对各所述实时芯片动态功耗进行均值计算,得到对应的芯片动态功耗。
9.一种众核芯片功耗估算设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述众核芯片功耗估算方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述众核芯片功耗估算方法的步骤。
CN202010542339.XA 2020-06-15 2020-06-15 一种众核芯片功耗估算方法、装置、设备及可读存储介质 Active CN111694714B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010542339.XA CN111694714B (zh) 2020-06-15 2020-06-15 一种众核芯片功耗估算方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010542339.XA CN111694714B (zh) 2020-06-15 2020-06-15 一种众核芯片功耗估算方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111694714A true CN111694714A (zh) 2020-09-22
CN111694714B CN111694714B (zh) 2023-06-06

Family

ID=72480944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010542339.XA Active CN111694714B (zh) 2020-06-15 2020-06-15 一种众核芯片功耗估算方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111694714B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395153A (zh) * 2020-10-13 2021-02-23 广州市高科通信技术股份有限公司 基于业务功能的元器件功耗估算方法
CN112416709A (zh) * 2020-11-19 2021-02-26 海光信息技术股份有限公司 芯片动态功耗估计方法、装置、处理器芯片及服务器
CN112598114A (zh) * 2020-12-17 2021-04-02 海光信息技术股份有限公司 功耗模型构建方法、功耗测量方法、装置和电子设备
CN113988469A (zh) * 2021-11-17 2022-01-28 海光信息技术股份有限公司 芯片静态功耗的预测方法、装置、电子设备和存储介质
CN114327025A (zh) * 2021-11-16 2022-04-12 北京紫光展锐通信技术有限公司 Cpu能效模型优化方法及装置
CN116090388A (zh) * 2022-12-21 2023-05-09 海光信息技术股份有限公司 芯片内部电压预测模型生成方法、预测方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090259869A1 (en) * 2008-04-11 2009-10-15 Naffziger Samuel D Sampling chip activity for real time power estimation
US20110185203A1 (en) * 2010-01-28 2011-07-28 Cavium Networks, Inc. Method and apparatus for power control
US20150025857A1 (en) * 2013-07-22 2015-01-22 International Business Machines Corporation Statistical power estimation
CN107436834A (zh) * 2016-05-27 2017-12-05 台湾积体电路制造股份有限公司 估算处理器功耗的方法、产品及系统
CN110245366A (zh) * 2018-03-08 2019-09-17 华为技术有限公司 动态功耗估计方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090259869A1 (en) * 2008-04-11 2009-10-15 Naffziger Samuel D Sampling chip activity for real time power estimation
US20110185203A1 (en) * 2010-01-28 2011-07-28 Cavium Networks, Inc. Method and apparatus for power control
US20150025857A1 (en) * 2013-07-22 2015-01-22 International Business Machines Corporation Statistical power estimation
CN107436834A (zh) * 2016-05-27 2017-12-05 台湾积体电路制造股份有限公司 估算处理器功耗的方法、产品及系统
CN110245366A (zh) * 2018-03-08 2019-09-17 华为技术有限公司 动态功耗估计方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王桂彬;: "模型指导的多维GPU软件低功耗优化方法", 计算机学报, no. 05 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395153A (zh) * 2020-10-13 2021-02-23 广州市高科通信技术股份有限公司 基于业务功能的元器件功耗估算方法
CN112416709A (zh) * 2020-11-19 2021-02-26 海光信息技术股份有限公司 芯片动态功耗估计方法、装置、处理器芯片及服务器
CN112416709B (zh) * 2020-11-19 2023-03-21 海光信息技术股份有限公司 芯片动态功耗估计方法、装置、处理器芯片及服务器
CN112598114A (zh) * 2020-12-17 2021-04-02 海光信息技术股份有限公司 功耗模型构建方法、功耗测量方法、装置和电子设备
CN112598114B (zh) * 2020-12-17 2023-11-03 海光信息技术股份有限公司 功耗模型构建方法、功耗测量方法、装置和电子设备
CN114327025A (zh) * 2021-11-16 2022-04-12 北京紫光展锐通信技术有限公司 Cpu能效模型优化方法及装置
CN113988469A (zh) * 2021-11-17 2022-01-28 海光信息技术股份有限公司 芯片静态功耗的预测方法、装置、电子设备和存储介质
CN116090388A (zh) * 2022-12-21 2023-05-09 海光信息技术股份有限公司 芯片内部电压预测模型生成方法、预测方法及相关装置
CN116090388B (zh) * 2022-12-21 2024-05-17 海光信息技术股份有限公司 芯片内部电压预测模型生成方法、预测方法及相关装置

Also Published As

Publication number Publication date
CN111694714B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
CN111694714A (zh) 一种众核芯片功耗估算方法、装置、设备及可读存储介质
CN109840588B (zh) 神经网络模型训练方法、装置、计算机设备及存储介质
CN110515739B (zh) 深度学习神经网络模型负载计算方法、装置、设备及介质
Liu et al. Performance analysis and characterization of training deep learning models on mobile device
US9696786B2 (en) System and method for optimizing energy consumption by processors
CN109885469B (zh) 一种扩容方法、预测模型创建方法、装置、设备及介质
CN111638958B (zh) 云主机负载处理方法、装置、控制设备及存储介质
CN109583594B (zh) 深度学习训练方法、装置、设备及可读存储介质
CN111881023B (zh) 一种基于多模型对比的软件老化预测方法及装置
CN110826803A (zh) 一种电力现货市场的电价预测方法及装置
Ardito et al. Creating and evaluating a software power model for linux single board computers
CN112506752A (zh) 基于时序数据趋势预测的运维方法、装置及设备
CN112631881A (zh) 基于时序数据趋势预测的运维方法、装置及设备
CN112446139A (zh) 加速试验剖面优化方法、系统、机电产品、介质及终端
CN107252323B (zh) 女性生理周期的预测方法、装置及用户设备
CN116166967B (zh) 基于元学习与残差网络的数据处理方法、设备和存储介质
CN112906967A (zh) 一种脱硫系统浆液循环泵性能预测方法、装置
CN112257958A (zh) 一种电力饱和负荷预测方法及装置
CN111814106A (zh) 时序数据滞后性处理方法、装置、电子设备及存储介质
Ali et al. Optimal GPU frequency selection using multi-objective approaches for hpc systems
Singham et al. Density estimation of simulation output using exponential epi-splines
CN111340349B (zh) 产品可靠性评估方法、装置、计算机设备和存储介质
CN116244165A (zh) 测试处理方法、装置、电子设备及存储介质
CN115915237A (zh) 基站设备的节能量测算方法、装置及计算设备
CN113672870A (zh) 故障事件概率估算方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant