CN111427750A - 一种计算机平台的gpu功耗估计方法、系统及介质 - Google Patents

一种计算机平台的gpu功耗估计方法、系统及介质 Download PDF

Info

Publication number
CN111427750A
CN111427750A CN202010274437.XA CN202010274437A CN111427750A CN 111427750 A CN111427750 A CN 111427750A CN 202010274437 A CN202010274437 A CN 202010274437A CN 111427750 A CN111427750 A CN 111427750A
Authority
CN
China
Prior art keywords
power consumption
gpu
consumption estimation
computer platform
feature set
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
CN202010274437.XA
Other languages
English (en)
Other versions
CN111427750B (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 CN202010274437.XA priority Critical patent/CN111427750B/zh
Publication of CN111427750A publication Critical patent/CN111427750A/zh
Application granted granted Critical
Publication of CN111427750B publication Critical patent/CN111427750B/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
    • 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/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种计算机平台的GPU功耗估计方法、系统及介质,本发明方法包括获取计算机平台中GPU当前运行目标应用程序的性能寄存器特征集合X和功能部件管理特征集合Y并筛选出可配置的功耗估计特征集合XYC;将功耗估计特征集合XYC作为目标应用程序的类型对应的非监督学习的高斯混合模型的特征输入,得到计算机平台中GPU运行目标应用程序的功耗估计结果。本发明利用一些简单但是易于配置达到的资源负载状态的功耗估计特征,包括性能寄存器特征集合X和功能部件管理特征集合Y,采用了理论上的精度最高的非监督学习的高斯混合模型来进行GPU功耗估计,具有输入简单、估计精度高的优点。

Description

一种计算机平台的GPU功耗估计方法、系统及介质
技术领域
本发明涉及GPU功耗估计技术,具体涉及一种计算机平台的GPU功耗估计方法、系统及介质。
背景技术
随着云计算和大数据等应用的飞速发展,数据中心每天运行大量的任务,这需要消耗大量的能耗,Gartner公司有数据表明能源开支已经占到数据中心总运营费用的10%以上。随着数据中心的规模越来越大,能源开支的比例还会上升,如何控制数据中心的能耗一直是国内外学术界和工业级的热点问题。最近几年,数据中心对GPU(加速器)的需求量持续上升。主要有两个原因:一,大数据、机器学习和人工智能应用的计算需求量大、可并行化程度高,在GPU等大规模并行加速器上运行的效率比在CPU上高很多。二,满负荷时GPU的能效(Energy Efficiency)也比CPU的要高。数据中心逐渐成为一个智能的CPU-GPU异构计算平台,根据一般的经验,通用计算GPU的空闲和满负荷时的功率分别在100瓦和300瓦左右,和主流的单路服务器的功耗情况差不多,对GPU的能耗管理研究将能节约能源浪费、减少温室气体排放,直接影响国民经济和社会发展的方方面面,其应用前景非常广阔。
学术界和工业界已经对GPU的能耗管理问题开展了许多深度的研究,但是在功耗模型的优化空间。首先,不同类型GPU应用的计算处理和访存模式存在差异,对GPU的计算单元和各级存储等硬件构件的使用程度不同。在训练功耗估计模型时,虽然会选取这些硬件构件对应的寄存器状态作为特征输入,但是对所有的GPU应用都采用相同的训练方法,训练出相同的特征参数,使得提升功耗估计的精度存在瓶颈。另外,现有功耗模型的硬件特征选取比较复杂,基于各种PMC寄存器(性能寄存器)的信息建立的,这种模型确实可以比较精确的估计GPU的能耗,但是这种模型用于能耗管理的效果不好,因为在进行能耗管理时需要调度或者重配置应用使得GPU运行在能耗最优的某种负载状态。但是应用的运行配置与寄存器的状态之间的关系复杂,不易预测,很难直接对应用重新配置来精确达到寄存器的理想状态,比如就很难控制应用来精确改变每个工作项里的读写指令数。最后,在国产平台上,GPU的各种监控和管理软件不能直接运行,需要将监控和管理软件进行编译移植后才能运行,我们目前已经实现了AMD GPU在国产飞腾平台上的移植,但是移植后可监控和管理的GPU寄存器范围仍存在限制。现有研究发现GPU的功耗和资源负载状态是一种非线性的关系,因此如何实现对上述非线性的关系的进行建模来描述非均衡变化关系,已经成为一项亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种计算机平台的GPU功耗估计方法、系统及介质,本发明利用一些简单但是易于配置达到的资源负载状态的功耗估计特征,包括性能寄存器特征集合X和功能部件管理特征集合Y,采用了理论上的精度最高的非监督学习的高斯混合模型来进行GPU功耗估计,具有输入简单、估计精度高的优点。
为了解决上述技术问题,本发明采用的技术方案为:
一种计算机平台的GPU功耗估计方法,实施步骤包括:
1)确定在计算机平台中GPU运行目标应用程序的类型;
2)获取GPU当前运行目标应用程序的性能寄存器特征集合X和功能部件管理特征集合Y;
3)从性能寄存器特征集合X和功能部件管理特征集合Y中筛选出可配置的功耗估计特征集合XYC
4)将功耗估计特征集合XYC作为目标应用程序的类型对应的非监督学习的高斯混合模型的特征输入,得到计算机平台中GPU运行目标应用程序的功耗估计结果,所述目标应用程序的类型对应的非监督学习的高斯混合模型被预先训练建立了功耗估计特征集合XYC、GPU功耗估计结果之间的映射关系。
可选地,步骤1)中目标应用程序的类型包括串行训练、可剥夺训练、异步训练、推理。
可选地,步骤2)的详细步骤包括:调用GPU的性能寄存器性能监控接口获取计算机平台中GPU当前运行目标应用程序的性能寄存器特征得到性能寄存器特征集合X,调用GPU系统管理接口获取计算机平台中GPU当前运行目标应用程序的功能部件特征得到功能部件管理特征集合Y。
可选地,步骤3)中筛选出可配置的功耗估计特征集合XYC时,筛选原则是:(1)GPU的主要功能部件都要有相关的功耗估计特征入选;(2)筛选出的功耗估计特征是可配置的。
可选地,所述性能寄存器特征集合X和功能部件管理特征集合Y包括:时钟频率,功耗,GPU的利用率,GPU上显存的利用率,风扇速度,GPU电压,温度,PCIe带宽利用率,内核驱动版本,KFD进程ID,电压范围,GPU ID,VBIOS版本,GPU工作时间繁忙度,线程数,每个工作项执行的平均矢量计算指令数,每个工作项执行的平均标量计算指令数,每个工作项执行的显存上的平均矢量取指指令数,每个工作项执行的显存上的平均标量取指指令数,每个工作项执行的显存上的平均矢量写指令数,每个工作项执行的显存上的平均本地LDS读或写指令数,取值、写、原子操作和其它指令在L2 cache上的命中率。
可选地,所述功耗估计特征集合XYC包括:功耗、时钟频率、GPU的利用率、GPU上显存的利用率、风扇速度、GPU电压、PCIe带宽利用率。
可选地,步骤4)之前还包括预先训练目标应用程序的类型对应的非监督学习的高斯混合模型的步骤,详细步骤包括:
S1)获取与目标应用程序的类型相同的样本应用程序在计算机平台中GPU运行时的GPU功耗P以及性能寄存器特征集合X和功能部件管理特征集合Y,从性能寄存器特征集合X和功能部件管理特征集合Y中筛选出可配置的功耗估计特征集合XYC,从而得到由N组功耗估计特征集合XYC及其对应GPU功耗P组成的功耗数据集D,并将功耗数据集D划分为训练数据集TrD、验证数据集ValD和测试数据集TestD;
S2)预定义高斯混合模型的输入参数;
S3)在训练数据集TrD的基础上,使用高斯期望最大值EM方法对高斯混合模型进行训练求解得到训练后的高斯混合模型的参数,所述高斯混合模型的参数包括簇中心均值向量、协方差矩阵、权重;
S4)根据训练后的高斯混合模型的参数,在验证数据集ValD上进行功耗的估计,找出估计误差最小时的分类簇数目,计算验证数据集ValD下的条件分布,得到条件分布下的高斯混合模型的参数;
S5)根据条件分布下的参数,计算不同簇数目条件下的估计GPU功耗和实际的GPU功耗P之间的误差,找出最优簇数目;
S6)根据最优簇数目,计算测试数据集TestD的GPU功耗估计误差。
此外,本发明还提供一种计算机平台的GPU功耗估计系统,包括:
类型确定程序单元,用于确定在计算机平台中GPU运行目标应用程序的类型;
特征采集程序单元,用于获取计算机平台中GPU当前运行目标应用程序的性能寄存器特征集合X和功能部件管理特征集合Y;
特征筛选程序单元,用于从性能寄存器特征集合X和功能部件管理特征集合Y中筛选出可配置的功耗估计特征集合XYC
结果生成程序单元,用于将功耗估计特征集合XYC作为目标应用程序的类型对应的非监督学习的高斯混合模型的特征输入,得到计算机平台中GPU运行目标应用程序的功耗估计结果,所述目标应用程序的类型对应的非监督学习的高斯混合模型被预先训练建立了功耗估计特征集合XYC、GPU功耗估计结果之间的映射关系。
此外,本发明还提供一种计算机平台的GPU功耗估计系统,包括计算机设备,该计算机设备被编程或配置以执行所述计算机平台的GPU功耗估计方法的步骤,或者该计算机设备的存储器上存储有被编程或配置以执行所述计算机平台的GPU功耗估计方法的计算机程序。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行所述计算机平台的GPU功耗估计方法的计算机程序。
和现有技术相比,本发明具有下述优点:
1、本发明利用一些简单但是易于配置达到的资源负载状态的功耗估计特征,包括性能寄存器特征集合X和功能部件管理特征集合Y,具有输入简单的优点。
2、本发明考虑到GPU的功耗和资源负载状态是一种非线性的关系,为了对上述非线性的关系的进行建模来描述非均衡变化关系并提高精度,本发明从GPU硬件状态中筛选能够直接反映资源负载状态并且可配置的功耗估计特征集合XYC,以此为输入感知应用的非监督学习的高斯混合模型,和其它神经网络训练方法相比,非监督学习的高斯混合模型理论上的精度最高,原因是其它神经网络模型仅能描述功耗和资源状态之间的非均衡变化关系,而高斯混合模型会先将所有数据按照分布密度分成多个类,之后对每一类分别进行建模来描述非均衡变化关系,因此具有估计精度高的优点。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例中生成功耗数据集D的流程示意图。
图3为本发明实施例中生成非监督学习的高斯混合模型的训练流程示意图。
具体实施方式
下文将以飞腾平台作为计算机平台的实例,对本发明计算机平台的GPU功耗估计方法、系统及介质进行进一步的详细说明。毫无疑问,本发明计算机平台的GPU功耗估计方法、系统及介质并不局限于飞腾平台这一特定平台,还可以适用于X86等计算机平台。
如图1所示,本实施例计算机平台的GPU功耗估计方法的实施步骤包括:
1)确定在计算机平台中GPU运行目标应用程序的类型;
2)获取计算机平台中GPU当前运行目标应用程序的性能寄存器特征集合X和功能部件管理特征集合Y;
3)从性能寄存器特征集合X和功能部件管理特征集合Y中筛选出可配置的功耗估计特征集合XYC
4)将功耗估计特征集合XYC作为目标应用程序的类型对应的非监督学习的高斯混合模型的特征输入,得到计算机平台中GPU运行目标应用程序的功耗估计结果,所述目标应用程序的类型对应的非监督学习的高斯混合模型被预先训练建立了功耗估计特征集合XYC、GPU功耗估计结果之间的映射关系。
本实施例步骤1)中目标应用程序的类型包括串行训练、可剥夺训练、异步训练、推理。GPU上的应用可分为训练和推理,前者的负载明显高于负载,它们的功耗特性是不同的,并且对训练应用来说,通常包含多个内核任务队列,这些任务队列的调度方法是不同的,串行执行、可剥夺执行和异步执行,不同的调度方式GPU的计算压力也是不一样的,本实施例中根据应用类型和任务调度方法,把应用分类几类:串行训练、可剥夺训练、异步训练和推理,针对不同的应用分别进行功耗的训练得到不同的高斯混合模型,再进行感知应用的功耗估计,从而能够提高单个应用程序的估计精度。
本实施例中,步骤2)的详细步骤包括:调用GPU的性能寄存器(PMC)性能监控接口获取计算机平台中GPU当前运行目标应用程序的性能寄存器特征得到性能寄存器特征集合X,调用GPU系统管理接口获取计算机平台中GPU当前运行目标应用程序的功能部件特征得到功能部件管理特征集合Y。本实施例中针对飞腾平台进行AMD GPU的运行时适配,使得能够支持AMD GPU进行计算并能够监控运行状态。通过移植后的ROCm profiler工具分别获取GPU的PMC寄存器(性能寄存器)性能监控接口和GPU的系统管理接口以获取计算机平台中GPU当前运行目标应用程序的性能寄存器特征集合X和功能部件管理特征集合Y。
本实施例中,性能寄存器特征集合X和功能部件管理特征集合Y包括:时钟频率,功耗,GPU的利用率,GPU上显存的利用率,风扇速度,GPU电压,温度,PCIe带宽利用率,内核驱动版本,KFD进程ID,电压范围,GPU ID,VBIOS版本,GPU工作时间繁忙度,线程数,每个工作项执行的平均矢量计算指令数,每个工作项执行的平均标量计算指令数,每个工作项执行的显存上的平均矢量取指指令数,每个工作项执行的显存上的平均标量取指指令数,每个工作项执行的显存上的平均矢量写指令数,每个工作项执行的显存上的平均本地LDS读或写指令数,取值、写、原子操作和其它指令在L2 cache上的命中率,如表1所示:
表1:性能寄存器特征集合X和功能部件管理特征集合Y的信息列表。
Figure BDA0002444275520000051
Figure BDA0002444275520000061
本实施例中,步骤3)中筛选出可配置的功耗估计特征集合XYC时,筛选原则是:(1)GPU的主要功能部件都要有相关的功耗估计特征入选;(2)筛选出的功耗估计特征是可配置的。筛选的原则(1)是完备性,原则(2)是可配置性,完备性是指GPU的主要功能部件比如显存、计算引擎等都要有相关的特征入选;可配置性是指选择的GPU特征要是可配置的,通过改变应用的计算负载或者配置执行环境就可以精确的改变这些特征状态。
本实施例中,功耗估计特征集合XYC包括:功耗、时钟频率、GPU的利用率、GPU上显存的利用率、风扇速度、GPU电压、PCIe带宽利用率,如表2所示:
表2:功耗估计特征集合XYC的特征列表。
Figure BDA0002444275520000062
Figure BDA0002444275520000071
此外,如图3所示,本实施例步骤4)之前还包括预先训练目标应用程序的类型对应的非监督学习的高斯混合模型的步骤,详细步骤包括:
S1)获取与目标应用程序的类型相同的样本应用程序在计算机平台中GPU运行时的GPU功耗P以及性能寄存器特征集合X和功能部件管理特征集合Y,从性能寄存器特征集合X和功能部件管理特征集合Y中筛选出可配置的功耗估计特征集合XYC,从而得到由N组功耗估计特征集合XYC及其对应GPU功耗P组成的功耗数据集D,并将功耗数据集D划分为训练数据集TrD、验证数据集ValD和测试数据集TestD。
本实施例中,与目标应用程序的类型相同的样本应用程序具体时与目标应用程序的类型相同的各种benchmark基准应用和实际应用。如图2所示,在运行过程中,通过获取GPU功耗P,调用GPU的性能寄存器(PMC)性能监控接口获取计算机平台中GPU当前运行目标应用程序的性能寄存器特征得到性能寄存器特征集合X,调用GPU系统管理接口获取计算机平台中GPU当前运行目标应用程序的功能部件特征,得到功能部件管理特征集合Y,再进行特征筛选得到功耗估计特征集合XYC,本实施例中数据监控和存储频率的粒度在秒级,监控的时长以天为单位,保证数据量足够大,得到N组(P,XYC),分别是(XYC(1),P(1)),(XYC(2),P(2))…(XYC(n),P(n))…(XYC(N),P(N)),将N组(P,XYC)存放到时序数据库中形成功耗数据集D,D={P(i),XYC(i)|i∈1,2,3..N}。
为方便表示,定义d为GPU功耗P与特征XYC构成的一组向量,其中dP等价于GPU功耗P,dXY等价于XYC
Figure BDA0002444275520000072
所以功耗数据集D又等价于{d(i)|i∈1,2,3..N},其中d(i)表示第i组功耗、性能特征(P,XYC)对应的数据向量,是个多元向量。
步骤S1)需要针对不同的目标应用程序的类型分别收集不同的功耗数据集D,从而以便用于训练不同的目标应用程序的类型对应的多个非监督学习的高斯混合模型。
本实施例中将功耗数据集D划分为训练数据集TrD、验证数据集ValD和测试数据集TestD时,具体是指按照数量为4:3:3的比例划分。
S2)预定义高斯混合模型的输入参数;本实施例中预定义的输入参数包括:高斯混合分类簇数目的集合为K={ki|i=1,2,3..20},单个数目为ki,迭代遍历次数为iter=100,对数似然函数收敛阈值delta为10-6
S3)在训练数据集TrD的基础上,使用高斯期望最大值EM(Expectation-Maximization)方法对高斯混合模型进行训练求解得到训练后的高斯混合模型的参数,所述高斯混合模型的参数包括簇中心均值向量μ、协方差矩阵Σ、权重w;
训练数据集TrD的高斯混合模型的概率密度函数p(d)可以由ki个多元高斯分布组合成的混合分布表示,其函数表达式为:
Figure BDA0002444275520000081
上式中,ki为组成混合分布p(d)的多元高斯分类簇的数量,μm为第m个多元高斯分布的均值向量或者簇中心,Σm为第m个多元高斯分布的协方差矩阵,p(d|μmm)为以μm为均值向量Σm为协方差矩阵的多元高斯分布的概率密度函数,d为功耗、性能特征构成的一组随机向量。wm为第m个多元高斯分布在混合模型中的权重,也叫混合系数,且满足:
Figure BDA0002444275520000082
高斯混合模型的训练过程是给定聚类簇数ki,在训练数据集TrD上,使用极大似然估计方法,最大化对数似然函数:
Figure BDA0002444275520000083
求解该优化式采用常见的期望-最大化(Expectation-Maximization,EM)方法,推导出每一个多元高斯分布(也叫混合成分)的参数(即均值向量、协方差矩阵和权重),步骤如下:步骤(1):根据给定的ki值,初始化ki个多元高斯分布以及其权重;步骤(2):根据贝叶斯定理,估计每个样本由每个成分生成的后验概率(EM方法中的E步);步骤(3):根据均值,协方差的定义以及步骤(2)步求出的后验概率,更新均值向量、协方差矩阵和权重(EM方法的M步);步骤(4):重复步骤(2)和(3),直到似然函数增加值已小于收敛阈值,或达到最大迭代次数。
S4)根据训练后的高斯混合模型及其参数进行数据推理,在验证数据集ValD上进行功耗的估计,找出估计误差最小时的分类簇数目。首先是计算已知验证数据集ValD中的性能数据时的功率条件概率分布,得到条件概率分布下的高斯混合模型参数,之后利用这些参数推理计算出变量功率的值。
步骤S3)得到的高斯混合模型的参数包括簇中心均值向量μ、协方差矩阵Σ、权重w,其中第m个多元高斯分布的均值向量μm和协方差矩阵Σm改写成多个子向量或矩阵等价于:
Figure BDA0002444275520000091
首先,已知验证数据集ValD中的性能数,计算GPU功耗的条件分布,得到条件分布下的高斯混合模型的参数。GPU功耗dP的概率密度函数可以通过条件分布的计算公式得到:
Figure BDA0002444275520000096
上式中,p(dP|dXY)为_给定性能数据dXY时GPU功耗dP的条件概率分布,w'm为条件分布的参数权重,pm(dP|dXY)为_给定性能数据dXY时功率dP第m个条件概率分布,pm(d)为d的第m个概率分布,pm(dXY)为性能数据dXY的第m个概率分布,pm(d|μmP|XYmPP)是以μmP|XY为均值向量,ΣmPP为协方差矩阵的第m个多元高斯分布的概率密度函数。
其中,条件概率分布的参数权重w'm的函数表达式为:
Figure BDA0002444275520000092
上式中,w为S3)中得到的权重,p(dXYmXYmXYXY)为以μmXY为均值向量,ΣmXYXY为协方差矩阵的多元高斯分布的概率密度函数。
均值向量μmP|XY的函数表达式为:
Figure BDA0002444275520000093
上式中,
Figure BDA0002444275520000094
为ΣmPXY的逆。
基于以上已知值,可以计算出条件概率密度函数的权重w'和均值向量μmP|XY
然后,根据条件概率分布的计算公式,GPU功耗dp是条件概率密度函数的期望值,等于混合分布中每个分布的权重w'm和均值向量μmP|XY的乘积和,所以估计的GPU功耗dp的函数表达式为:
Figure BDA0002444275520000095
S5)根据条件分布下的参数,计算不同簇数目条件下的估计GPU功耗和实际的GPU功耗P之间的误差(功耗均方根误差RMSE),找出最优簇数目(功耗均方根误差RMSE最小时对应的ki为最优的参数),计为kopt
S6)根据最优簇数目kopt,计算测试数据集TestD的GPU功耗估计误差,该方法与步骤S4)类似。在此基础上,可以和其他的训练方法的GPU功耗估计误差进行对比,以便对本实施例的GPU功耗估计方法的精度做定量分析。
预先训练目标应用程序的类型对应的非监督学习的高斯混合模型的目的在于找到较优的模型参数。本实施例中预定义输入参数,输入参数包括一组簇的个数,每次选择一个作为输入参数,利用功耗数据集D中的训练数据集TrD进行高斯混合模型的训练,,利用高斯混合方法训练输出模型参数如均值向量、协方差、权重等,训练得到一组模型。然后,基于验证数据集利用这组模型做功耗推理预测,推理结果和验证数据集里的实际功耗比较,在验证模型没有过度训练的情况下从这组模型中选择出误差最小的一个高斯混合模型,其中这个高斯混合模型的簇的个数是一个理想的输入参数。如果训练高斯混合模型在验证数据集上出现训练过度的情况,需要调整训练次数重新进行训练。
作为一种可选的实施方式,本实施例中GPU功耗估计误差采用均方根误差RMSE和估计成功率SR两种指标来进行估计,功耗均方根误差RMSE用来衡量整体的误差平均水平,估计成功率SR用来每个衡量误差的变化幅度,它们是不同的衡量标准。
其中,均方根误差RMSE的函数表达式为:
Figure BDA0002444275520000101
上式中,p(n)为第n个GPU功耗估计值,P(n)为第n个真实监测得到的GPU功耗P,N为功耗数据集D中的数据组个数。
其中,估计成功率SR的函数表达式为:
Figure BDA0002444275520000102
Figure BDA0002444275520000103
上式中,g(n)为分段函数,如果误差小于Δ就视为成功,否则视为失败。其中,Δ为定义成功率的范围,例如可以为1%,5%等值。此外也可以根据需要采用其他误差计算方式。
当然,也可以根据需要采用计算出相同数据集上其它功耗估计方法的误差,进行对比,验证非监督学习训练算法的有效性;根据前期对CPU功耗估计的对比数据,高斯混合模型比一般的线性和非线性模型,估计精度高10%以上。
综上所述,本实施例计算机平台的GPU功耗估计方法具有下述优点:
1、特征可配置、实用性强,适合高精确度的功耗管理。选择的训练特征能够反映出GPU各个单元的执行状态,所以精度比较高;在功耗管理时会控制负载情况保证在满足服务QoS质量同时GPU的功耗最优的,相对于使用复杂的GPU PMC寄存器特征,本发明的采用特征在国产平台上容易配置,通过修改应用的执行参数就可以容易控制负载状态,达到功耗优化的状态,使得该功耗估计方法在功耗管理时有更高的实用性和精确度;
2、感知应用,细粒度的功耗训练和估计。采用非监督的机器学习方法建立功耗估计模型,能够针对不同应用分别功耗估计,提高了估计精度。其它线性模型或者神经网络模型仅能描述功耗和资源状态之间的非均衡变化关系,而高斯混合模型会先将所有数据按照分布密度分成多个类,之后对每一类分别进行建模来描述非均衡变化关系;不同的应用有不同的功耗特征曲线,对应用类型进行分类,进行感知应用的功耗训练和估计。
此外,本实施例还提供一种计算机平台的GPU功耗估计系统,包括:
类型确定程序单元,用于确定在计算机平台中GPU运行目标应用程序的类型;
特征采集程序单元,用于获取计算机平台中GPU当前运行目标应用程序的性能寄存器特征集合X和功能部件管理特征集合Y;
特征筛选程序单元,用于从性能寄存器特征集合X和功能部件管理特征集合Y中筛选出可配置的功耗估计特征集合XYC
结果生成程序单元,用于将功耗估计特征集合XYC作为目标应用程序的类型对应的非监督学习的高斯混合模型的特征输入,得到计算机平台中GPU运行目标应用程序的功耗估计结果,所述目标应用程序的类型对应的非监督学习的高斯混合模型被预先训练建立了功耗估计特征集合XYC、GPU功耗估计结果之间的映射关系。
此外,本实施例还提供一种计算机平台的GPU功耗估计系统,包括计算机设备,该计算机设备被编程或配置以执行前述计算机平台的GPU功耗估计方法的步骤,或者该计算机设备的存储器上存储有被编程或配置以执行前述计算机平台的GPU功耗估计方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行前述计算机平台的GPU功耗估计方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种计算机平台的GPU功耗估计方法,其特征在于实施步骤包括:
1)确定在计算机平台中GPU运行目标应用程序的类型;
2)获取GPU当前运行目标应用程序的性能寄存器特征集合X和功能部件管理特征集合Y;
3)从性能寄存器特征集合X和功能部件管理特征集合Y中筛选出可配置的功耗估计特征集合XYC
4)将功耗估计特征集合XYC作为目标应用程序的类型对应的非监督学习的高斯混合模型的特征输入,得到计算机平台中GPU运行目标应用程序的功耗估计结果,所述目标应用程序的类型对应的非监督学习的高斯混合模型被预先训练建立了功耗估计特征集合XYC、GPU功耗估计结果之间的映射关系。
2.根据权利要求1所述的计算机平台的GPU功耗估计方法,其特征在于,步骤1)中目标应用程序的类型包括串行训练、可剥夺训练、异步训练、推理。
3.根据权利要求1所述的计算机平台的GPU功耗估计方法,其特征在于,步骤2)的详细步骤包括:调用GPU的性能寄存器性能监控接口获取计算机平台中GPU当前运行目标应用程序的性能寄存器特征得到性能寄存器特征集合X,调用GPU系统管理接口获取计算机平台中GPU当前运行目标应用程序的功能部件特征得到功能部件管理特征集合Y。
4.根据权利要求1所述的计算机平台的GPU功耗估计方法,其特征在于,步骤3)中筛选出可配置的功耗估计特征集合XYC时,筛选原则是:(1)GPU的主要功能部件都要有相关的功耗估计特征入选;(2)筛选出的功耗估计特征是可配置的。
5.根据权利要求1所述的计算机平台的GPU功耗估计方法,其特征在于,所述性能寄存器特征集合X和功能部件管理特征集合Y包括:时钟频率,功耗,GPU的利用率,GPU上显存的利用率,风扇速度,GPU电压,温度,PCIe带宽利用率,内核驱动版本,KFD进程ID,电压范围,GPU ID,VBIOS版本,GPU工作时间繁忙度,线程数,每个工作项执行的平均矢量计算指令数,每个工作项执行的平均标量计算指令数,每个工作项执行的显存上的平均矢量取指指令数,每个工作项执行的显存上的平均标量取指指令数,每个工作项执行的显存上的平均矢量写指令数,每个工作项执行的显存上的平均本地LDS读或写指令数,取值、写、原子操作和其它指令在L2 cache上的命中率。
6.根据权利要求5所述的计算机平台的GPU功耗估计方法,其特征在于,所述功耗估计特征集合XYC包括:功耗、时钟频率、GPU的利用率、GPU上显存的利用率、风扇速度、GPU电压、PCIe带宽利用率。
7.根据权利要求1~6中任意一项所述的计算机平台的GPU功耗估计方法,其特征在于,步骤4)之前还包括预先训练目标应用程序的类型对应的非监督学习的高斯混合模型的步骤,详细步骤包括:
S1)获取与目标应用程序的类型相同的样本应用程序在计算机平台中GPU运行时的GPU功耗P以及性能寄存器特征集合X和功能部件管理特征集合Y,从性能寄存器特征集合X和功能部件管理特征集合Y中筛选出可配置的功耗估计特征集合XYC,从而得到由N组功耗估计特征集合XYC及其对应GPU功耗P组成的功耗数据集D,并将功耗数据集D划分为训练数据集TrD、验证数据集ValD和测试数据集TestD;
S2)预定义高斯混合模型的输入参数;
S3)在训练数据集TrD的基础上,使用高斯期望最大值EM方法对高斯混合模型进行训练求解得到训练后的高斯混合模型的参数,所述高斯混合模型的参数包括簇中心均值向量、协方差矩阵、权重;
S4)根据训练后的高斯混合模型的参数,在验证数据集ValD上进行功耗的估计,找出估计误差最小时的分类簇数目,计算验证数据集ValD下的条件分布,得到条件分布下的高斯混合模型的参数;
S5)根据条件分布下的参数,计算不同簇数目条件下的估计GPU功耗和实际的GPU功耗P之间的误差,找出最优簇数目;
S6)根据最优簇数目,计算测试数据集TestD的GPU功耗估计误差。
8.一种计算机平台的GPU功耗估计系统,其特征在于包括:
类型确定程序单元,用于确定在计算机平台中GPU运行目标应用程序的类型;
特征采集程序单元,用于获取GPU当前运行目标应用程序的性能寄存器特征集合X和功能部件管理特征集合Y;
特征筛选程序单元,用于从性能寄存器特征集合X和功能部件管理特征集合Y中筛选出可配置的功耗估计特征集合XYC
结果生成程序单元,用于将功耗估计特征集合XYC作为目标应用程序的类型对应的非监督学习的高斯混合模型的特征输入,得到计算机平台中GPU运行目标应用程序的功耗估计结果,所述目标应用程序的类型对应的非监督学习的高斯混合模型被预先训练建立了功耗估计特征集合XYC、GPU功耗估计结果之间的映射关系。
9.一种计算机平台的GPU功耗估计系统,包括计算机设备,其特征在于,该计算机设备被编程或配置以执行权利要求1~7中任意一项所述计算机平台的GPU功耗估计方法的步骤,或者该计算机设备的存储器上存储有被编程或配置以执行权利要求1~7中任意一项所述计算机平台的GPU功耗估计方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有被编程或配置以执行权利要求1~7中任意一项所述计算机平台的GPU功耗估计方法的计算机程序。
CN202010274437.XA 2020-04-09 2020-04-09 一种计算机平台的gpu功耗估计方法、系统及介质 Active CN111427750B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010274437.XA CN111427750B (zh) 2020-04-09 2020-04-09 一种计算机平台的gpu功耗估计方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010274437.XA CN111427750B (zh) 2020-04-09 2020-04-09 一种计算机平台的gpu功耗估计方法、系统及介质

Publications (2)

Publication Number Publication Date
CN111427750A true CN111427750A (zh) 2020-07-17
CN111427750B CN111427750B (zh) 2023-06-23

Family

ID=71555995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010274437.XA Active CN111427750B (zh) 2020-04-09 2020-04-09 一种计算机平台的gpu功耗估计方法、系统及介质

Country Status (1)

Country Link
CN (1) CN111427750B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782454A (zh) * 2020-08-05 2020-10-16 中国人民解放军国防科技大学 基于指令epi的细粒度gpdsp功耗测试方法、系统及介质
CN112672405A (zh) * 2020-12-15 2021-04-16 Oppo广东移动通信有限公司 功耗计算方法、装置、存储介质、电子设备以及服务器
CN113723538A (zh) * 2021-09-02 2021-11-30 中国人民解放军国防科技大学 基于层次化迁移学习的跨平台功耗性能预测方法及系统
CN115131481A (zh) * 2021-03-24 2022-09-30 Oppo广东移动通信有限公司 Gpu绘制效率确定方法、模型构建方法、装置、介质及设备
CN115373860A (zh) * 2022-10-26 2022-11-22 小米汽车科技有限公司 Gpu任务的调度方法、装置、设备和存储介质
CN115599195A (zh) * 2022-12-14 2023-01-13 国网江苏省电力有限公司信息通信分公司(Cn) 一种基于cuda性能计数器的gpu能耗预测方法及系统
CN116225202A (zh) * 2023-02-21 2023-06-06 摩尔线程智能科技(北京)有限责任公司 用于gpu的功耗控制方法、装置、电子设备和存储介质
WO2024027791A1 (en) * 2022-08-03 2024-02-08 Moore Threads Technology Co., Ltd. Machine learning based power and performance optimization system and method for graphics processing units

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110322283A (zh) * 2019-06-12 2019-10-11 国网山东省电力公司济宁供电公司 基于高斯回归组合预测模型的电能替代方案预测方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110322283A (zh) * 2019-06-12 2019-10-11 国网山东省电力公司济宁供电公司 基于高斯回归组合预测模型的电能替代方案预测方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
柏茂羽;丁勇;胡忠旺;: "基于Q学习的多目标耦合协同任务分配算法" *
王海峰;陈庆奎;: "静态程序切片的GPU通用计算功耗预测模型" *
肖汉;周清雷;张祖勋;: "基于多GPU的Harris角点检测并行算法" *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782454A (zh) * 2020-08-05 2020-10-16 中国人民解放军国防科技大学 基于指令epi的细粒度gpdsp功耗测试方法、系统及介质
CN111782454B (zh) * 2020-08-05 2023-08-18 中国人民解放军国防科技大学 基于指令epi的细粒度gpdsp功耗测试方法、系统及介质
CN112672405A (zh) * 2020-12-15 2021-04-16 Oppo广东移动通信有限公司 功耗计算方法、装置、存储介质、电子设备以及服务器
CN112672405B (zh) * 2020-12-15 2023-12-08 Oppo广东移动通信有限公司 功耗计算方法、装置、存储介质、电子设备以及服务器
CN115131481A (zh) * 2021-03-24 2022-09-30 Oppo广东移动通信有限公司 Gpu绘制效率确定方法、模型构建方法、装置、介质及设备
CN113723538A (zh) * 2021-09-02 2021-11-30 中国人民解放军国防科技大学 基于层次化迁移学习的跨平台功耗性能预测方法及系统
CN113723538B (zh) * 2021-09-02 2024-02-06 中国人民解放军国防科技大学 基于层次化迁移学习的跨平台功耗性能预测方法及系统
WO2024027791A1 (en) * 2022-08-03 2024-02-08 Moore Threads Technology Co., Ltd. Machine learning based power and performance optimization system and method for graphics processing units
US12079641B2 (en) 2022-08-03 2024-09-03 Moore Threads Technology Co., Ltd. Machine learning based power and performance optimization system and method for graphics processing units
CN115373860A (zh) * 2022-10-26 2022-11-22 小米汽车科技有限公司 Gpu任务的调度方法、装置、设备和存储介质
CN115599195A (zh) * 2022-12-14 2023-01-13 国网江苏省电力有限公司信息通信分公司(Cn) 一种基于cuda性能计数器的gpu能耗预测方法及系统
CN116225202A (zh) * 2023-02-21 2023-06-06 摩尔线程智能科技(北京)有限责任公司 用于gpu的功耗控制方法、装置、电子设备和存储介质
CN116225202B (zh) * 2023-02-21 2024-01-23 摩尔线程智能科技(北京)有限责任公司 用于gpu的功耗控制方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN111427750B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
CN111427750B (zh) 一种计算机平台的gpu功耗估计方法、系统及介质
CN110399222B (zh) Gpu集群深度学习任务并行化方法、装置及电子设备
CN115168027B (zh) 一种基于深度强化学习的算力资源度量方法
WO2022087415A1 (en) Runtime task scheduling using imitation learning for heterogeneous many-core systems
Wang et al. Lube: Mitigating bottlenecks in wide area data analytics
Boulmier et al. An autonomic approach for the selection of robust dynamic loop scheduling techniques
US10558767B1 (en) Analytical derivative-based ARMA model estimation
CN112035995A (zh) 基于gpu计算技术的非结构网格潮汐潮流数值模拟方法
CN113220466A (zh) 一种基于长短期记忆模型的云服务负载通用预测方法
Zhu et al. Estimating power consumption of servers using gaussian mixture model
CN106874215B (zh) 一种基于Spark算子的序列化存储优化方法
CN115794405A (zh) 一种基于SSA-XGboost算法的大数据处理框架的动态资源分配方法
Shi et al. Three-Way Ensemble prediction for workload in the data center
Zhang et al. HPC usage behavior analysis and performance estimation with machine learning techniques
El Motaki et al. Modeling the correlation between the workload and the power consumed by a server using stochastic and non‐parametric approaches
Paranou et al. Forecasting resource demand for dynamic datacenter sizing in telco infrastructures
Kim et al. Analyzing gcn aggregation on gpu
CN117435308B (zh) 一种基于并行计算算法的Modelica模型仿真方法及系统
Niu et al. The new large-scale RNNLM system based on distributed neuron
CN118502964B (zh) 托卡马克新经典环向粘滞力矩cuda模拟实现方法
US20240211365A1 (en) Prediction of efficiency of application execution
Rawat Workload prediction for cloud services by using a hybrid neural network model
Abdulazeez et al. Energy saving of cluster computing by CPU frequency Tuning using genetic algorithm.
Li et al. A node level performance/power efficiency aware resource management technique
Li et al. Combined Prediction Energy Model at Software Architecture Level

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