当前位置: 首页 > 专利查询>四川大学专利>正文

一种基于全局解耦的GPU内部能耗控制系统及方法技术方案

技术编号:21115056 阅读:34 留言:0更新日期:2019-05-16 08:48
本发明专利技术提供一种基于全局解耦的GPU内部能耗控制系统及方法,该系统包括Mater‑GPU模块、Slave‑GPU模块、CPU;Mater‑GPU是主控GPU,由它运行全局解耦网络,并生成三组控制信号,通过该三组控制信号对Slave‑GPU模块进行全局能耗控制;所述Slave‑GPU为被控GPU,CPU,用于负责主从两块GPU之间的通信,从而实现对Slave‑GPU的能耗优化工作。使用基于全局的能量管理方法在系统的吞吐率上平均提高了12.23%,在能耗表现上平均提升了16.38%。

A GPU Internal Energy Consumption Control System and Method Based on Global Decoupling

【技术实现步骤摘要】
一种基于全局解耦的GPU内部能耗控制系统及方法
本专利技术涉及计算机
,尤其涉及一种基于全局解耦的GPU内部能耗控制系统及方法。
技术介绍
随着智能时代的到来,计算机需要处理的数据量级急剧增加。异构系统对大数据量的计算有更好的并行性能,但是异构系统的能量问题却成为了制约高性能计算的瓶颈。目前,DVFS技术被广泛运用在异构系统的能量管理中。DVFS主要是通过调节异构系统中能量模块的工作电压或是工作频率进行能量控制的。目前的DVFS能量控制技术主要有两种策略,一种策略是动态的实时控制策略。这种策略通过对异构系统内部能量状态进行跟踪实现能量控制。另一种策略是通过构建异构系统的能量模型,并通过预测算法对能量模块的工作状态进行调整来实现能量管理。但是以上两种策略都是基于某个能量模块的局部调整。我们知道在异构系统中的各个能量模块并不是独立运行的,模块之间存在任务相关性。对某一模块的能量进行调整很可能会对其他模块的性能产生负面影响。因此,这种基于局部的孤立调整方式往往不能达到预期的整体能量控制目标。并且,这种独立的控制方案会产生耦合效应,影响最终的调整效果。
技术实现思路
本专利技术的目的在于解决上述现有技术存在的缺陷,提供一种能够提高系统能量管理效率的基于全局解耦的GPU内部能耗控制系统及方法。一种基于全局解耦的GPU内部能耗控制系统,包括:Mater-GPU模块、Slave-GPU模块、CPU;所述Mater-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},并把它们交给Mater-GPU;当Mater-GPU生产了实时控制信号CSM,CICNT,CMEM,它负责把所述三组控制信号交给Slave-GPU,从而实现对Slave-GPU的能耗优化工作。进一步地,如上所述的基于全局解耦的GPU内部能耗控制系统,所述Slave-GPU模块模块包括:启动单元,用于当Slave-GPU模块模块开始运行进程任务时,给CPU发送一个启动任务的命令以供CPU命令Mater-GPU模块开始初始化;特征信号产生单元,用于通过所述三组能耗模块产生三组特征信号{TQCM,TQMEM,TQICNT}和{fCM,fMEM,fICNT},并将其传送给CPU;解耦控制单元,用于根据Mater-GPU产生的控制信号CSM,CICNT,CMEM对所述三组能耗模块的工作频率fSM_1,fMEM_1,fICNT_1进行实时解耦控制。进一步地,如上所述的基于全局解耦的GPU内部能耗控制系统,所述Mater-GPU模块包括:初始化单元,用于当其接收到CPU发送的初始化命令后,通过Init_PIDNN()对全局解耦控制器进行初始化,并等待CPU传过来的特征信号;获取单元,用于通过CPU实时获取所述三组能耗模块的三组特征信号{TQCM,TQMEM,TQICNT}和{fCM,fMEM,fICNT};参数修正单元,用于接收获取单元的所述三组特征信号{TQCM,TQMEM,TQICNT}和{fCM,fMEM,fICNT},并利用在其内部运行的PIDNN神经,根据MPIDNN网络的控制律和权值修正算法实时修正生成三组控制信号CSM,CICNT,CMEM;发送单元,用于将参数修正单元产生的三组控制信号CSM,CICNT,CMEM传送给CPU。一种基于全局解耦的GPU内部能耗控制方法,包括以下步骤:步骤1:Slave_GPU模块开始运行进程的任务,并通过函数Run_Benchmarks()通知CPU;步骤2:CPU收到通知,并用Start_Master_Gpu()命令Mater_GPU开始工作,Mater_GPU首先通过Init_PIDNN()对全局解耦控制器进行初始化,并等待CPU传过来的特征信号;步骤3:CPU从Slave_GPU模块内部抽取特征信号,并通过Get_Slave_CharcSeg()函数得到Slave_GPU模块的三个能耗模块的三组特征信号,{TQCM,TQMEM,TQICNT}和{fCM,fMEM,fICNT},并通过Send_CharcSeg_To_Master()函数将三组特征信号传给Mater_GPU模块;步骤4:Mater_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访问失败,需要对这个全局内存进行访存操作。另外,如果需要共享某个S本文档来自技高网...

【技术保护点】
1.一种基于全局解耦的GPU内部能耗控制系统,其特征在于,包括:Mater‑GPU模块、Slave‑GPU模块、CPU;所述Mater‑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},并把它们交给Mater‑GPU;当Mater‑GPU生产了实时控制信号CSM,CICNT,CMEM,它负责把所述三组控制信号交给Slave‑GPU,从而实现对Slave‑GPU的能耗优化工作。

【技术特征摘要】
1.一种基于全局解耦的GPU内部能耗控制系统,其特征在于,包括:Mater-GPU模块、Slave-GPU模块、CPU;所述Mater-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},并把它们交给Mater-GPU;当Mater-GPU生产了实时控制信号CSM,CICNT,CMEM,它负责把所述三组控制信号交给Slave-GPU,从而实现对Slave-GPU的能耗优化工作。2.根据权利要求1所述的基于全局解耦的GPU内部能耗控制系统,其特征在于,所述Slave-GPU模块模块包括:启动单元,用于当Slave-GPU模块模块开始运行进程任务时,给CPU发送一个启动任务的命令以供CPU命令Mater-GPU模块开始初始化;特征信号产生单元,用于通过所述三组能耗模块产生三组特征信号{TQCM,TQMEM,TQICNT}和{fCM,fMEM,fICNT},并将其传送给CPU;解耦控制单元,用于根据Mater-GPU产生的控制信号CSM,CICNT,CMEM对所述三组能耗模块的工作频率fSM_1,fMEM_1,fICNT_1进行实时解耦控制。3.根据权利要求1所述的基于全局解耦的GPU内部能耗控制系统,其特征在于,所述Mater-GPU模块包括:初始化单元,用于当其接收到CPU发送的初始化命令后,通过Init_PIDNN()对全局解耦控制器进行初始化,并等待CPU传过来的特征信号;获取单元,用于通过CPU实时获取所述三组能耗模块的三组特征信号{...

【专利技术属性】
技术研发人员:黄彦辉付国晴李路王兆基旷志寰
申请(专利权)人:四川大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1