CN112100910A - 一种处理器的功耗模型训练方法、功耗测试方法及装置 - Google Patents
一种处理器的功耗模型训练方法、功耗测试方法及装置 Download PDFInfo
- Publication number
- CN112100910A CN112100910A CN202010932033.5A CN202010932033A CN112100910A CN 112100910 A CN112100910 A CN 112100910A CN 202010932033 A CN202010932033 A CN 202010932033A CN 112100910 A CN112100910 A CN 112100910A
- Authority
- CN
- China
- Prior art keywords
- power consumption
- sub
- model
- processor
- function module
- 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
Links
- 238000012549 training Methods 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000012360 testing method Methods 0.000 title claims abstract description 23
- 230000008569 process Effects 0.000 claims abstract description 39
- 238000004088 simulation Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 28
- 230000003068 static effect Effects 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 abstract description 15
- 238000010801 machine learning Methods 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 12
- 238000012795 verification Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012417 linear regression Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 241001391944 Commicarpus scandens Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000002210 silicon-based material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31721—Power aspects, e.g. power supplies for test circuits, power saving during test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Algebra (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Operations Research (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本申请提供一种处理器的功耗模型训练方法、功耗测试方法及装置。方法包括:获取处理器在运行过程中各子功能模块在多个时间段对应的波形段和功耗信息;对每个子功能模块对应的波形段进行特征提取获得特征信息,并根据特征信息计算各个波形段的特征值;利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练获得各子功能模块的功耗模型;根据各子功能模块对应的功耗模型获得处理器的总功耗模型。本申请实施例通过利用机器学习针对处理器中每个子功能模块的功耗进行模型训练,获得各子功能模块对应的功耗模型,然后根据各子功能模块对应的功耗模型获得整个处理器的总功耗模型,从而可以快速的实现对大规模的处理器功耗的分析。
Description
技术领域
本申请涉及处理器测试技术领域,具体而言,涉及一种处理器的功耗模型训练方法、功耗测试方法及装置。
背景技术
伴随着当前人工智能的热潮,对通用计算芯片的计算能力有了较强的需求,从而推动着芯片规模的不断增加。随着规模的增加,功耗的控制要求也越来越高。然而,为了能够高效地功耗控制优化,首要的就是要有很好的功耗分析与测量方法,这对于通用计算芯片的设计有着较为重要的指导和分析意义。
现有技术中,对计算芯片的功耗进行测量分析时,通常采用PTPX工具进行功耗的分析,该工具能够获取到计算芯片的很多信息,针对小型的计算芯片可以采用该工具,但是针对大型的计算芯片,内部包括较多的功能模块,若使用PTPX工具进行功耗的分析,需要非常长的时间,并且,PTPX工具很容易崩溃。因此,现有的PTPX工具无法针对大型的计算芯片进行功耗分析。
发明内容
本申请实施例的目的在于提供一种处理器的功耗模型训练方法、功耗测试方法及装置,用以实现对大规模处理器功耗的分析。
第一方面,本申请实施例提供一种处理器的功耗模型训练方法,处理器包括多个功能模块,且每一功能模块包括多个子功能模块,所述方法包括:获取所述处理器在运行过程中各子功能模块分别在多个时间段对应的波形段和功耗信息;对每个子功能模块对应的波形段进行特征提取,获得对应的特征信息,并根据所述特征信息计算各个波形段的特征值;利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得各子功能模块对应的功耗模型;根据各子功能模块对应的功耗模型获得所述处理器的总功耗模型。
本申请实施例通过利用机器学习针对处理器中每个子功能模块的功耗进行模型训练,获得各子功能模块对应的功耗模型,然后根据各子功能模块对应的功耗模型获得整个处理器的总功耗模型,从而可以快速的实现对大规模的处理器功耗的分析。
进一步地,所述获取所述处理器在运行过程中各子功能模块分别在多个时间段对应的波形段和功耗信息,包括:获取所述处理器在运行过程中各子功能模块在预设时间段内对应的仿真波形以及对应的功耗信息;按照预设的时间窗口对各子功能模块对应的仿真波形进行划分,获得子功能模块对应的多个波形段,并根据所述时间窗口对所述功耗信息进行划分,获得每个波形段对应的功耗信息。
本申请实施例通过对仿真波形和功耗信息进行划分,获得多个波形段和每个波形段对应的功耗信息,从而能够获得各子功能模块对应的多个训练样本,以实现对子功能模块对应的功耗模型进行训练。
进一步地,所述获得每个波形段对应的功耗信息,包括:在根据所述预设时间窗口对所述功耗信息进行划分后,针对每个时间窗口,从所述时间窗口中提取功耗值以及功耗值对应的时间长度;根据所述功耗值、时间长度和时间窗口进行加权平均获得对应时间窗口对应的波形段的功耗信息。
本申请实施例通过利用加权平均的方法对每个预设时间窗口的功耗进行分析,从而获得每个时间窗口对应的准确的功耗信息。
进一步地,所述根据所述特征信息计算各个波形段的特征值,包括:针对一个波形段,分别确定开关率对应的特征信号与功耗信息的第一线性相关系数,以及使用率占空比对应的特征信号与功耗信息的第二线性相关系数;根据所述第一线性相关系数和所述第二线性相关系数确定目标特征信号;其中,所述目标特征信号为开关率对应的特征信号或使用率占空比对应的特征信号;根据所述目标特征信号计算各个波形段的特征值。
由于每个子功能模块都有对应的开关率和使用率占空比,本申请实施例通过根据二者分别与功耗信息之间的线性相关系数进行确定,从而能够从开关率和使用率占空比中选择更优的指标来分析功耗。
进一步地,所述利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,包括:将所述多个波形段对应的特征值输入所述线性模型中,获得所述线性模型输出的预测功耗;根据所述预测功耗和所述对应的功耗信息计算损失值,并利用所述损失值对所述线性模型中的参数进行优化。
本申请实施例通过多个波形段的特征值和功耗信息对线性模型进行训练,由于特征值能够很好的反映对应子功能模块的功耗信息,并且特征值与对应的功耗信息呈线性,因此能够获得子功能模块对应的较优的功耗模型。
进一步地,所述利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得各子功能模块对应的功耗模型,包括:利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得子功能模块对应的动态功耗模型;根据所述子功能模块对应的静态功耗和所述动态功耗模型获得对应的功耗模型。
由于每个子功能模块的功耗包括静态功耗和动态功耗,因此,在获得动态功耗模型的基础上,结合静态功耗能够获得子功能模块对应的功耗模型。
进一步地,所述根据各子功能模块对应的功耗模型获得所述处理器的总功耗模型,包括:根据功能模块对应的各子功能模块对应的功耗模型获得所述功能模块对应的中间模型;根据各个功能模块分别对应的中间模型获得所述处理器对应的总功耗模型。
本申请实施例中,由于处理器中包括多个功能模块,每个功能模块又包括多个子功能模块,因此,在获得子功能模块对应的功耗模型后,根据各个子功能模块对应的功耗模型可以获得对应功能模块的中间模型,再利用各个功能模块的中间模块可以获得到整个处理器对应的总功耗模型,从而利用总功耗模型可以快速的对处理器的功耗进行分析。
进一步地,所述根据功能模块对应的各子功能模块对应的功耗模型获得所述功能模块对应的中间模型,包括:将功能模块对应的各子功能模块的功耗模型叠加获得所述功能模块的中间模型;所述根据各个功能模块分别对应的中间模型获得所述处理器对应的总功耗模型,包括:将各个功能模块分别对应的中间模型相叠加获得所述处理器对应的总功耗模型。
本申请实施例中,由于处理器的功耗为各个功能模块的功耗之和,每个功能模块的功耗为对应子功能模块的功耗之和,因此,则获得子功能模块对应的功耗模型后,可以获得到处理器对应的总功耗模型。
第二方面,本申请实施例提供一种处理器的功耗测试方法,包括:获取待测试的处理器在运行过程中,预设时间段内各子功能模块对应的待测仿真波形;从所述待测仿真波形中提取子功能模块对应的待测特征信息;将所述待测特征信息对应的特征值输入到总功耗模型中,获得所述总功耗模型输出的所述待测试处理器对应的功耗;其中,所述总功耗模型为通过第一方面所述的功耗模型训练方法进行训练获得。
本申请实施例通过利用总功耗模型对各个子功能模块对应的待测特征信息进行分析,能够快速高效地获得对应处理器的功耗信息。
第三方面,本申请实施例提供一种处理器的功耗模型训练装置,处理器包括多个功能模块,且每一功能模块包括多个子功能模块,所述装置包括:信息获取模块,用于获取所述处理器在运行过程中各子功能模块分别在多个时间段对应的波形段和功耗信息;第一特征提取模块,用于对每个子功能模块对应的波形段进行特征提取,获得对应的特征信息,并根据所述特征信息计算各个波形段的特征值;模型训练模块,用于利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得各子功能模块对应的功耗模型;总功耗模型获得模块,用于根据各子功能模块对应的功耗模型获得所述处理器的总功耗模型。
第四方面,本申请实施例提供一种处理器的功耗测试装置,包括:波形获取模块,用于获取待测试的处理器在运行过程中,预设时间段内各子功能模块对应的待测仿真波形;第二特征提取模块,用于从所述待测仿真波形中提取子功能模块对应的待测特征信息;测试模块,用于将所述待测特征信息对应的特征值输入到总功耗模型中,获得所述总功耗模型输出的所述待测试处理器对应的功耗;其中,所述总功耗模型为通过第一方面所述的功耗模型训练方法进行训练获得。
第五方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面或第二方面的方法。
第六方面,本申请实施例提供一种非暂态计算机可读存储介质,包括:所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面或第二方面的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种处理器的功耗模型训练方法流程示意图;
图2为本申请实施例提供的一种处理器的功耗测试方法流程示意图;
图3为本申请实施例提供的一种处理器的功耗模型训练装置结构示意图;
图4为本申请实施例提供的一种功耗测试装置结构示意图;
图5为本申请实施例提供的电子设备实体结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
为了便于理解本申请具体实施方式,在介绍本申请的技术方案之前,对涉及的相关概念进行解释。
计算机芯片,也叫集成电路,是一种用硅材料制成的薄片,一个芯片是由几百个微电路连接在一起的,体积很小,在芯片上布满了产生脉冲电流的微电路。
中央处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。
通用图形处理器(General-purpose computing on graphics processingunits,简称GPGPU),是一种利用处理图形任务的图形处理器来计算原本由中央处理器处理的通用计算任务。这些通用计算常常与图形处理没有任何关系。由于现代图形处理器强大的并行处理能力和可编程流水线,令流处理器可以处理非图形数据。特别在面对单指令流多数据流(SIMD),且数据处理的运算量远大于数据调度和传输的需要时,通用图形处理器在性能上大大超越了传统的中央处理器应用程序。本申请实施例以GPGPU为例进行功耗的分析。
芯片功耗主要有动态功耗和静态功耗构成,在当前的7(纳米nm),14nm的集成电路工艺制程下又主要由动态功耗主导,可以理解的是,7nm表示芯片的蚀刻尺寸,芯片功耗计算公式如式(1)所示:
Ptotal=Pswitching+Pshort-circuit+Pleakage (1)
其中,Ptotal为芯片的总功耗,Pleakage为静态功耗,Pleakage=f(Vdd,Vth,W/L),Vdd为电源电压;Vth为阈值电压;W为沟道宽度;L为沟道长度;Pswitching为动态功耗中的开关功耗,a为开关率或使用率占空比;f为切换频率;Ceff为有效电容;Vdd为电源电压;Pshort-circuit为动态功耗中的短路功耗,Pshort-circuit=g(Isc,Vdd,f),Isc为电流;Vdd为电源电压;f为切换频率。
一般情况下,芯片的静态功耗是相对稳定的,因此,可以认为静态功耗为固定值,本申请实施例主要针对动态功耗进行分析,从开关功耗对应的公式来看,Isc,f,Ceff和Vdd均为固定值,动态功耗与电路的开关率或使用率占空比密切相关。
以GPGPU为例,其内部包括仲裁模块、运算模块,分发任务模块,缓存模块和指令分发模块等,每一功能模块中又包括多个子功能模块,每一子功能模块的动态功耗与对应的开关率和使用率占空比呈线性关系。那么,每个子功能模块的动态公开可以通过公式(2)表示:
h(x1,x2,...,xn)=θ1x1+θ2x2...+θnxn (2)
其中,(x1,x2,...,xn)为特征值,其中,xi为第i个特征信号对应的开关率或使用率占空比,i为1,2,...n;θj为第j个特征信号对应的开关率或使用率占空比的权重,j为1,2,...n。
由于各个子功能模块的静态功耗可以看作是常值,因此,可以用θ0表示。那么,子功能模块的功耗可以采用公式(3)表示:
h总(x1,x2,...,xn)=θ0+θ1x1+θ2x2...+θnxn (3)
各个子功能模块电路的叠加,就可以获得对应的功能模块的功耗,各个功能模块功耗的叠加,便可获得整个GPGPU的功耗,见公式(4):
P=M1+M2+...+MQ (4)
其中,P为GPGPU的功耗;Mk为第k个功能模块对应的功耗,Mk=h0(x1,x2,...,xn)+h1(y1,y2,...,yn)+...+he(z1,z2,...,zn)。
由上分析可知,GPGPU的功耗计算与机器学习中的线性回归不谋而合,对于其中任意一个子功能模块,可以通过获取足够的特征信号的开关率或使用率占空比,及其对应的功耗值作为训练参数导入到线性回归的模型中,然后利用损失函数计算对应的权重值,得到各个子功能模块对应的功耗模型。在获得权重值之后,当有新的特征值的情况下根据获得的子功能模块的功耗模型能够获得新的功耗值。
可以理解的是,本申请实施例提供的模型训练方法以及功耗测试方法可以应用于电子设备;其中电子设备具体可以为智能手机、平板电脑、计算机、个人数字助理(PersonalDigital Assitant,PDA)等。另外,模型训练方法以及预测方法均可以是同一电子设备执行,也可以是不同电子设备执行。
为了便于理解,本申请实施例提供的技术方案,下面以电子设备作为执行主体为例,对本申请实施例提供的模型训练方法及预测方法的应用场景进行介绍。
图1为本申请实施例提供的一种处理器的功耗模型训练方法流程示意图,如图1所示,该方法包括:
步骤101:获取所述处理器在运行过程中各子功能模块分别在多个时间段对应的波形段和功耗信息;
步骤102:对每个子功能模块对应的波形段进行特征提取,获得对应的特征信息,并根据所述特征信息计算各个波形段的特征值;
步骤103:利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得各子功能模块对应的功耗模型;
步骤104:根据各子功能模块对应的功耗模型获得所述处理器的总功耗模型。
在步骤101中,可以采用压力测试用例激励GPGPU中的多个功能模块运行起来,从而可以采用PTPX工具有效的得到多个子功能模块在多个时间段内的功耗信息,并且,可以采用仿真软件获取多个时间段对应的波形段。波形段为子功能模块在运行过程中产生的各种信号的波形;功耗信息用来表征子功能模块在对应的时间段中的功耗情况。
可以理解的是,获取多个时间段的波形段和功耗信息的目的是为了获得对应的多个训练样本,因此,为了能够实现对子功能模块的功耗模型进行有效的训练,可以获取尽可能多的训练样本,但是若使用过多的训练样本进行训练,则会耗费的时间成本也将增加,所以,可以选择适当多的时间段对应的波形段和功耗信息。
另外,由于PTPX工具只能针对小规模的芯片的功耗分析,为了避免PTPX工具崩溃,本申请实施例可以利用PTPX工具对GPGPU中组成每个功能模块的子功能模块功耗信息进行采集,并利用步骤101-步骤104的方法对每一个子功能模块训练其对应的功耗模型。
在步骤102中,预先设定用来进行模型训练的多个特征信息,并对步骤101中获得的每个子功能模块对应的波形段中进行特征信息的提取。可以理解的是,特征信息包括特征信号名称及对应的值。由于分析发现,开关率及使用率占空比对功耗存在影响,因此,提取的是与开关率和使用率占空比相关的特征信号。并且,不同的子功能模块对应的特征信息不同,例如:
使用率的特征信号比如gc_ldsq_t0/lds/ds_active,表征本地数据共享模块活跃度的gc/ldsq_t0/lds/ds_lds/mem/bank0_werd,表征本地数据共享模块内存读写情况,还有cac信号表征各种模块活跃度的一系列信号。开关率的特征信号比如spim_t/cpc_spi_csdata_send表明仲裁模块的任务发送次数,或者spims_t/cgtt_dyn_oclk1_vld表征仲裁模块在computing情况下的clock。
在获得了每个波形段对应的特征信息后,可以根据特征信息计算各个波形段的特征值。可以理解的是,可以针对各个子功能模块的特征信息提取及特征值计算进行并行处理,从而缩短了处理时长。
再有,由于获取到的是开关率和使用率占空比分别对应的特征信息,但是在后期进行模型训练时,只使用其中一种即可。因为一段时间中,子功能模块对应的开关率和使用率占空比在一定情况下可以认为是成正比的。开关率是指子功能模块在单位时间内开关的频率,即子功能模块工作状态和空闲状态切换的频率。例如:在该子功能模块所需要执行的任务来之前,子功能模块处于空闲状态,当接收到任务后,从空闲状态切换为工作状态;在所有的任务执行完成后,再次从工作状态切换为空闲状态。一次状态切换,其开关率加1。使用率占空比是指子功能模块在单位时间内处于工作状态占单位时间的比值。例如:子功能模块接收到了多个任务,这些任务需要依次执行,当子功能模块执行完所有的任务之后,才从工作状态切换为空闲状态。假设一个子功能模块在100(纳秒,ns)中连续工作的时长为90ns,即从0ns-90ns处于工作状态,90ns-100ns处于空闲状态,针对该时间段来说,子功能模块的开关率为2,使用率占空比则为90%,此时,如果使用开关率来对应子功能模块在这段时间内的功耗显然是不合理的,需要利用使用率占空比对应的特征信号进行后续的模型训练。同理,如果在100ns内,开关次数为20次,其使用率占空比为20%,由于每次开关均会有一定的消耗,相对来说,开关率对能耗值的影响更大,所以应当选择开关率对应的特征信息进行后续的模型训练。
可以理解的是,针对每个子功能模块的每个波形段均需要进行开关率和使用率占空比的选择。当然,也可以同时将开关率和使用率占空比对应的特征信息均用来模型训练。
在步骤103中,由于分析发现,开关率或使用率占空比与各个子功能模块的功耗呈线性关系,因此,在确定了每个子功能模块对应的多个波形段的特征值和功耗信息后,对线性模型进行训练。其中,线性模型可以是线性回归模型(Linear),岭回归模型(Ridge)或套索回归模型(Lasso)等。
其中,α为常数系数,需要进行调优。
Ridge与Lasso回归的出现是为了解决Linear回归出现的过拟合以及在通过正规方程方法求解θ的过程中出现的x转置乘以x不可逆这两类问题的,这两种回归均通过在损失函数中引入正则化项来达到目的。Ridge和Lasso最大的在于岭回归引入的是L2范数惩罚项,Lasso回归引入的是L1范数惩罚项,Lasso回归能够使得损失函数中的许多θ均变成0,这点要优于岭回归,因为岭回归是要所有的θ均存在的,这样计算量Lasso回归将远远小于岭回归。
在综合分析三种模型的优缺点后,本申请实施例选择Ridge模型进行训练,当然,也可以选择其他两种模型或者这三种模型之外的其他线性模型,本申请实施例不对具体模型做限定。
可以理解的是,各个子功能模块的训练过程也可以并行实现,从而提高了获得各个子功能模块对应的功耗模型的效率。
在步骤104中,在获得各个子功能模块对应的功耗模型后,由于一个功能模块的功耗等于各个子功能模块对应的功耗之和,GPGPU的功耗又等于各个功能模块的功耗之和,因此,可以根据各个子功能模块对应的功耗模型获得GPGPU对应的总功耗模型。即先根据功能模块对应的各子功能模块对应的功耗模型进行叠加获得功能模块对应的中间模型;再根据各个功能模块分别对应的中间模型进行叠加获得所述处理器对应的总功耗模型,最终获得的总功耗模型可以参见公式(4)所示。
本申请实施例通过利用机器学习针对处理器中每个子功能模块的功耗进行模型训练,获得各子功能模块对应的功耗模型,然后根据各子功能模块对应的功耗模型获得整个处理器的总功耗模型,从而可以快速的实现对大规模的处理器功耗的分析。
在上述实施例的基础上,步骤101:获取所述处理器在运行过程中各子功能模块分别在多个时间段对应的波形段和功耗信息,包括:
获取所述处理器在运行过程中各子功能模块在预设时间段内对应的仿真波形以及对应的功耗信息;
按照预设的时间窗口对各子功能模块对应的仿真波形进行划分,获得子功能模块对应的多个波形段,并根据所述时间窗口对所述功耗信息进行划分,获得每个波形段对应的功耗信息。
在具体的实施过程中,针对每一个子功能模块来说,可以利用PTPX工具预先获取一个预设时间段的功耗信息,并用仿真软件获取对应预设时间段的仿真波形。即该预设时间段为多个时间段的总时间段,例如,预设时间段可以为5000ns,时间段为500ns,在从这5000ns中获得多个时间段对应的波形段和功耗信息时,可以设定步长为100ns,时间窗口为500ns,那么可以将0ns-500ns,100ns-600ns,200ns-700ns,...,4500-5000ns分别对应的波形段和功耗信息作为一个时间段的波形段和功耗信息。
由于各个子功能模块的功耗在不同的时间段内不同,那么为了能够对每个时间窗口获得准确的功耗信息,可以从该时间窗口中提取功耗值以及功耗值对应的时间长度;根据功耗值、时间长度和时间窗口进行加权平均获得对应时间窗口对应的波形段的功耗信息。例如:在500ns中,前200ns的功耗值为2瓦(W),中间100ns的功耗值为0,最后200ns的功耗值为20W,那么根据公式:
本申请实施例通过利用加权平均的方法对每个预设时间窗口的功耗进行分析,从而获得每个时间窗口对应的准确的功耗信息。
在上述实施例的基础上,开关率的特征信号还是选择使用率占空比的特征信号的选择依据如下:
针对一个波形段,分别确定开关率对应的特征信号与功耗信息的第一线性相关系数,以及使用率占空比对应的特征信号与功耗信息的第二线性相关系数;可以理解的是,线性相关系数可以用来表征特征信号与功耗信息的匹配程度。若在某个时刻,特征信号为高电平,同一时刻功耗信息也相应的增长,则说明二者是匹配的,相反,则不匹配。
根据所述第一线性相关系数和所述第二线性相关系数确定目标特征信号;其中,所述目标特征信号为开关率对应的特征信号或使用率占空比对应的特征信号;通过统计开关率的特征信号与功耗信息对应的第一线性相关系数,以及使用率占空比的特征信号与功耗信息对应的第二线性相关系数,可以对第一线性相关系数和第二线性相关系数进行排序,将相关系数高于预设值,或者排名在前预设名词的特征信号取出,判断取出的特征信号中,哪种类型的特征信号多则选择对应的特征信号作为目标特征信号进行模型训练。
可以理解的是,第一线性相关系统和第二线性相关系数是并列的,由于待测试的处理器太大,选取的信号较多,其中选取的信号中有些信号表征的子模块功耗对于整个模块的贡献比较小,因此,本申请实施例通过调用coordinate函数是发现这些信号跟功耗的整体走势线性相关度小,因此,coordinate函数会对第一线性相关系数和第二线性相关系数进行排序,将相关系数大于0.8的作为目标特征信号。
根据所述目标特征信号计算各个波形段的特征值。
其中,根据目标特征信号计算各个波形段的特征值的方法如下:
例如一个长10000ns,时钟周期为1ns的波形,设置步长为1000ns,波形窗口是2000ns,从该波形中可以获取到0~2000,1000~3000…9800~10000的各个波形窗口,然后对各自波形窗口里面的toggle rate(开关率)和使用率占空比做计算,对于开关率这个2000ns的窗口,最大开关率是1000,而使用率占空比最大是2000ns,然后各自计算出这段时间的开关率和使用率占空比的时长,分别除以1000和2000做归一化处理,有了很多个这样的窗口后提高了训练样本。其中计算总共开关率的方法可以直接输入这段时间窗口通过工具直接获取。计算使用率的方式比较复杂是个分类的过程,举例说明:以1000~3000ns的窗口为例,可能会出现如下几种情况:(1)1000~3000ns的窗口没有使用过,从时间序列里面找不到这段区间,则标记为0。(2)1000~3000ns整个区间都是工作状态,获取的时间序列比方说是500~5000,程序判定1000~3000是落在这个区间的就使用window2000ns。(3)如果1000~3000ns中有多个窗口分为下面几种情况:a)判断1000是否落在这多个窗口的第一个窗口内,比如950~1200,则开始的窗口截取为1000~1200,不在第一个窗口比如,第一个窗口是1050~1200,则将第一个窗口任然保持为1050~1200。b)判断3000ns是否落在最后一个窗口如果是,比如2900~3050,则最后一个窗口变成2900~3000,如果不是,比如2800~2950,则保持不变。最后将落在1000~3000ns的所有窗口和计算比如:计算得到1000~3000ns内有1000~1250,1700~1800,2900~3000这么几个窗口,则可以算出其中是450ns,对于所有的窗口因为其数据没有相关性,使用并行计算来缩短整个时长。
由于每个子功能模块都有对应的开关率和使用率占空比,本申请实施例通过根据二者分别与功耗信息之间的线性相关系数进行确定,从而能够从开关率和使用率占空比中选择更优的指标来分析功耗。
在上述实施例的基础上,所述利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,包括:
将所述多个波形段对应的特征值输入所述线性模型中,获得所述线性模型输出的预测功耗;
根据所述预测功耗和所述对应的功耗信息计算损失值,并利用所述损失值对所述线性模型中的参数进行优化。
在具体的实施过程中,在获得了训练样本之后,电子设备可以按照一定的比例(例如:3:1,4:1,5:1等等)将训练样本进行划分,获得训练集和验证集,其中,为了便于理解,将训练集中的样本称为训练样本,将验证集中的样本作为验证样本。并采用机器学习算法,利用获取的训练集对预置在电子设备内的线性模型进行训练,以对该线性模型的模型参数进行不断的优化,待该线性模型满足训练结束条件后,根据该线性模型的模型结构和模型参数生成各个子功能模块的功耗模型。
在具体训练线性模型时,电子设备可以将训练集中每个训练样本对应的特征值输入到线性模型中,该线性模型通过对特征值进行分析处理,输出该特征值对应的预测功耗,根据该线性模型输出的预测功耗和训练样本中功耗信息构建损失函数,进而,根据该损失函数对线性模型中的模型参数进行调整,从而实现对线性模型的优化,当线性模型满足训练结束条件时,可以根据当前线性模型的模型结构和模型参数生成对应的功耗模型。
具体判断线性模型是否满足训练结束条件时,可以利用验证集中的验证样本对第一模型进行验证,验证样本与训练样本相类似,其中包括特征值以及特征值对应的功耗信息,该第一模型是利用多个训练样本对线性模型进行第一轮训练优化得到的模型;具体的,电子设备将验证样本中的特征值输入该第一模型,利用该第一模型对特征值进行相应地处理,得到该特征值对应的功耗信息;进而,根据验证样本中特征值对应的功耗信息和该第一模型输出的功耗信息计算预测准确率,当该预测准确率大于预设阈值时,即可认为第一模型的模型性能已能够满足需求,则可以根据该第一模型的模型参数以及模型结构,生成功耗模型。
应理解,上述预设阈值可以根据实际情况进行设定,在此不对该预设阈值做具体限定。
此外,判断线性模型是否满足训练结束条件时,还可以根据经多轮训练得到的多个模型,确定是否继续对线性模型进行训练,以获得模型性能最优的功耗模型。具体的,可以利用验证样本分别对经多轮训练得到的多个线性模型进行验证,若判断经各轮练得到的模型的预测准确率之间的差距较小,则认为线性模型的性能已经没有提升空间,可以选取预测准确率最高的线性模型,根据该线性模型的模型参数和模型结构确定功耗模型;若经各轮训练得到的线性模型的预测准确率之间具有较大的差距,则认为该线性模型的性能还有提升的空间,可继续对该线性模型进行训练,直到获得模型性能最稳定且最优的功耗模型。
可以理解的是,在模型的训练过程中,根据损失函数优化的线性模型中的参数即为每个特征信号对应的权重。
本申请实施例通过多个波形段的特征值和功耗信息对线性模型进行训练,由于特征值能够很好的反映对应子功能模块的功耗信息,并且特征值与对应的功耗信息呈线性,因此能够获得子功能模块对应的较优的功耗模型。
在上述实施例的基础上,所述利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得各子功能模块对应的功耗模型,包括:
利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得子功能模块对应的动态功耗模型;
根据所述子功能模块对应的静态功耗和所述动态功耗模型获得对应的功耗模型。
在具体的实施过程中,由于子功能模块的功耗包括动态功耗和静态功耗,在上述实施方式中,是采用动态功耗对应的特征值进行的模型训练,获得的只是动态功耗模型。那么在获得动态功耗模型后,还需要加上静态功耗,又由于静态功耗为常值,因此,直接在动态功耗模型的基础上,加上静态功耗便可子功能模块对应的功耗模型。
为了验证上述训练方法,本申请实施例采用经典的压力测试用例:cs_aql_replay_dgem_512x512x512_dp4x0来激发GPGPU的许多模型进行运行,从而有效的获得多个功耗参数结果。从中提取各个子功能模块对应的波形段和功耗信息,并进行模型训练,表1为训练完成后,验证集的预测值和实际值,以及均方差,从表1中可以看出,通过机器学习训练获得的权重值计算出的预测功耗和实际功耗非常接近,能够较好的应用于功耗预测。
表1
本申请实施例通过并行训练各个子功能模块,以获得各个子功能模块对应的功耗模型,极大的缩减了整个权重值获取的时间,并行快速的处理900个左右2.2G的波形文件,将其中的信息量并行的提取合并最终特征信号集中到一个几十兆的波形文件中,做特征窗口的分析时也是通过并行的方式,大大缩减了运算的时间。
另外,因为利用了机器学习,而且特征信号与功耗的线性相关,得到的权重值能够较为准确的反应功耗与特征信号的关系,最终预测的功耗和实际功耗很接近。
再有,因为利用了波形文件,可以不间断的从中提取想要的特征信号来拟合,配置过程也非常简单,可以做到有想用的特征信号就能快速提取并计算其权重值。
图2为本申请实施例提供的一种处理器的功耗测试方法流程示意图,如图2所示,该方法包括:
步骤201:获取待测试的处理器在运行过程中,预设时间段内各子功能模块对应的待测仿真波形;
步骤202:从所述待测仿真波形中提取子功能模块对应的待测特征信息;
步骤203:将所述待测特征信息对应的特征值输入到总功耗模型中,获得所述总功耗模型输出的所述待测试处理器对应的功耗。
在步骤201中,待测试的处理器可以是CPU、GPU、GPGPU等,可以理解的是,待测试的处理器在运行过程可以是正在处理正常事件,也可以是利用预先配置的压力测试用例使得待测试的处理器运行起来,本申请实施例不对待测试的处理器的运行作限定。预设时间段可以是预先设定的时间段,例如:可以是5000ns,也可以是6000ns,还可以是根据实际情况设定。通过仿真软件可以采集到运行中的处理器对应的各个子功能模块的待测仿真波形,该待测仿真波形中包括了对应子功能模块中与功耗相关的特征信号的特征信息。可以理解的是,与功耗相关的特征信号具体可以是预先设定的。
在步骤202中,在确定了特征信号后,便可从待测仿真波形中提取对应的特征信息。可以理解的是,特征信息可以是开关率和使用率占空比分别对应的特征信息。开关率和使用率占空比都有多个特征信息与之对应,因此,可以从待测仿真波形中提取到多种特征信息。并且不同的特征信息对应的特征值表示不同,有的特征信息对应的特征值由0和1组成,有的特征信息的特征值由0,1,2,3组成,还有的特征信息的特征值由0-7组成。
应当说明的是,由于获取到的是开关率和使用率占空比分别对应的特征信息,但是在实际应用过程中,只使用其中一种即可。因为一段时间中,子功能模块对应的开关率和使用率占空比在一定情况下可以认为是成反比的。开关率是指子功能模块在单位时间内开关的频率,即子功能模块工作状态和空闲状态切换的频率。例如:在该子功能模块所需要执行的任务来之前,子功能模块处于空闲状态,当接收到任务后,从空闲状态切换为工作状态;在所有的任务执行完成后,再次从工作状态切换为空闲状态。一次状态切换,其开关率加1。使用率占空比是指子功能模块在单位时间内处于工作状态占单位时间的比值。例如:子功能模块接收到了多个任务,这些任务需要依次执行,当子功能模块执行完所有的任务之后,才从工作状态切换为空闲状态。假设一个子功能模块在100(纳秒,ns)中连续工作的时长为90ns,即从0ns-90ns处于工作状态,90ns-100ns处于空闲状态,针对该时间段来说,子功能模块的开关率为2,使用率占空比则为90%,此时,如果使用开关率来对应子功能模块在这段时间内的功耗显然是不合理的,需要利用使用率占空比对应的特征信号进行后续的功耗分析。同理,如果在100ns内,开关次数为20次,其使用率占空比为20%,由于每次开关均会有一定的消耗,相对来说,开关率对能耗值的影响更大,所以应当选择开关率对应的特征信息进行后续的功耗分析。
如果方法确定选择开关率的特征信息还是选择使用率占空比来进行功耗分析:
针对一个波形段,分别确定开关率对应的特征信号与功耗信息的第三线性相关系数,以及使用率占空比对应的特征信号与功耗信息的第四线性相关系数;可以理解的是,线性相关系数可以用来表征开关率的特征信号以及使用率占空比的特征信号分别与功耗信息的匹配程度。若在某个时刻,特征信号为高电平,同一时刻功耗信息也相应的增长,则说明二者是匹配的,相反,则不匹配。
根据所述第三线性相关系数和所述第四线性相关系数确定目标特征信号;其中,所述目标特征信号为开关率对应的特征信号或使用率占空比对应的特征信号;通过统计开关率的特征信号与功耗信息对应的第三线性相关系数,以及使用率占空比的特征信号与功耗信息对应的第四线性相关系数,可以对第三线性相关系数和第四线性相关系数进行排序,将相关系数高于预设值,或者排名在前预设名词的特征信号取出,判断取出的特征信号中,哪种类型的特征信息多则选择对应的特征信息作为目标特征信息进行功耗分析。
可以理解的是,针对每个子功能模块的每个波形段均需要进行开关率和使用率占空比的选择。当然,也可以同时将开关率和使用率占空比对应的特征信息均用来功耗分析。
在确定了目标特征信息后,计算获得每个目标特征信息对应的特征值。具体计算方法参见上述实施例,此处不再赘述。
在步骤203中,在获得各个待测特征信息对应的特征值后,将特征值构成特征向量输入到总功耗模型中。可以理解的是,总功耗模型为经过上述实施例提供的训练方法进行预先训练获得,其具体的训练方法此处不再赘述。总功耗模型对输入的特征向量进行分析后输出待测试处理器对应的功耗。
本申请实施例通过利用总功耗模型对各个子功能模块对应的待测特征信息进行分析,能够快速高效地获得对应处理器的功耗信息。
图3为本申请实施例提供的一种处理器的功耗模型训练装置结构示意图,该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括:信息获取模块301、第一特征提取模块302、模型训练模块303和总功耗模型获得模块304,其中:
信息获取模块301用于获取所述处理器在运行过程中各子功能模块分别在多个时间段对应的波形段和功耗信息;第一特征提取模块302用于对每个子功能模块对应的波形段进行特征提取,获得对应的特征信息,并根据所述特征信息计算各个波形段的特征值;模型训练模块303用于利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得各子功能模块对应的功耗模型;总功耗模型获得模块304用于根据各子功能模块对应的功耗模型获得所述处理器的总功耗模型。
在上述实施例的基础上,信息获取模块301具体用于:
获取所述处理器在运行过程中各子功能模块在预设时间段内对应的仿真波形以及对应的功耗信息;
按照预设的时间窗口对各子功能模块对应的仿真波形进行划分,获得子功能模块对应的多个波形段,并根据所述时间窗口对所述功耗信息进行划分,获得每个波形段对应的功耗信息。
在上述实施例的基础上,信息获取模块301具体用于:
在根据所述预设时间窗口对所述功耗信息进行划分后,针对每个时间窗口,从所述时间窗口中提取功耗值以及功耗值对应的时间长度;
根据所述功耗值、时间长度和时间窗口进行加权平均获得对应时间窗口对应的波形段的功耗信息。
在上述实施例的基础上,第一特征提取模块302具体用于:
针对一个波形段,分别确定开关率对应的特征信号与功耗信息的第一线性相关系数,以及使用率占空比对应的特征信号与功耗信息的第二线性相关系数;
根据所述第一线性相关系数和所述第二线性相关系数确定目标特征信号;其中,所述目标特征信号为开关率对应的特征信号或使用率占空比对应的特征信号;
根据所述目标特征信号计算各个波形段的特征值。
在上述实施例的基础上,模型训练模块303具体用于:
将所述多个波形段对应的特征值输入所述线性模型中,获得所述线性模型输出的预测功耗;
根据所述预测功耗和所述对应的功耗信息计算损失值,并利用所述损失值对所述线性模型中的参数进行优化。
在上述实施例的基础上,模型训练模块303具体用于:
利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得子功能模块对应的动态功耗模型;
根据所述子功能模块对应的静态功耗和所述动态功耗模型获得对应的功耗模型。
在上述实施例的基础上,总功耗模型获得模块304具体用于:
根据功能模块对应的各子功能模块对应的功耗模型获得所述功能模块对应的中间模型;
根据各个功能模块分别对应的中间模型获得所述处理器对应的总功耗模型。
在上述实施例的基础上,总功耗模型获得模块304具体用于:
将功能模块对应的各子功能模块的功耗模型叠加获得所述功能模块的中间模型;
将各个功能模块分别对应的中间模型相叠加获得所述处理器对应的总功耗模型。
图4为本申请实施例提供的一种处理器的功耗模型训练装置结构示意图,该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图2方法实施例对应,能够执行图2方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括:波形获取模块401、第二特征提取模块402和测试模块403,其中:
波形获取模块401用于获取待测试的处理器在运行过程中,预设时间段内各子功能模块对应的待测仿真波形;第二特征提取模块402用于从所述待测仿真波形中提取子功能模块对应的待测特征信息;测试模块403用于将所述待测特征信息对应的特征值输入到总功耗模型中,获得所述总功耗模型输出的所述待测试处理器对应的功耗。
图5为本申请实施例提供的电子设备实体结构示意图,如图5所示,所述电子设备,包括:处理器(processor)501、存储器(memory)502和总线503;其中,
所述处理器501和存储器502通过所述总线503完成相互间的通信;
所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取所述处理器在运行过程中各子功能模块分别在多个时间段对应的波形段和功耗信息;对每个子功能模块对应的波形段进行特征提取,获得对应的特征信息,并根据所述特征信息计算各个波形段的特征值;利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得各子功能模块对应的功耗模型;根据各子功能模块对应的功耗模型获得所述处理器的总功耗模型。或
获取待测试的处理器在运行过程中,预设时间段内各子功能模块对应的待测仿真波形;从所述待测仿真波形中提取子功能模块对应的待测特征信息;将所述待测特征信息对应的特征值输入到总功耗模型中,获得所述总功耗模型输出的所述待测试处理器对应的功耗;其中,所述总功耗模型为通过上述实施例所述的功耗模型训练方法进行训练获得。
处理器501可以是一种集成电路芯片,具有信号处理能力。上述处理器501可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器502可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)等。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取所述处理器在运行过程中各子功能模块分别在多个时间段对应的波形段和功耗信息;对每个子功能模块对应的波形段进行特征提取,获得对应的特征信息,并根据所述特征信息计算各个波形段的特征值;利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得各子功能模块对应的功耗模型;根据各子功能模块对应的功耗模型获得所述处理器的总功耗模型。或
获取待测试的处理器在运行过程中,预设时间段内各子功能模块对应的待测仿真波形;从所述待测仿真波形中提取子功能模块对应的待测特征信息;将所述待测特征信息对应的特征值输入到总功耗模型中,获得所述总功耗模型输出的所述待测试处理器对应的功耗;其中,所述总功耗模型为通过上述实施例所述的功耗模型训练方法进行训练获得。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取所述处理器在运行过程中各子功能模块分别在多个时间段对应的波形段和功耗信息;对每个子功能模块对应的波形段进行特征提取,获得对应的特征信息,并根据所述特征信息计算各个波形段的特征值;利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得各子功能模块对应的功耗模型;根据各子功能模块对应的功耗模型获得所述处理器的总功耗模型。或
获取待测试的处理器在运行过程中,预设时间段内各子功能模块对应的待测仿真波形;从所述待测仿真波形中提取子功能模块对应的待测特征信息;将所述待测特征信息对应的特征值输入到总功耗模型中,获得所述总功耗模型输出的所述待测试处理器对应的功耗;其中,所述总功耗模型为通过上述实施例所述的功耗模型训练方法进行训练获得。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种处理器的功耗模型训练方法,其特征在于,处理器包括多个功能模块,且每一功能模块包括多个子功能模块,所述方法包括:
获取所述处理器在运行过程中各子功能模块分别在多个时间段对应的波形段和功耗信息;
对每个子功能模块对应的波形段进行特征提取,获得对应的特征信息,并根据所述特征信息计算各个波形段的特征值;
利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得各子功能模块对应的功耗模型;
根据各子功能模块对应的功耗模型获得所述处理器的总功耗模型。
2.根据权利要求1所述的方法,其特征在于,所述获取所述处理器在运行过程中各子功能模块分别在多个时间段对应的波形段和功耗信息,包括:
获取所述处理器在运行过程中各子功能模块在预设时间段内对应的仿真波形以及对应的功耗信息;
按照预设的时间窗口对各子功能模块对应的仿真波形进行划分,获得子功能模块对应的多个波形段,并根据所述时间窗口对所述功耗信息进行划分,获得每个波形段对应的功耗信息。
3.根据权利要求2所述的方法,其特征在于,所述获得每个波形段对应的功耗信息,包括:
在根据所述预设时间窗口对所述功耗信息进行划分后,针对每个时间窗口,从所述时间窗口中提取功耗值以及功耗值对应的时间长度;
根据所述功耗值、时间长度和时间窗口进行加权平均获得对应时间窗口对应的波形段的功耗信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所述特征信息计算各个波形段的特征值,包括:
针对一个波形段,分别确定开关率对应的特征信号与功耗信息的第一线性相关系数,以及使用率占空比对应的特征信号与功耗信息的第二线性相关系数;
根据所述第一线性相关系数和所述第二线性相关系数确定目标特征信号;其中,所述目标特征信号为开关率对应的特征信号或使用率占空比对应的特征信号;
根据所述目标特征信号计算各个波形段的特征值。
5.根据权利要求1所述的方法,其特征在于,所述利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,包括:
将所述多个波形段对应的特征值输入所述线性模型中,获得所述线性模型输出的预测功耗;
根据所述预测功耗和所述对应的功耗信息计算损失值,并利用所述损失值对所述线性模型中的参数进行优化。
6.根据权利要求1所述的方法,其特征在于,所述利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得各子功能模块对应的功耗模型,包括:
利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得子功能模块对应的动态功耗模型;
根据所述子功能模块对应的静态功耗和所述动态功耗模型获得对应的功耗模型。
7.根据权利要求1所述的方法,其特征在于,所述根据各子功能模块对应的功耗模型获得所述处理器的总功耗模型,包括:
根据功能模块对应的各子功能模块对应的功耗模型获得所述功能模块对应的中间模型;
根据各个功能模块分别对应的中间模型获得所述处理器对应的总功耗模型。
8.根据权利要求7所述的方法,其特征在于,所述根据功能模块对应的各子功能模块对应的功耗模型获得所述功能模块对应的中间模型,包括:
将功能模块对应的各子功能模块的功耗模型叠加获得所述功能模块的中间模型;
所述根据各个功能模块分别对应的中间模型获得所述处理器对应的总功耗模型,包括:
将各个功能模块分别对应的中间模型相叠加获得所述处理器对应的总功耗模型。
9.一种处理器的功耗测试方法,其特征在于,包括:
获取待测试的处理器在运行过程中,预设时间段内各子功能模块对应的待测仿真波形;
从所述待测仿真波形中提取子功能模块对应的待测特征信息;
将所述待测特征信息对应的特征值输入到总功耗模型中,获得所述总功耗模型输出的所述待测试的处理器对应的功耗;
其中,所述总功耗模型为通过如权利要求1-8任一项所述的功耗模型训练方法进行训练获得。
10.一种处理器的功耗模型训练装置,其特征在于,处理器包括多个功能模块,且每一功能模块包括多个子功能模块,所述装置包括:
信息获取模块,用于获取所述处理器在运行过程中各子功能模块分别在多个时间段对应的波形段和功耗信息;
第一特征提取模块,用于对每个子功能模块对应的波形段进行特征提取,获得对应的特征信息,并根据所述特征信息计算各个波形段的特征值;
模型训练模块,用于利用每个子功能模块对应的多个波形段的特征值和功耗信息对线性模型进行训练,获得各子功能模块对应的功耗模型;
总功耗模型获得模块,用于根据各子功能模块对应的功耗模型获得所述处理器的总功耗模型。
11.一种处理器的功耗测试装置,其特征在于,包括:
波形获取模块,用于获取待测试的处理器在运行过程中,预设时间段内各子功能模块对应的待测仿真波形;
第二特征提取模块,用于从所述待测仿真波形中提取子功能模块对应的待测特征信息;
测试模块,用于将所述待测特征信息对应的特征值输入到总功耗模型中,获得所述总功耗模型输出的所述待测试的处理器对应的功耗;
其中,所述总功耗模型为通过如权利要求1-8任一项所述的功耗模型训练方法进行训练获得。
12.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-9任一项所述的方法。
13.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010932033.5A CN112100910B (zh) | 2020-09-07 | 2020-09-07 | 一种处理器的功耗模型训练方法、功耗测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010932033.5A CN112100910B (zh) | 2020-09-07 | 2020-09-07 | 一种处理器的功耗模型训练方法、功耗测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100910A true CN112100910A (zh) | 2020-12-18 |
CN112100910B CN112100910B (zh) | 2024-06-28 |
Family
ID=73751676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010932033.5A Active CN112100910B (zh) | 2020-09-07 | 2020-09-07 | 一种处理器的功耗模型训练方法、功耗测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100910B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597720A (zh) * | 2020-12-28 | 2021-04-02 | 海光信息技术股份有限公司 | 一种功耗数据的收集方法、装置 |
CN112887706A (zh) * | 2021-01-15 | 2021-06-01 | Oppo广东移动通信有限公司 | 功耗确定方法、装置、存储介质及电子设备 |
CN114120491A (zh) * | 2021-11-11 | 2022-03-01 | 珠海格力电器股份有限公司 | 一种门锁控制方法、装置、智能门锁及存储介质 |
CN117674121A (zh) * | 2023-12-06 | 2024-03-08 | 中国电力科学研究院有限公司 | 一种基于回归模型的轻载台区固定损耗估计方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147822A (zh) * | 2010-12-23 | 2011-08-10 | 上海高性能集成电路设计中心 | 一种基于功耗库的大规模数字集成电路功耗动态评估装置 |
JP2013061811A (ja) * | 2011-09-13 | 2013-04-04 | Fujitsu Ltd | 消費電力解析方法および消費電力解析装置 |
CN103324777A (zh) * | 2013-05-21 | 2013-09-25 | 网视科技(杭州)有限公司 | 一种基于时间的Android应用程序能耗建模方法 |
WO2015151789A1 (ja) * | 2014-03-31 | 2015-10-08 | 日本電気株式会社 | 教師データ生成装置、電気機器監視システム、教師データ生成方法及びプログラム |
CN109742819A (zh) * | 2018-12-28 | 2019-05-10 | 国网北京市电力公司 | 局部放电传感器的电源控制方法及装置 |
CN110308782A (zh) * | 2018-03-22 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 功耗预测、控制方法、设备及计算机可读存储介质 |
CN110622143A (zh) * | 2017-05-19 | 2019-12-27 | 高通股份有限公司 | 用于对经由ddr接口参数的特定于设备的自定义来减少存储器功耗的系统和方法 |
CN111103487A (zh) * | 2019-12-24 | 2020-05-05 | 国网浙江省电力有限公司电力科学研究院 | 一种非侵入式的基于功耗分析的pst异常监测方法 |
-
2020
- 2020-09-07 CN CN202010932033.5A patent/CN112100910B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147822A (zh) * | 2010-12-23 | 2011-08-10 | 上海高性能集成电路设计中心 | 一种基于功耗库的大规模数字集成电路功耗动态评估装置 |
JP2013061811A (ja) * | 2011-09-13 | 2013-04-04 | Fujitsu Ltd | 消費電力解析方法および消費電力解析装置 |
CN103324777A (zh) * | 2013-05-21 | 2013-09-25 | 网视科技(杭州)有限公司 | 一种基于时间的Android应用程序能耗建模方法 |
WO2015151789A1 (ja) * | 2014-03-31 | 2015-10-08 | 日本電気株式会社 | 教師データ生成装置、電気機器監視システム、教師データ生成方法及びプログラム |
CN110622143A (zh) * | 2017-05-19 | 2019-12-27 | 高通股份有限公司 | 用于对经由ddr接口参数的特定于设备的自定义来减少存储器功耗的系统和方法 |
CN110308782A (zh) * | 2018-03-22 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 功耗预测、控制方法、设备及计算机可读存储介质 |
CN109742819A (zh) * | 2018-12-28 | 2019-05-10 | 国网北京市电力公司 | 局部放电传感器的电源控制方法及装置 |
CN111103487A (zh) * | 2019-12-24 | 2020-05-05 | 国网浙江省电力有限公司电力科学研究院 | 一种非侵入式的基于功耗分析的pst异常监测方法 |
Non-Patent Citations (5)
Title |
---|
NADJIB MAMMERI ET AL.: "Performance Counters based Power Modeling of Mobile GPUs using Deep Learning", 《2019 INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING & SIMULATION (HPCS)》, 9 September 2020 (2020-09-09), pages 194 - 198 * |
WEIWEI LIN ET AL.: "An Artificial Neural Network Approach to Power Consumption Model Construction for Servers in Cloud Data Centers", 《IEEE TRANSACTIONS ON SUSTAINABLE COMPUTING》, vol. 5, no. 3, 11 April 2019 (2019-04-11), pages 331 - 338, XP011808129, DOI: 10.1109/TSUSC.2019.2910129 * |
刘振东: "基于性能计数器的系统实时功耗的测量与分析", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 10, 15 October 2014 (2014-10-15), pages 137 - 15 * |
房颢: "移动GPU功耗建模", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 12, 15 December 2018 (2018-12-15), pages 138 - 951 * |
王海峰: "图形处理器通用计算的功耗分析与优化研究", 《中国博士学位论文全文数据库 信息科技辑》, no. 12, 15 December 2014 (2014-12-15), pages 138 - 65 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597720A (zh) * | 2020-12-28 | 2021-04-02 | 海光信息技术股份有限公司 | 一种功耗数据的收集方法、装置 |
CN112597720B (zh) * | 2020-12-28 | 2023-03-21 | 海光信息技术股份有限公司 | 一种功耗数据的收集方法、装置 |
CN112887706A (zh) * | 2021-01-15 | 2021-06-01 | Oppo广东移动通信有限公司 | 功耗确定方法、装置、存储介质及电子设备 |
CN114120491A (zh) * | 2021-11-11 | 2022-03-01 | 珠海格力电器股份有限公司 | 一种门锁控制方法、装置、智能门锁及存储介质 |
CN117674121A (zh) * | 2023-12-06 | 2024-03-08 | 中国电力科学研究院有限公司 | 一种基于回归模型的轻载台区固定损耗估计方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112100910B (zh) | 2024-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100910B (zh) | 一种处理器的功耗模型训练方法、功耗测试方法及装置 | |
CN109298998B (zh) | 工作量评估及模型训练方法、电子设备及存储介质 | |
CN112884092B (zh) | Ai模型生成方法、电子设备及存储介质 | |
CN112149380B (zh) | 一种标准单元库的指标分析方法及装置 | |
CN111260255B (zh) | 一种配电网运行参数关键因素分析方法、系统以及设备 | |
CN102955902A (zh) | 雷达模拟设备可信度的评估方法及评估系统 | |
US11755797B2 (en) | System and method for predicting performance, power and area behavior of soft IP components in integrated circuit design | |
CN107730097B (zh) | 一种母线负荷预测方法、装置及计算设备 | |
CN113268403B (zh) | 时间序列的分析预测方法、装置、设备及存储介质 | |
CN113568821A (zh) | 一种ai芯片计算性能的测试方法、装置、设备、及介质 | |
Patel et al. | MAG-D: A multivariate attention network based approach for cloud workload forecasting | |
Fu et al. | Data-driven low frequency oscillation mode identification and preventive control strategy based on gradient descent | |
CN116243883A (zh) | 一种测试激励生成方法、测试方法及相关设备 | |
CN114297008A (zh) | 一种云主机性能预测方法、装置、终端及存储介质 | |
CN115794570A (zh) | 压力测试方法、装置、设备及计算机可读存储介质 | |
CN113449778A (zh) | 用于量子数据分类的模型训练方法以及量子数据分类方法 | |
CN109696614B (zh) | 电路测试优化方法及装置 | |
CN114519429B (zh) | 获取目标体系的可观测量的方法、装置及介质 | |
El-Damcese et al. | Reliability and availability analysis of a standby repairable system with degradation facility | |
CN115146569A (zh) | 一种集成电路延时确定方法、装置及设备 | |
JP6239195B2 (ja) | 性能評価装置及び性能評価プログラム | |
Masuda et al. | Noise inference for ergodic Lévy driven SDE | |
Jooya et al. | GPU design space exploration: NN-based models | |
Lin et al. | Hidden cross-correlation patterns in stock markets based on permutation cross-sample entropy and PCA | |
CN114077884A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210412 Address after: 610000 China (Sichuan) pilot Free Trade Zone, Chengdu high tech Zone Applicant after: CHENGDU HAIGUANG MICROELECTRONICS TECHNOLOGY Co.,Ltd. Address before: Industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Huayuan Industrial Zone, Binhai New Area, Tianjin 300450 Applicant before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |