本公开涉及电数字数据处理,尤其涉及一种用于gpu的功耗控制方法、用于gpu的功耗控制装置、电子设备和存储介质。
背景技术:
1、gpu(graphics processing unit,图形处理器)是一种高性能、高功耗的图像处理器。在gpu运行过程中,要保证gpu的功耗在安全和合理的范围内,否则有损坏芯片和降低性能的风险。
技术实现思路
1、本公开提供了一种用于gpu的功耗控制技术方案。
2、根据本公开的一方面,提供了一种用于gpu的功耗控制方法,包括:
3、获得gpu的当前功耗以及所述gpu在第一预设时长内的平均功耗;
4、获取所述gpu的目标功耗;
5、根据所述当前功耗和所述目标功耗,确定所述gpu的第一候选工作频率;
6、将所述gpu在所述第一预设时长内的平均功耗和所述目标功耗输入比例积分微分控制器,经由所述比例积分微分控制器输出所述gpu的第二候选工作频率;
7、根据所述第一候选工作频率和所述第二候选工作频率,确定所述gpu的目标工作频率。
8、在一种可能的实现方式中,所述目标功耗包括第一目标功耗和第二目标功耗,且所述第一目标功耗高于所述第二目标功耗;
9、所述根据所述当前功耗和所述目标功耗,确定所述gpu的第一候选工作频率,包括:根据所述当前功耗和所述第一目标功耗,确定所述gpu的第一候选工作频率;
10、所述将所述gpu在所述第一预设时长内的平均功耗和所述目标功耗输入比例积分微分控制器,经由所述比例积分微分控制器输出所述gpu的第二候选工作频率,包括:将所述gpu在所述第一预设时长内的平均功耗和所述第二目标功耗输入比例积分微分控制器,经由所述比例积分微分控制器输出所述gpu的第二候选工作频率。
11、在一种可能的实现方式中,所述根据所述当前功耗和所述目标功耗,确定所述gpu的第一候选工作频率,包括:
12、获取所述gpu的静态功耗和所述gpu的当前工作频率;
13、根据所述当前功耗、所述目标功耗和所述静态功耗,确定当前比例系数;
14、根据所述当前工作频率和所述当前比例系数,确定所述gpu的第一候选工作频率。
15、在一种可能的实现方式中,获得gpu在第一预设时长内的平均功耗,包括:
16、对在所述第一预设时长内获得的所述gpu的各功耗值求平均值,得到所述gpu在所述第一预设时长内的平均功耗。
17、在一种可能的实现方式中,所述对在所述第一预设时长内获得的所述gpu的各功耗值求平均值,得到所述gpu在所述第一预设时长内的平均功耗,包括:
18、响应于所述第一预设时长小于或等于时长阈值,对在所述第一预设时长内获得的所述gpu的各功耗值求平均值,得到所述gpu在所述第一预设时长内的平均功耗。
19、在一种可能的实现方式中,获得gpu在第一预设时长内的平均功耗,包括:
20、获取所述gpu在上一时刻对应的平均功耗;
21、根据所述gpu在所述上一时刻对应的平均功耗,以及所述gpu的当前功耗,确定所述gpu在所述第一预设时长内的平均功耗。
22、在一种可能的实现方式中,所述根据所述gpu在所述上一时刻对应的平均功耗,以及所述gpu的当前功耗,确定所述gpu在所述第一预设时长内的平均功耗,包括:
23、响应于所述第一预设时长大于时长阈值,根据所述gpu在所述上一时刻对应的平均功耗,以及所述gpu的当前功耗,确定所述gpu在所述第一预设时长内的平均功耗。
24、在一种可能的实现方式中,所述获得gpu的当前功耗,包括:
25、获取所述gpu在第二预设时长内的采样功耗,其中,所述第二预设时长小于所述第一预设时长;
26、对所述第二预设时长内的采样功耗进行滤波,得到所述gpu的当前功耗。
27、在一种可能的实现方式中,所述根据所述第一候选工作频率和所述第二候选工作频率,确定所述gpu的目标工作频率,包括:
28、将所述第一候选工作频率和所述第二候选工作频率中的较小值,确定为所述gpu的目标工作频率。
29、在一种可能的实现方式中,所述根据所述当前工作频率和所述当前比例系数,确定所述gpu的第一候选工作频率,包括:
30、响应于所述gpu处于第一功耗控制状态,根据所述当前工作频率和所述当前比例系数,确定所述gpu的第一候选工作频率。
31、在一种可能的实现方式中,所述方法还包括:
32、响应于所述gpu不处于所述第一功耗控制状态,且所述当前功耗大于或等于第一预设控制功耗,确定所述gpu进入所述第一功耗控制状态;
33、或者,
34、响应于所述gpu不处于所述第一功耗控制状态,且所述当前功耗小于所述第一预设控制功耗,确定所述gpu不处于所述第一功耗控制状态。
35、在一种可能的实现方式中,所述方法还包括:
36、响应于所述gpu处于所述第一功耗控制状态,且所述gpu的功耗小于第一预设退出功耗的连续次数未达到第一预设次数,确定所述gpu继续处于所述第一功耗控制状态,其中,所述第一预设次数大于1;
37、或者,
38、响应于所述gpu处于所述第一功耗控制状态,所述当前功耗小于所述第一预设退出功耗,且所述gpu的功耗小于所述第一预设退出功耗的连续次数达到所述第一预设次数,确定所述gpu退出所述第一功耗控制状态。
39、在一种可能的实现方式中,所述将所述gpu在所述第一预设时长内的平均功耗和所述目标功耗输入比例积分微分控制器,经由所述比例积分微分控制器输出所述gpu的第二候选工作频率,包括:
40、响应于所述gpu处于第二功耗控制状态,将所述gpu在所述第一预设时长内的平均功耗和所述目标功耗输入比例积分微分控制器,经由所述比例积分微分控制器输出所述gpu的第二候选工作频率。
41、在一种可能的实现方式中,所述方法还包括:
42、响应于所述gpu不处于所述第二功耗控制状态,且所述gpu在所述第一预设时长内的平均功耗大于或等于第二预设控制功耗,确定所述gpu进入所述第二功耗控制状态;
43、或者,
44、响应于所述gpu不处于所述第二功耗控制状态,且所述gpu在所述第一预设时长内的平均功耗小于所述第二预设控制功耗,确定所述gpu不处于所述第二功耗控制状态。
45、在一种可能的实现方式中,所述方法还包括:
46、响应于所述gpu处于所述第二功耗控制状态,且所述gpu的平均功耗小于第二预设退出功耗的连续次数未达到第二预设次数,确定所述gpu继续处于所述第二功耗控制状态,其中,所述第二预设次数大于1;
47、或者,
48、响应于所述gpu处于所述第二功耗控制状态,所述gpu在所述第一预设时长内的平均功耗小于所述第二预设退出功耗,且所述gpu的平均功耗小于所述第二预设退出功耗的连续次数达到所述第二预设次数,确定所述gpu退出所述第二功耗控制状态。
49、根据本公开的一方面,提供了一种用于gpu的功耗控制装置,包括:
50、第一获得模块,用于获得gpu的当前功耗以及所述gpu在第一预设时长内的平均功耗;
51、获取模块,用于获取所述gpu的目标功耗;
52、第一确定模块,用于根据所述当前功耗和所述目标功耗,确定所述gpu的第一候选工作频率;
53、第二获得模块,用于将所述gpu在所述第一预设时长内的平均功耗和所述目标功耗输入比例积分微分控制器,经由所述比例积分微分控制器输出所述gpu的第二候选工作频率;
54、第二确定模块,用于根据所述第一候选工作频率和所述第二候选工作频率,确定所述gpu的目标工作频率。
55、在一种可能的实现方式中,所述目标功耗包括第一目标功耗和第二目标功耗,且所述第一目标功耗高于所述第二目标功耗;
56、所述第一确定模块用于:根据所述当前功耗和所述第一目标功耗,确定所述gpu的第一候选工作频率;
57、所述第二获得模块用于:将所述gpu在所述第一预设时长内的平均功耗和所述第二目标功耗输入比例积分微分控制器,经由所述比例积分微分控制器输出所述gpu的第二候选工作频率。
58、在一种可能的实现方式中,所述第一确定模块用于:
59、获取所述gpu的静态功耗和所述gpu的当前工作频率;
60、根据所述当前功耗、所述目标功耗和所述静态功耗,确定当前比例系数;
61、根据所述当前工作频率和所述当前比例系数,确定所述gpu的第一候选工作频率。
62、在一种可能的实现方式中,所述第一获得模块用于:
63、对在所述第一预设时长内获得的所述gpu的各功耗值求平均值,得到所述gpu在所述第一预设时长内的平均功耗。
64、在一种可能的实现方式中,所述第一获得模块用于:
65、响应于所述第一预设时长小于或等于时长阈值,对在所述第一预设时长内获得的所述gpu的各功耗值求平均值,得到所述gpu在所述第一预设时长内的平均功耗。
66、在一种可能的实现方式中,所述第一获得模块用于:
67、获取所述gpu在上一时刻对应的平均功耗;
68、根据所述gpu在所述上一时刻对应的平均功耗,以及所述gpu的当前功耗,确定所述gpu在所述第一预设时长内的平均功耗。
69、在一种可能的实现方式中,所述第一获得模块用于:
70、响应于所述第一预设时长大于时长阈值,根据所述gpu在所述上一时刻对应的平均功耗,以及所述gpu的当前功耗,确定所述gpu在所述第一预设时长内的平均功耗。
71、在一种可能的实现方式中,所述第一获得模块用于:
72、获取所述gpu在第二预设时长内的采样功耗,其中,所述第二预设时长小于所述第一预设时长;
73、对所述第二预设时长内的采样功耗进行滤波,得到所述gpu的当前功耗。
74、在一种可能的实现方式中,所述第二确定模块用于:
75、将所述第一候选工作频率和所述第二候选工作频率中的较小值,确定为所述gpu的目标工作频率。
76、在一种可能的实现方式中,所述第一确定模块用于:
77、响应于所述gpu处于第一功耗控制状态,根据所述当前工作频率和所述当前比例系数,确定所述gpu的第一候选工作频率。
78、在一种可能的实现方式中,所述装置还包括:
79、第三确定模块,用于响应于所述gpu不处于所述第一功耗控制状态,且所述当前功耗大于或等于第一预设控制功耗,确定所述gpu进入所述第一功耗控制状态;
80、或者,
81、第四确定模块,用于响应于所述gpu不处于所述第一功耗控制状态,且所述当前功耗小于所述第一预设控制功耗,确定所述gpu不处于所述第一功耗控制状态。
82、在一种可能的实现方式中,所述装置还包括:
83、第五确定模块,用于响应于所述gpu处于所述第一功耗控制状态,且所述gpu的功耗小于第一预设退出功耗的连续次数未达到第一预设次数,确定所述gpu继续处于所述第一功耗控制状态,其中,所述第一预设次数大于1;
84、或者,
85、第六确定模块,用于响应于所述gpu处于所述第一功耗控制状态,所述当前功耗小于所述第一预设退出功耗,且所述gpu的功耗小于所述第一预设退出功耗的连续次数达到所述第一预设次数,确定所述gpu退出所述第一功耗控制状态。
86、在一种可能的实现方式中,所述第二获得模块用于:
87、响应于所述gpu处于第二功耗控制状态,将所述gpu在所述第一预设时长内的平均功耗和所述目标功耗输入比例积分微分控制器,经由所述比例积分微分控制器输出所述gpu的第二候选工作频率。
88、在一种可能的实现方式中,所述装置还包括:
89、第七确定模块,用于响应于所述gpu不处于所述第二功耗控制状态,且所述gpu在所述第一预设时长内的平均功耗大于或等于第二预设控制功耗,确定所述gpu进入所述第二功耗控制状态;
90、或者,
91、第八确定模块,用于响应于所述gpu不处于所述第二功耗控制状态,且所述gpu在所述第一预设时长内的平均功耗小于所述第二预设控制功耗,确定所述gpu不处于所述第二功耗控制状态。
92、在一种可能的实现方式中,所述装置还包括:
93、第九确定模块,用于响应于所述gpu处于所述第二功耗控制状态,且所述gpu的平均功耗小于第二预设退出功耗的连续次数未达到第二预设次数,确定所述gpu继续处于所述第二功耗控制状态,其中,所述第二预设次数大于1;
94、或者,
95、第十确定模块,用于响应于所述gpu处于所述第二功耗控制状态,所述gpu在所述第一预设时长内的平均功耗小于所述第二预设退出功耗,且所述gpu的平均功耗小于所述第二预设退出功耗的连续次数达到所述第二预设次数,确定所述gpu退出所述第二功耗控制状态。
96、根据本公开的一方面,提供了一种电子设备,包括:一个或多个处理器;用于存储可执行指令的存储器;其中,所述一个或多个处理器被配置为调用所述存储器存储的可执行指令,以执行上述方法。
97、根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
98、根据本公开的一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述方法。
99、在本公开实施例中,通过获得gpu的当前功耗以及所述gpu在第一预设时长内的平均功耗,获取所述gpu的目标功耗,根据所述当前功耗和所述目标功耗,确定所述gpu的第一候选工作频率,将所述gpu在所述第一预设时长内的平均功耗和所述目标功耗输入比例积分微分控制器,经由所述比例积分微分控制器输出所述gpu的第二候选工作频率,并根据所述第一候选工作频率和所述第二候选工作频率,确定所述gpu的目标工作频率,由此基于gpu的当前功耗对gpu进行功耗控制,能够提高功耗控制的响应速度,减少过高的功耗对芯片的损害,从而能够提高gpu的安全性和性能,并且,通过关注到较长时间内gpu的平均功耗,并通过比例积分微分控制器对gpu的较长时间内的平均功耗进行处理,能够使gpu的工作频率更稳定,从而能够使gpu的性能更稳定。
100、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
101、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。