CN109753134B - 一种基于全局解耦的gpu内部能耗控制系统及方法 - Google Patents
一种基于全局解耦的gpu内部能耗控制系统及方法 Download PDFInfo
- Publication number
- CN109753134B CN109753134B CN201811583968.6A CN201811583968A CN109753134B CN 109753134 B CN109753134 B CN 109753134B CN 201811583968 A CN201811583968 A CN 201811583968A CN 109753134 B CN109753134 B CN 109753134B
- Authority
- CN
- China
- Prior art keywords
- gpu
- icnt
- mem
- module
- control
- 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.)
- Expired - Fee Related
Links
- 238000005265 energy consumption Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004364 calculation method Methods 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims abstract description 6
- 238000005457 optimization Methods 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 5
- 210000005036 nerve Anatomy 0.000 claims description 3
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 2
- 238000007726 management method Methods 0.000 abstract description 20
- 230000006870 function Effects 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000001808 coupling effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Landscapes
- Power Sources (AREA)
Abstract
本发明提供一种基于全局解耦的GPU内部能耗控制系统及方法,该系统包括Master‑GPU模块、Slave‑GPU模块、CPU;所述Master‑GPU是主控GPU,由它运行全局解耦网络,并生成三组控制信号CSM,CICNT,CMEM,通过该三组控制信号对Slave‑GPU模块进行全局能耗控制;所述Slave‑GPU为被控GPU,包括三组能耗模块,分别是SM计算模块、MEM模块和ICNT模块,主控GPU产生的三组控制信号将分别对这三个模块的频率fSM_1,fMEM_1,fICNT_1进行实时全局控制;CPU,用于负责主从两块GPU之间的通信,它从Slave‑GPU抽取特征信号{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT},并把它们交给Master‑GPU;当Master‑GPU生产了实时控制信号CSM,CICNT,CMEM,它负责把所述三组控制信号交给Slave‑GPU,从而实现对Slave‑GPU的能耗优化工作。使用基于全局的能量管理方法在系统的吞吐率上平均提高了12.23%,在能耗表现上平均提升了16.38%。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于全局解耦的GPU内部能耗控制系统及方法。
背景技术
随着智能时代的到来,计算机需要处理的数据量级急剧增加。异构系统对大数据量的计算有更好的并行性能,但是异构系统的能量问题却成为了制约高性能计算的瓶颈。目前,DVFS技术被广泛运用在异构系统的能量管理中。DVFS主要是通过调节异构系统中能量模块的工作电压或是工作频率进行能量控制的。目前的DVFS能量控制技术主要有两种策略,一种策略是动态的实时控制策略。这种策略通过对异构系统内部能量状态进行跟踪实现能量控制。另一种策略是通过构建异构系统的能量模型,并通过预测算法对能量模块的工作状态进行调整来实现能量管理。
但是以上两种策略都是基于某个能量模块的局部调整。我们知道在异构系统中的各个能量模块并不是独立运行的,模块之间存在任务相关性。对某一模块的能量进行调整很可能会对其他模块的性能产生负面影响。因此,这种基于局部的孤立调整方式往往不能达到预期的整体能量控制目标。并且,这种独立的控制方案会产生耦合效应,影响最终的调整效果。
发明内容
本发明的目的在于解决上述现有技术存在的缺陷,提供一种能够提高系统能量管理效率的基于全局解耦的GPU内部能耗控制系统及方法。
一种基于全局解耦的GPU内部能耗控制系统,包括:Master-GPU模块、Slave-GPU模块、CPU;
所述Master-GPU是主控GPU,由它运行全局解耦网络,并生成三组控制信号CSM,CICNT,CMEM,通过该三组控制信号对Slave-GPU模块进行全局能耗控制;
所述Slave-GPU为被控GPU,包括三组能耗模块,分别是SM计算模块、MEM模块和ICNT模块,主控GPU产生的三组控制信号将分别对这三个模块的频率fSM,fMEM,fICNT进行实时全局控制;
CPU,用于负责主从两块GPU之间的通信,它从Slave-GPU抽取特征信号{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT},并把它们交给Master-GPU;当Master-GPU生产了实时控制信号CSM,CICNT,CMEM,它负责把所述三组控制信号交给Slave-GPU,从而实现对Slave-GPU的能耗优化工作。
进一步地,如上所述的基于全局解耦的GPU内部能耗控制系统,所述Slave-GPU模块模块包括:
启动单元,用于当Slave-GPU模块模块开始运行进程任务时,给CPU发送一个启动任务的命令以供CPU命令Master-GPU模块开始初始化;
特征信号产生单元,用于通过所述三组能耗模块产生三组特征信号{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT},并将其传送给CPU;
解耦控制单元,用于根据Master-GPU产生的控制信号CSM,CICNT,CMEM对所述三组能耗模块的工作频率fSM,fMEM,fICNT进行实时解耦控制。
进一步地,如上所述的基于全局解耦的GPU内部能耗控制系统,所述Master-GPU模块包括:
初始化单元,用于当其接收到CPU发送的初始化命令后,通过Init_PIDNN()对全局解耦控制器进行初始化,并等待CPU传过来的特征信号;
获取单元,用于通过CPU实时获取所述三组能耗模块的三组特征信号{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT};
参数修正单元,用于接收获取单元的所述三组特征信号{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT},并利用在其内部运行的PIDNN神经,根据MPIDNN网络的控制律和权值修正算法实时修正生成三组控制信号CSM,CICNT,CMEM;
发送单元,用于将参数修正单元产生的三组控制信号CSM,CICNT,CMEM传送给CPU。
一种基于全局解耦的GPU内部能耗控制方法,包括以下步骤:
步骤1:Slave_GPU模块开始运行进程的任务,并通过函数Run_Benchmarks()通知CPU;
步骤2:CPU收到通知,并用Start_Master_Gpu()命令Master_GPU开始工作,Master_GPU首先通过Init_PIDNN()对全局解耦控制器进行初始化,并等待CPU传过来的特征信号;
步骤3:CPU从Slave_GPU模块内部抽取特征信号,并通过Get_Slave_CharcSeg()函数得到Slave_GPU模块的三个能耗模块的三组特征信号,{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT},并通过Send_CharcSeg_To_Master()函数将三组特征信号传给Master_GPU模块;
步骤4:Master_GPU模块收到特征信号后运行Calculate_Contlsig()方法,该方法包括用Control_law()函数计算全局解耦网络的控制律并用Weight_correc()函数进行参数修正,然后用return(ContlSignls)返回三组控制参数CSM,CICNT,CMEM给CUP;
步骤5:CPU用三组控制参数Get_Contrl_Signals()函数得到三组控制参数CSM,CICNT,CMEM并传递给Slave_GPU模块;
步骤6:Slave_GPU模块用Change_Slave_FrqSeg()函数实时改变Slave_GPU内部能耗模块的工作频率。
有益效果:
本发明运用基于PID的解耦技术建立了GPU系统能量管理系统和方法,这种方法可以通过对GPU中多个能量模块的协同解耦控制来实现该系统的能量管理。通过对比试验证明,相较于基于局部的方法,使用基于全局的能量管理方法在系统的吞吐率上平均提高了12.23%,在能耗表现上平均提升了16.38%。
附图说明
图1为单变量PID控制原理图;
图2为多变量解耦的全局能量管理方法流程图;
图3为PIDNN控制器结构示意图;
图4为本发明基于全局解耦的GPU内部能耗控制系统结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
具体来说GPU作为典型的异构系统,它的动态能量是由多个部分组成的,其中GPU有三个主要的能耗模块,它们分别是:SM计算功能模块,MEM(Memory)模块以及ICNT(InterconnectionNetwork)模块,下面对三个能耗模块分别进行说明。
SM计算单元模块,这个模块是由若干SM计算单元和L1Cache组成的。SM是计算核心部件,是若干高速的流水线组成的,完成任务的高速计算,并且计算的结果与内存模块进行交互。SM有本地的存储L1CACHE,但也会到全局的L2CACHE模块进行更大数据的存储于共享。从能耗角度讲,由于该模块承担高速计算功能,大概有超过40%的GPU能耗产生于这个模块。
MEM模块,这是一个独立的全局内存管理模块,这个模块是片外的L2Cache组成的。负责与SM计算结果进行交互,当SM的本地CACHE访问失败,需要对这个全局内存进行访存操作。另外,如果需要共享某个SM计算的全局变量,也必须把数据存入全局内存。从能耗的角度讲,该模块大概会贡献超过30%的GPU能耗。
ICNT模块,这个模块连接计算模块和MEM模块,该模块负责从SM计算模块到MEM模块的通信功能,它采用交叉开关电路,可以实现模块之间的高速通信带宽。ICNT模块还具有自己的存储单元,可以在数据量较大的时候把任务放在等待队列里。GPU中大概有10-20%的能耗从这个模块产生。
GPU系统是一种典型的异构平台,本发明以GPU做为异构系统的能量控制研究对象。GPU系统能量模块可以分为三个模块,但是因为这些能量模块的控制变量和受控变量之间存在耦合关系,要对这些模块进行全局协同控制具有相当的挑战性。也就是说,本发明试图利用基于DVFS技术控制其中某个能量模块的工作状态时,这种控制会对另外的模块控制产生干扰。
为了实现对所有能量模块的解耦协同控制,本发明构建了一种基于PID的全局能量管理模型,并利用这种模型对3个能量模块进行协同解耦控制,从而实现对整体系统的协同的全局控制目标。
GPU的总的动态能耗公式为:
ai为三个模块的活动因子,Ci三个模块的电容参数,fi是三个模块的工作频率。分别表示为:fSM、fMEM和fICNT.本发明的目标就是要对这三个工作频率进行协同控制。
为了实现kernel-based on-line能量控制,本发明选择与能量相关的任务负载作为控制信号。通过观察,我们发现每个能量模块的任务队列可以相应地反映该模块的任务负载,任务队列是比较容易获得的。因此,可以利用模块的任务队列进行工作频率的调整。GPU中3个模块的任务队列分别为TQSM、TQMEM和TQICNT.可以把它们作为控制参数对模块的工作频率进行全局控制。
local-based的能量管理方法多是基于单变量PID技术实现的,实现原理图如图1所示,PID是一种基于控制论的跟踪技术,它可以作为动态DVFS的实现方案。local-based方法通过对单个模块的工作频率控制进行,模块控制是孤立的。这种方法没有考虑控制变量之间的相关性。在GPU系统中,假设只对计算模块进行能量管理,通过调高计算模块的工作频率fSM来提高该模块的性能。我们发现这样做确实会带来计算模块性能的提升,TQSM会相应减少,但是这种提升带来的后果是增加ICNT模块的任务队列TQICNT。如果这时ICNT模块的处理速度fICNT.没有相应提高,就无法达到整体的能量控制目标。
基于以上,本发明构建了一种多变量解耦的全局能量管理方法。该方法的示意图如图2所示,将三个任务队列参数TQSM、TQMEM和TQICNT以及fSM、fMEM和fICNT输入到这个基于全局的解耦控制器中。控制器会输出三个工作频率控制信号C1,C2和C3,分别对三个模块进行工作频率的实时控制。从图中可以看到,这种控制方式对控制模块进行了通盘考虑,模块的能量管理是关联的,可以实现基于全局的能量自适应控制。因为使用了任务队列作为控制参数,这种调整也是具有kernel-based的属性。
基于全局的解耦控制器是一个PIDNN控制器,它的结构如下图3所示,它是多变量的解耦控制器,PIDNN控制器包括三组PID控制器。每组控制器的核心是隐含层的P,I,D神经元函数。这些神经元函数既有静态又有动态的,因此具有良好的解耦功能。这三组控制器通过V,W两级网络形成了基于全局的神经网络控制。
每个模块的工作频率是由对应的PID进行控制的。本发明把每个模块的任务队列TQi做为控制信号输入r1i,同时把每个模块的工作频率fi(k)作为反馈输入r2i,通过V,W两级网络就可以得到相应模块的控制信号Ci实现全局解耦控制。
具体过程如下:
(a)输入层:每个神经元输入和输出相同:
rii(k)=TQi(k),r2i(k)=fi(k) (2)
(b)隐藏层:每个神经元的输入:
(c)输出层:
每个控制单元输出:cn(k)=xxn(k) (6)
式中,i=1,2;j=1,2,3;n∈(1,3)
基于全局的解耦自适应控制机制包括2个步骤。首先构建PIDNN的V,W两级网络的初始权重。并将控制信号和反馈信号输入PIDNN网络。接着通过反向传播进行自适应学习,自动地对V,W连接权重进行实时调整,从而实现能量控制。
本发明提供一种基于全局解耦的GPU内部能耗控制系统,如图4所示,该系统模型中有两块GPU,他们通过CPU进行通信。各个模块的描述如下:
Master-GPU:是主控GPU,由它运行全局解耦网络,并生成三组控制信号号CSM,CICNT,CMEM对另一块GPU进行全局能耗控制。
Slave-GPU:本发明称它为被控GPU。它的能耗模块也为三组,分别是SM计算模块、MEM(Memory)模块和ICNT(Interconnection Network)模块,主控GPU产生的三组控制信号将对这三个模块的频率fSM,fMEM,fICNT进行实时全局控制。
其中,Master-Slave模式的工作过程与基于FPGA的模式类似,也有三个步骤。
(1)CPU从GPU中实时获取3个能量模块(SMs、MEM、ICNT)的三组特征信号{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT},并通过系统总线传输到Master-GPU中。
(2)Master-GPU接受这3组特征信号,并利用在其内部运行的PIDNN神经,根据MPIDNN网络的控制律和权值修正算法实时生成三组控制信号CSM,CICNT,CMEM。
(3)CPU通过函数获取三组控制信号,并由CPU调用接口,对GPU的工作频率fSM,fMEM,fICNT进行实时解耦控制。
本发明还提供一种基于全局解耦的GPU内部能耗控制方法,包括以下步骤:
步骤1:Slave_GPU模块开始运行进程的任务,并通过函数Run_Benchmarks()通知CPU;
步骤2:CPU收到通知,并用Start_Master_Gpu()命令Master_GPU开始工作,Master_GPU首先通过Init_PIDNN()对全局解耦控制器进行初始化,并等待CPU传过来的特征信号;
步骤3:CPU从Slave_GPU模块内部抽取特征信号,并通过Get_Slave_CharcSeg()函数得到Slave_GPU模块的三个能耗模块的三组特征信号,{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT},并通过Send_CharcSeg_To_Master()函数将三组特征信号传给Master_GPU模块;
步骤4:Master_GPU模块收到特征信号后运行Calculate_Contlsig()方法,该方法包括用Control_law()函数计算全局解耦网络的控制律并用Weight_correc()函数进行参数修正,然后用return(ContlSignls)返回三组控制参数CSM,CICNT,CMEM给CUP;
步骤5:CPU用三组控制参数Get_Contrl_Signals()函数得到三组控制参数CSM,CICNT,CMEM并传递给Slave_GPU模块;
步骤6:Slave_GPU模块用Change_Slave_FrqSeg()函数实时改变Slave_GPU内部能耗模块的工作频率。
其中CPU负责主从两块GPU之间的通信。它从Slave-GPU抽取特征信号{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT},并把它们交给Master-GPU;当Master-GPU生产了实时控制信号,它负责把控制信号交给Slave-GPU,从而实现对Slave-GPU的能耗优化工作。
在CPU中运行,它有三个任务。第一是给Master_GPU发启动信号,通知Master_GPU进入工作状态,;第二是负责两个GPU中的信号传输,这包括从Slave_GPU获得三组特征信号,并且从Master_GPU中得到控制信号并把它们传送给Slave_GPU。第三个任务是利用得到的控制信号改变Slave_GPU内部的三个能耗模块的工作频率实现能耗优化。
Master_GPU Thread:主控GPU进程,它主要负责初始化初始化PIDNN神经网络,并且通过计算产生三组控制信号。
Slave_GPU Thread:受控GPU进程,它主要负责运行基准测试程序,另外它还负责从CPU中接收控制信号,并用它们来改变自己的工作状态。
本发明全局解耦实时控制有以下三个优势:
(1)MPIDNN具有较强的非线性函数逼近能力,因此有很好的解耦特性。
(2)MPIDNN能够识别环境条件的变化,并能通过对参数的自动校正使系统达到最优或次优的控制效果,有很好的学习能力和自适应特性。
(3)MPIDNN是基于神经网络的模糊控制,这种方法不需要给出控制系统精确的控制决策模型和相关参数就能达到协同解耦控制的要求。
仿真
运行环境与参变量
本申请用模拟器来模拟英伟达的GTX480[1],并分别测试全局能量控制方法与局部能量控制方法对GPU整体吞吐率的提升以及两种方法对的GPU能耗下降的影响。
使用GPGPUsimV3.2.2模拟器构建了全局解耦控制器,其环境参数设置如表1。
表1
对于基于全局的能量管理,本发明设置每隔1000个时钟周期对3个能量模块的控制信号{TQSM,TQMEM,TQICNT}和受控信号{fSM,fMEM,fICNT}采集一次,每批50个采样点。使用后向传播算法调整V和W的网络权值,设学习步长η=0.01,经过n0=100步训练和学习后得到一个相对稳定的全局能量控制器。
全局解耦能量控制与局部能量控制性能提升对比:
为了说明全局解耦能量管理方法对GPU性能的提升效果,本发明用12个benchmarks对基于局部和基于全局的GPU吞吐率进行了测试,测试结果如表2所示。
表2
基于全局的能量管理相较于基于局部的方式,在吞吐量上最高提升了19.64%(Page View Count基准程序);最低也提升了6.42%(Needleman-Wunsch基准程序)。所有基准程序的提升均值为12.23%。说明相较于基于局部的方式,基于全局的能量管理方法对体系性能的提升更大。
为了说明该控制方法对降低GPU能耗达到的效果,本发明用GPUWattch[11]分别对基准程序进行了能耗测试,结果如下表3所示。通过这种方法,对Page View Count基准程序的能耗表现提升了24.28%,对Needleman-Wunsch基准程序能耗表现提升了7.32%。所有基准程序的能耗表现提升均值为16.38%。
表3
这两个对比试说明基于全局耦合能量管理方法不仅在降低系统能耗,同时也在提高系统的计算性能方面都比基于局部的方式更好。
另外,基于全局的方法对系统性能和能耗控制的提升是有相关行的。本发明对这两种提升进行了分析,这说明该方法对系统性能的提升越明显,对能耗的控制效果相应也就越明显。
基于局部的DVFS能量管理方法不能对异构系统中的多个能量模块进行有效的协同控制,本发明利用PIDNN构建了一种基于全局的多能量模块解耦控制方法。通过这种方法,本发明实现了对GPU系统进行全局协同控制,并且实现了对GPU的kernel-based自适应调整。通过仿真,本发明验证了全局解耦控制相对局部控制的优势。目前,越来越多的高性能计算是基于异构系统的。本发明利用全局解耦技术对异构系统的能量控制做了一些探索,希望这些工作能为高性能计算的能量控制带来新的思路。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神。
Claims (3)
1.一种基于全局解耦的GPU内部能耗控制系统,其特征在于,包括:Master-GPU模块、Slave-GPU模块、CPU;
所述Master-GPU是主控GPU,由它运行全局解耦网络,并生成三组控制信号CSM,CICNT,CMEM,通过该三组控制信号对Slave-GPU模块进行全局能耗控制;
所述Slave-GPU为被控GPU,包括三组能耗模块,分别是SM计算模块、MEM模块和ICNT模块,主控GPU产生的三组控制信号将分别对这三个模块的频率fSM,fMEM,fICNT进行实时全局控制;
CPU,用于负责主从两块GPU之间的通信,它从Slave-GPU抽取特征信号{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT},并把它们交给Master-GPU;当Master-GPU生产了实时控制信号CSM,CICNT,CMEM,它负责把所述三组控制信号交给Slave-GPU,从而实现对Slave-GPU的能耗优化工作;
{TQSM,TQMEM,TQICNT}:分别是CPU中SM模块,MEM模块,ICNT模块中提取的工作队列参数;
{fSM,fMEM,fICNT}:分别是GPU中SM模块,MEM模块,ICNT模块的工作频率参数;
所述Master-GPU模块包括:
初始化单元,用于当其接收到CPU发送的初始化命令后,通过Init_PIDNN()对全局解耦控制器进行初始化,并等待CPU传过来的特征信号;
获取单元,用于通过CPU实时获取所述三组能耗模块的三组特征信号{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT};
参数修正单元,用于接收获取单元的所述三组特征信号{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT},并利用在其内部运行的PIDNN神经,根据MPIDNN网络的控制律和权值修正算法实时修正生成三组控制信号CSM,CICNT,CMEM;
发送单元,用于将参数修正单元产生的三组控制信号CSM,CICNT,CMEM传送给CPU。
2.根据权利要求1所述的基于全局解耦的GPU内部能耗控制系统,其特征在于,所述Slave-GPU模块包括:
启动单元,用于当Slave-GPU模块开始运行进程任务时,给CPU发送一个启动任务的命令以供CPU命令Master-GPU模块开始初始化;
特征信号产生单元,用于通过所述三组能耗模块产生三组特征信号{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT},并将其传送给CPU;
解耦控制单元,用于根据Master-GPU产生的控制信号CSM,CICNT,CMEM对所述三组能耗模块的工作频率fSM,fMEM,fICNT进行实时解耦控制。
3.一种基于全局解耦的GPU内部能耗控制方法,其特征在于,包括以下步骤:
步骤1:Slave_GPU模块开始运行进程的任务,并通过函数Run_Benchmarks()通知CPU;
步骤2:CPU收到通知,并用Start_Master_Gpu()命令Master_GPU开始工作,Master_GPU首先通过Init_PIDNN()对全局解耦控制器进行初始化,并等待CPU传过来的特征信号;
步骤3:CPU从Slave_GPU模块内部抽取特征信号,并通过Get_Slave_CharcSeg()函数得到Slave_GPU模块的三个能耗模块的三组特征信号,{TQSM,TQMEM,TQICNT}和{fSM,fMEM,fICNT},并通过Send_CharcSeg_To_Master()函数将三组特征信号传给Master_GPU模块;
步骤4:Master_GPU模块收到特征信号后运行Calculate_Contlsig()方法,该方法包括用Control_law()函数计算全局解耦网络的控制律并用Weight_correc()函数进行参数修正,然后用return(ContlSignls)返回三组控制参数CSM,CICNT,CMEM给CUP;
步骤5:CPU用三组控制参数Get_Contrl_Signals()函数得到三组控制参数CSM,CICNT,CMEM并传递给Slave_GPU模块;
步骤6:Slave_GPU模块用Change_Slave_FrqSeg()函数实时改变Slave_GPU内部能耗模块的工作频率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811583968.6A CN109753134B (zh) | 2018-12-24 | 2018-12-24 | 一种基于全局解耦的gpu内部能耗控制系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811583968.6A CN109753134B (zh) | 2018-12-24 | 2018-12-24 | 一种基于全局解耦的gpu内部能耗控制系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753134A CN109753134A (zh) | 2019-05-14 |
CN109753134B true CN109753134B (zh) | 2022-04-15 |
Family
ID=66402927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811583968.6A Expired - Fee Related CN109753134B (zh) | 2018-12-24 | 2018-12-24 | 一种基于全局解耦的gpu内部能耗控制系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753134B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7633505B1 (en) * | 2004-11-17 | 2009-12-15 | Nvidia Corporation | Apparatus, system, and method for joint processing in graphics processing units |
CN101894051A (zh) * | 2010-07-29 | 2010-11-24 | 中国科学技术大学 | 基于主辅数据结构的cpu-gpu合作计算方法 |
CN101901042A (zh) * | 2010-08-27 | 2010-12-01 | 上海交通大学 | 多gpu系统中基于动态任务迁移技术的降功耗方法 |
CN102855133A (zh) * | 2011-07-01 | 2013-01-02 | 云联(北京)信息技术有限公司 | 一种计算机处理单元交互式系统 |
CN102959865A (zh) * | 2010-06-30 | 2013-03-06 | 超威半导体公司 | 静电放电电路 |
TW201432566A (zh) * | 2013-02-04 | 2014-08-16 | Hon Hai Prec Ind Co Ltd | 圖形處理器擴展卡及擴展方法 |
CN105677486A (zh) * | 2016-01-08 | 2016-06-15 | 上海交通大学 | 数据并行处理方法及系统 |
CN105934745A (zh) * | 2013-12-31 | 2016-09-07 | 微软技术许可有限责任公司 | 多模游戏服务器 |
CN106371890A (zh) * | 2016-08-29 | 2017-02-01 | 山东乾云启创信息科技股份有限公司 | 一种gpu的模拟方法 |
CN106406977A (zh) * | 2016-08-26 | 2017-02-15 | 山东乾云启创信息科技股份有限公司 | 一种gpu虚拟化实现系统及方法 |
CN106708626A (zh) * | 2016-12-20 | 2017-05-24 | 北京工业大学 | 一种面向低功耗的异构多核共享cache划分方法 |
CN107122241A (zh) * | 2016-02-25 | 2017-09-01 | 深圳市知穹科技有限公司 | 基于cpu和gpu的数据库防火墙系统和其的控制方法 |
CN107148072A (zh) * | 2017-04-27 | 2017-09-08 | 上海斐讯数据通信技术有限公司 | 一种智能终端应用的目标资源参数的获取方法及系统 |
CN107465929A (zh) * | 2017-07-21 | 2017-12-12 | 山东大学 | 基于hevc的dvfs控制方法、系统、处理器及存储设备 |
CN107533469A (zh) * | 2015-05-29 | 2018-01-02 | 英特尔公司 | 对图形处理单元资源的容器访问 |
CN107704071A (zh) * | 2017-10-09 | 2018-02-16 | 晶晨半导体(上海)股份有限公司 | 一种应用于arm系统的分场景合并供电方法 |
CN107861606A (zh) * | 2017-11-21 | 2018-03-30 | 北京工业大学 | 一种通过协调dvfs和任务映射的异构多核功率封顶方法 |
CN108710536A (zh) * | 2018-04-02 | 2018-10-26 | 上海交通大学 | 一种多层次细粒度的虚拟化gpu调度优化方法 |
-
2018
- 2018-12-24 CN CN201811583968.6A patent/CN109753134B/zh not_active Expired - Fee Related
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7633505B1 (en) * | 2004-11-17 | 2009-12-15 | Nvidia Corporation | Apparatus, system, and method for joint processing in graphics processing units |
CN102959865A (zh) * | 2010-06-30 | 2013-03-06 | 超威半导体公司 | 静电放电电路 |
CN101894051A (zh) * | 2010-07-29 | 2010-11-24 | 中国科学技术大学 | 基于主辅数据结构的cpu-gpu合作计算方法 |
CN101901042A (zh) * | 2010-08-27 | 2010-12-01 | 上海交通大学 | 多gpu系统中基于动态任务迁移技术的降功耗方法 |
CN102855133A (zh) * | 2011-07-01 | 2013-01-02 | 云联(北京)信息技术有限公司 | 一种计算机处理单元交互式系统 |
TW201432566A (zh) * | 2013-02-04 | 2014-08-16 | Hon Hai Prec Ind Co Ltd | 圖形處理器擴展卡及擴展方法 |
CN105934745A (zh) * | 2013-12-31 | 2016-09-07 | 微软技术许可有限责任公司 | 多模游戏服务器 |
CN107533469A (zh) * | 2015-05-29 | 2018-01-02 | 英特尔公司 | 对图形处理单元资源的容器访问 |
CN105677486A (zh) * | 2016-01-08 | 2016-06-15 | 上海交通大学 | 数据并行处理方法及系统 |
CN107122241A (zh) * | 2016-02-25 | 2017-09-01 | 深圳市知穹科技有限公司 | 基于cpu和gpu的数据库防火墙系统和其的控制方法 |
CN106406977A (zh) * | 2016-08-26 | 2017-02-15 | 山东乾云启创信息科技股份有限公司 | 一种gpu虚拟化实现系统及方法 |
CN106371890A (zh) * | 2016-08-29 | 2017-02-01 | 山东乾云启创信息科技股份有限公司 | 一种gpu的模拟方法 |
CN106708626A (zh) * | 2016-12-20 | 2017-05-24 | 北京工业大学 | 一种面向低功耗的异构多核共享cache划分方法 |
CN107148072A (zh) * | 2017-04-27 | 2017-09-08 | 上海斐讯数据通信技术有限公司 | 一种智能终端应用的目标资源参数的获取方法及系统 |
CN107465929A (zh) * | 2017-07-21 | 2017-12-12 | 山东大学 | 基于hevc的dvfs控制方法、系统、处理器及存储设备 |
CN107704071A (zh) * | 2017-10-09 | 2018-02-16 | 晶晨半导体(上海)股份有限公司 | 一种应用于arm系统的分场景合并供电方法 |
CN107861606A (zh) * | 2017-11-21 | 2018-03-30 | 北京工业大学 | 一种通过协调dvfs和任务映射的异构多核功率封顶方法 |
CN108710536A (zh) * | 2018-04-02 | 2018-10-26 | 上海交通大学 | 一种多层次细粒度的虚拟化gpu调度优化方法 |
Non-Patent Citations (1)
Title |
---|
"基于飞腾平台的GPU图形加速驱动设计与实现";李荣振 等;《计算机工程与应用》;20140301;第126-131页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109753134A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Coordinated load frequency control of multi-area integrated energy system using multi-agent deep reinforcement learning | |
CN110070181A (zh) | 一种用于边缘计算设备的深度学习的优化方法 | |
CN113193556B (zh) | 基于概率预测模型的短期风电功率预测方法 | |
CN111065999B (zh) | 移动设备的功率状态控制 | |
KR20190076628A (ko) | 보상 제어기를 이용한 강화 학습 방법 및 이를 위한 장치 | |
CN109494721A (zh) | 一种适用于含柔性多状态开关的配电网分布式自适应控制方法 | |
CN115314343A (zh) | 一种源荷储资源聚合控制网关装置及负荷和出力预测方法 | |
CN113988358A (zh) | 基于迁移强化学习的碳排放指数预测与治理方法 | |
CN109753134B (zh) | 一种基于全局解耦的gpu内部能耗控制系统及方法 | |
Li et al. | Data‐driven cooperative load frequency control method for microgrids using effective exploration‐distributed multi‐agent deep reinforcement learning | |
Song et al. | Adaptive and collaborative edge inference in task stream with latency constraint | |
CN106712057A (zh) | 电力系统稳定器与静止无功补偿器的协调优化方法 | |
CN111224427A (zh) | 一种微电网自适应反孤岛扰动负载阻抗值预测方法及装置 | |
Yin et al. | Reduced-dimensional skip-inception feature-aggregated classified proportional-integral-derivative for suppression of mixed-mode oscillations in hydropower units | |
CN114676632A (zh) | 一种电力专用芯片能耗预测方法、装置和计算机设备 | |
CN115251446A (zh) | 一种基于边缘计算单元的烘丝机动态调优控制方法及装置 | |
US11436060B2 (en) | Proactive management of inter-GPU network links | |
CN111026258B (zh) | 处理器及降低电源纹波的方法 | |
Wang et al. | Resource allocation algorithm for MEC based on Deep Reinforcement Learning | |
CN113721456A (zh) | 控制模型的训练方法、装置、计算机设备及存储介质 | |
Yu et al. | An energy optimization algorithm for data centers based on deep q-learning with multi-source energy | |
Zhang et al. | Two strategy cooperative particle swarm optimization algorithm with independent parameter adjustment and its application | |
CN115009278B (zh) | 一种巡航控制方法、装置、设备及存储介质 | |
Li et al. | A 681 GOPS/W~ 3.59 TOPS/W CNN Accelerator Based on Novel Data Flow Scheduling Scheme | |
CN110308655A (zh) | 一种基于a3c算法的伺服系统补偿方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220415 |