一种动态调整FPGA的功耗的方法及装置转让专利

申请号 : CN201910841630.4

文献号 : CN110687997B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄广奎赵红博

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本发明提供一种动态调整FPGA功耗的方法及装置,获取基于预先设置的资源参数对FPGA中的资源进行分配,得到的N个资源组中各个资源组对应的时钟信号的时钟频率,判断各个资源组对应的时钟信号的时钟频率是否满足第一预设范围,若存在不满足第一预设范围的资源组,判断预先设置的资源参数占资源的总参数的比例是否大于预设比例阈值,若是,控制时钟信号对应的资源组关闭,使FPGA产生的功耗等于预设标定功耗,若否,将资源组的时钟信号的时钟频率调节至第一预设范围内,使FPGA产生的功耗等于预设标定功耗。基于本发明,能够使FPGA产生的热量在FGPA加速卡的耐热阈值范围内,以及降低工作量。

权利要求 :

1.一种动态调整FPGA功耗的方法,其特征在于,所述方法包括:基于预先设置的资源参数对FPGA中的资源进行分配,得到N个资源组,其中,所述N个资源组中的每个资源组包括对应的时钟信号,所述N为大于等于1的正整数;

针对于每一个资源组,获取该资源组对应的时钟信号的时钟频率;

判断各个资源组对应的时钟信号的时钟频率是否满足第一预设范围;

若存在时钟信号的时钟频率不满足所述第一预设范围的资源组,判断所述预先设置的资源参数占所述资源总参数的比例是否大于预设比例阈值;

若所述比例大于所述预设比例阈值,控制所述时钟信号对应的资源组关闭,以使得所述FPGA产生的功耗等于预设标定功耗;

若所述比例不大于所述预设比例阈值,将所述资源组的时钟信号的时钟频率调节至所述第一预设范围内,以使得所述FPGA产生的功耗等于预设标定功耗。

2.根据权利要求1所述的方法,其特征在于,所述N个资源组中每个资源组包括对应的信号翻转信号,所述方法还包括:

针对于每一个资源组,获取该资源组对应的信号翻转信号的信号翻转率;

判断各个资源组对应的信号翻转信号的信号翻转率是否满足第二预设范围;

若存在信号翻转信号的信号翻转率不满足所述第二预设范围的资源组,将所述资源组的信号翻转信号的信号翻转率调节至所述第二预设范围内。

3.根据权利要求2所述的方法,其特征在于,所述若信号翻转信号的信号翻转率不满足所述第二预设范围,将所述信号翻转信号的信号翻转率调节至所述第二预设范围内,包括:若存在信号翻转信号的信号翻转率不满足所述第二预设范围的资源组,基于信号翻转控制信号将所述资源组的信号翻转信号的信号翻转率调节至所述第二预设范围内。

4.根据权利要求1所述的方法,其特征在于,所述N个资源组中每个资源组包括的对应的使能信号,若所述比例大于预设比例阈值,控制所述时钟信号对应的资源组关闭,包括:若所述比例大于预设比例阈值,基于时钟控制信号控制所述时钟信号对应的资源组对应的使能信号,以使得所述使能信号控制所述资源组对应的时钟信号无效,控制所述时钟信号对应的资源组关闭。

5.根据权利要求1所述方法,其特征在于,所述若所述比例不大于预设比例阈值,将所述资源组的时钟信号的时钟频率调节至所述第一预设范围内,包括:若所述比例不大于预设比例阈值,基于所述时钟控制信号将所述资源组的时钟信号的时钟频率调节至所述第一预设范围内。

6.一种动态调整FPGA功耗的装置,其特征在于,所述装置包括:分配单元,用于基于预先设置的资源参数对FPGA中的资源进行分配,得到N个资源组,其中,所述N个资源组中的每个资源组包括对应的时钟信号;

第一获取单元,用于针对与每一个资源组,获取该资源组对应的时钟信号的时钟频率;

第一判断单元,用于判断各个资源组对应的时钟信号的时钟频率是否满足第一预设范围;

第二判断单元,用于若存在时钟信号的时钟频率不满足所述第一预设范围的资源组,判断预先设置的资源参数占所述资源的总参数的比例是否大于预设比例阈值;

控制单元,用于若所述比例大于所述预设比例阈值,控制所述时钟信号对应的资源组关闭,以使得所述FPGA产生的功耗等于预设标定功耗;

第一调节单元,用于若所述比例不大于所述预设比例阈值,将所述资源组的时钟信号的时钟频率调节值所述第一预设范围内,以使得所述FPGA产生的功耗等于预设标定功耗。

7.根据权利要求6所述的装置,其特征在于,所述装置还包括:第二获取单元,用于针对与每一个资源组,获取该资源组对应的信号翻转信号的信号翻转率;

第三判断单元,用于判断各个资源组对应的信号翻转信号的信号翻转率是否满足第二预设范围;

第二调节单元,用于若存在信号翻转信号的信号翻转率不满足所述二预设范围的资源组,将所述资源组的信号翻转率调节至所述第二预设范围内。

8.根据权利要求7所述的装置,其特征在于,所述第二调节单元,包括:第二调节子单元,用于若存在信号翻转率不满足所述第二预设范围的资源组,基于信号翻转控制信号将所述资源组的信号翻转信号的信号翻转率调节至所述第二预设范围内。

9.根据权利要求6所述的装置,其特征在于,所述控制单元,包括:控制子单元,用于若所述比例大于所述预设比例阈值,基于时钟控制信号控制所述时钟信号对应的资源组对应的使能信息,以使得所述使能信号控制所述资源组对应的时钟信号无效,控制所述时钟信号对应的资源组关闭。

10.根据权利要求6所述的装置,其特征在于,所述第一调节单元,包括:第一调节单元,用于若所述比例不大于所述预设比例阈值,基于所述时钟控制信号将所述资源组的时钟信号的时钟频率调节至所述第一预设范围内。

说明书 :

一种动态调整FPGA的功耗的方法及装置

技术领域

[0001] 本发明涉及人工智能技术领域,尤其涉及一种动态调整FPGA的功耗的方法及装置。

背景技术

[0002] 随着人工智能产业的迅速发展,使用FPGA加速卡来进行算法加速的应用场景越来越多。为了进一步提高FPGA加速卡的加速能力,FPGA加速卡上使用的FPGA都是由各个厂家
最新推出的具有存储容量高、计算能力高、结构速率高的新型FPGA。但是,由于新型的FPGA
具有DDR4颗粒多、板卡尺寸小、一机多卡等特点,从而在运行过程中,FPGA会产生大量的热
量,导致在运行过程中,难以为FPGA进行散热,导致FPGA加速卡所处的工作环境的温度过
高,从而导致FPGA加速卡无法正常工作。
[0003] 现有的为FPGA的散热方案,通过预先为系统中的各个部件建立仿真模型,在系统开始运行后,通过预先建立各个部件对应的仿真模型对系统进行仿真,得到仿真结果,并根
据仿真结果判断FPGA中的各个部件所产生的热量是否超过FGPA加速卡的耐热阈值范围内,
若超过耐热阈值,则控制系统中的散热器件对FPGA进行散热,比如增大风扇的风力等等。但
是,在对系统中的各个部件建立仿真模型过程中,有些部件的建模过程过于复杂,从而导致
工作难度大,且仿真效果与实际效果偏差大,精准度低。

发明内容

[0004] 有鉴于此,本发明的目的的在于提供一种动态调整FPGA功耗的方法及装置,以解决现有技术在对系统中的各个部件建立仿真模型过程中,有些部件的建模过程过于复杂,
从而导致工作难度大,且仿真效果与实际效果偏差大,精准度低的问题。
[0005] 为实现上述目的,本发明提供如下技术:
[0006] 本发明第一方面公开一种动态调整FPGA功耗的方法,所述方法包括:
[0007] 基于预先设置的资源参数对FPGA中的资源进行分配,得到N个资源组,其中,所述N个资源组中的每个资源组包括对应的时钟信号,所述N为大于等于1的正整数;
[0008] 针对于每一个资源组,获取该资源组对应的时钟信号的时钟频率;
[0009] 判断各个资源组对应的时钟信号的时钟频率是否满足第一预设范围;
[0010] 若存在时钟信号的时钟频率不满足所述第一预设范围的资源组,判断所述预先设置的资源参数占所述资源总参数的比例是否大于预设比例阈值;
[0011] 若所述比例大于所述预设比例阈值,控制所述时钟信号对应的资源组关闭,以使得所述FPGA产生的功耗等于预设标定功耗;
[0012] 若所述比例不大于所述预设比例阈值,将所述资源组的时钟信号的时钟频率调节至所述第一预设范围内,以使得所述FPGA产生的功耗等于预设标定功耗。
[0013] 可选的,所述N个资源组中每个资源组包括对应的信号翻转信号,所述方法还包括:
[0014] 针对于每一个资源组,获取该资源组对应的信号翻转信号的信号翻转率;
[0015] 判断各个资源组对应的信号翻转信号的信号翻转率是否满足第二预设范围;
[0016] 若存在信号翻转信号的信号翻转率不满足所述第二预设范围的资源组,将所述资源组的信号翻转信号的信号翻转率调节至所述第二预设范围内。
[0017] 可选的,所述若信号翻转信号的信号翻转率不满足所述第二预设范围,将所述信号翻转信号的信号翻转率调节至所述第二预设范围内,包括:
[0018] 若存在信号翻转信号的信号翻转率不满足所述第二预设范围的资源组,基于信号翻转控制信号将所述资源组的信号翻转信号的信号翻转率调节至所述第二预设范围内。
[0019] 可选的,所述N个资源组中每个资源组包括的对应的使能信号,若所述比例大于预设比例阈值,控制所述时钟信号对应的资源组关闭,包括:
[0020] 若所述比例大于预设比例阈值,基于时钟控制信号控制所述时钟信号对应的资源组对应的使能信号,以使得所述使能信号控制所述资源组对应的时钟信号无效,控制所述
时钟信号对应的资源组关闭。
[0021] 可选的,所述若所述比例不大于预设比例阈值,将所述资源组的时钟信号的时钟频率调节至所述第一预设范围内,包括:
[0022] 若所述比例不大于预设比例阈值,基于所述时钟控制信号将所述资源组的时钟信号的时钟频率调节至所述第一预设范围内。
[0023] 本发明第二方面公开了一种动态调整FPGA功耗的装置,所述装置包括:
[0024] 分配单元,用于基于预先设置的资源参数对FPGA中的资源进行分配,得到N个资源组,其中,所述N个资源组中的每个资源组包括对应的时钟信号;
[0025] 第一获取单元,用于针对与每一个资源组,获取该资源组对应的时钟信号的时钟频率;
[0026] 第一判断单元,用于判断各个资源组对应的时钟信号的时钟频率是否满足第一预设范围;
[0027] 第二判断单元,用于若存在时钟信号的时钟频率不满足所述第一预设范围的资源组,判断预先设置的资源参数占所述资源的总参数的比例是否大于预设比例阈值;
[0028] 控制单元,用于若所述比例大于所述预设比例阈值,控制所述时钟信号对应的资源组关闭,以使得所述FPGA产生的功耗等于预设标定功耗;
[0029] 第一调节单元,用于若所述比例不大于所述预设比例阈值,将所述资源组的时钟信号的时钟频率调节值所述第一预设范围内,以使得所述FPGA产生的功耗等于预设标定功
耗。
[0030] 可选的,所述装置还包括:
[0031] 第二获取单元,用于针对与每一个资源组,获取该资源组对应的信号翻转信号的信号翻转率;
[0032] 第三判断单元,用于判断各个资源组对应的信号翻转信号的信号翻转率是否满足第二预设范围;
[0033] 第二调节单元,用于若存在信号翻转信号的信号翻转率不满足所述二预设范围的资源组,将所述资源组的信号翻转率调节至所述第二预设范围内。
[0034] 可选的,所述第二调节单元,包括:
[0035] 第二调节子单元,用于若存在信号翻转率不满足所述第二预设范围的资源组,基于信号翻转控制信号将所述资源组的信号翻转信号的信号翻转率调节至所述第二预设范
围内。
[0036] 可选的,所述控制单元,包括:
[0037] 控制子单元,用于若所述比例大于所述预设比例阈值,基于时钟控制信号控制所述时钟信号对应的资源组对应的使能信息,以使得所述使能信号控制所述资源组对应的时
钟信号无效,控制所述时钟信号对应的资源组关闭。
[0038] 可选的,所述第一调节单元,包括:
[0039] 第一调节单元,用于若所述比例不大于所述预设比例阈值,基于所述时钟控制信号将所述资源组的时钟信号的时钟频率调节至所述第一预设范围内。
[0040] 本发明提供了一种动态调整FPGA功耗的方法及装置,通过基于预先设置的资源参数对FPGA中的资源进行分配,得到N个资源组,其中,所述N个资源组中的每个资源组包括对
应的时钟信号,所述N为大于等于1的正整数,针对于每一个资源组,获取该资源组对应的时
钟信号的时钟频率,判断各个资源组对应的时钟信号的时钟频率是否满足第一预设范围,
若存在时钟信号的时钟频率不满足所述第一预设范围的资源组,判断所述预先设置的资源
参数占所述资源的总参数的比例是否大于预设比例阈值,所述比例大于所述预设比例阈
值,控制所述时钟信号对应的资源组关闭,以使得所述FPGA产生的功耗等于预设标定功耗,
若所述比例不大于所述预设比例阈值,将所述资源组的时钟信号的时钟频率调节至所述第
一预设范围内,以使得所述FPGA产生的功耗等于预设标定功耗。本发明提供的技术方案,在
存在时钟信号的时钟频率不满足第一预设范围的资源组的情况下,判断预先设置的资源参
数占资源的总参数的比例是否大于预设比例阈值,若大于,则关闭不满足第一预设范围的
时钟信号对应的资源组,若不大于,则将不满足第一预设范围的时钟信号的时钟频率的资
源组的对应的时钟信号的时钟频率调节值第一预设范围内,以使得FPGA产生的功耗等于预
设标定功耗,进而使FPGA产生的热量在FGPA加速卡的耐热阈值范围内,以及降低工作量。

附图说明

[0041] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
提供的附图获得其他的附图。
[0042] 图1为本发明实施例提供的一种动态调整FPGA功耗的方法的流程示意图;
[0043] 图2为本发明实施例提供的一种基于时钟控制信号控制各个资源组对应的使能信号的结构示意图;
[0044] 图3为本发明实施例提供的一种基于时钟控制信号控制资源组的时钟信号的时钟频率进行调节结构示意图;
[0045] 图4为本发明实施例提供的另一种动态调整FPGA功耗的方法的流程示意图;
[0046] 图5为本发明实施例提供的一种基于信号翻转控制信号控制资源组的信号翻转信号的信号翻转率进行调节结构示意图;
[0047] 图6为本发明实施例提供的一种动态调整FPGA功耗的装置的结构示意图。

具体实施方式

[0048] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
[0049] 在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有
明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没
有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过
程、方法、物品或者设备中还存在另外的相同要素。
[0050] 参考图1,本发明实施例提供了一种动态调整FPGA功耗的方法的流程示意图。该动态调整FPGA功耗的方法包括以下步骤:
[0051] S101:基于预先设置的资源参数对FPGA中的资源进行分配,得到N个资源组。
[0052] 其中,N个资源组中的每个资源组包括对应的时钟信号,且N为大于等于1的正整数。
[0053] 需要说明的是,预先设置有资源参数,可将该资源参数设置为10或者15。有关资源参数的设置,发明人可根据实际需求进行设置,本发明实施例不加以限定。
[0054] 需要说明的是,FPGA中的资源包括随机存取存储器(random access memory,RAM)资源、数字信号处理(Digital Signal Processing,DSP)资源、寄存机资源以及Serdes资源
等等。本发明实施例中的FPGA中的资源,可根据实际应用进行设定,本发明实施例不加以限
定。
[0055] 在具体执行步骤S101的过程中,基于预先设置的资源参数对FPGA中的资源进行分配,得到N个资源组。比如,若预先设置资源参数为10,FPGA中的资源总参数为100时,基于预
先设置的资源参数(10)对FPGA中的资源进行分配,得到10个资源组。
[0056] S102:针对与每个资源组,获取该资源组对应的时钟信号的时钟频率。
[0057] 在具体执行步骤S102的过程中,分别获取N个资源组中的每个资源组对应的时钟信号的时钟频率。
[0058] 需要说明的是,由于FPGA中的资源不同,因此,每个资源组对应的时钟信号的时钟频率可能相同,也可能不同。
[0059] S103:判断各个资源组对应的时钟信号的时钟频率是否满足第一预设范围。
[0060] 需要说明的是,第一预设范围可以设置为一个数值范围,比如,可将第一预设范围设置为500HZ~1000HZ。第一预设范围是由本领域技术人员进行实验测试得到的经验值,有
关第一预设范围的设置,发明人可根据实际需求进行设置,本发明实施例不加以限定。
[0061] 在具体执行步骤S103的过程中,针对于每一个资源组,判断该资源组对应的时钟信号的时钟频率是否满足第一预设范围。
[0062] S104:若存在时钟信号的时钟频率不满足第一预设范围的资源组,判断预先设置的资源参数占资源总参数的比例是否大于预设比例阈值。
[0063] 需要说明的是,若预先设置的资源参数占资源的总参数的比例大于预设比例阈值,执行步骤S105,若预先设置的资源参数占资源总参数的比例不大于预设比例阈值,执行
步骤S106。
[0064] 需要说明的是,预先设置有比例阈值,可将比例阈值预先设置为20%或者30%。有关预设比例预设大小的设置,发明人可根据实际需求进行设置,本发明实施例不加以限定。
[0065] 在具体执行步骤S104的过程中,存在时钟信号的时钟频率不满足第一预设范围的资源组,指的是存在时钟信号的时钟频率超出第一预设范围的资源组。若存在时钟信号的
时钟频率超出第一预设范围的资源组,计算预先设置的资源参数占资源的总参数的比例,
判断预先设置的资源参数占资源的总参数的比例是否大于预设比例阈值。
[0066] 比如,当第一预设范围为一个数值范围时,可将第一预设范围设置为500HZ~1000HZ,若预先设置资源参数为20,FPGA中的资源总参数为100时,基于预先设置的资源参
数(20)对FPGA中的资源进行分配,得到5个资源组,分别获取这10个资源组对应的时钟信号
的时钟频率,分别为600HZ、700HZ、500HZ、1100HZ,900HZ,确定存在时钟信号的时钟频率
(1100HZ)不满足第一预设范围的资源组,当预设比例预设为19%时,计算预先设置的资源
参数(20)占资源的总参数(100)的比例为20%,由于20%大于19%,确定预先设置的资源参
数占资源的总参数的比例大于预设比例阈值。
[0067] 反之,当预设比例阈值为30时,20%小于30%,确定预先设置的资源参数占资源的总参数的比例不大于预设比例阈值。
[0068] S105:控制时钟信号对应的资源组关闭,以使得FPGA产生的功耗等于预设标定功耗。
[0069] 需要说明的是,预先设置有标定功耗,该标定功耗是由提供FPGA的厂家在制定FPGA时设置的。且不同厂家设置的FPGA的标定功耗可能一样,也可能不一样。有关于预设标
定功耗的大小,发明人可根据实际情况进行设置,本发明实施例不加以限定。
[0070] 需要说明的是,提供FPGA的厂家可以为赛灵思Xilinx。可根据实际应该用进行设定,本发明实施例不加以限定。
[0071] 在本发明实施例中,N个资源组中的每个资源组包括对应的使能信息。也就是说,预先为N个资源组中的每个资源组设置对应的使能信号,针对于每一个资源组,通过基于时
钟控制信号控制该资源组对应的使能信号,控制该资源组对应的时钟信号是否有效,进而
控制该资源组的关闭和激活,其中,每个资源组对应的使能信号均通过时钟控制信号VIO_
clk_sel进行控制,具体如图2所示,其中Group1~GroupN为N个资源组,enable1~enableN
为N个资源组对应的使能信号。
[0072] 在具体执行步骤S105的过程中,基于时钟控制信号控制时钟信号对应的资源组对应的使能信息,以使得使能信号控制资源组对应的时钟信号无效,控制时钟信号对应的资
源组关闭,进而使FPGA产生的功耗等于预设标定功耗。
[0073] 需要说明的是,资源组对应的时钟信号的时钟频率越快,所产生的功耗越大。
[0074] S106:将资源组的时钟信号的时钟频率调节至第一预设范围内,以使得FPGA产生的功耗等于预设标定功耗。
[0075] 在具体执行步骤S106的过程中,当存在时钟信号的时钟频率不满足第一预设范围的资源组,且预先设置的资源参数占资源的总参数的比例不大于预设比例阈值时,基于时
钟控制信号将该资源组的时钟信号的时钟频率调节值第一预设范围内。
[0076] 在本发明实施例中,基于时钟控制信号将时钟信号的时钟频率不满足第一预设范围的资源组的时钟信号的时钟频率调节至第一预设范围内结构示意图具体如图3所示,其
中,VIO_clk_sel为时钟控制信号,Work_clk为时钟信号,clockA、clockB、clockC、clockD、
clockE为从大到小调节资源组的时钟信号的时钟频率的五个频率档。比如,当第一预设范
围设置为500HZ~1000HZ,且存在时钟信号的时钟频率不满足第一预设范围的资源组的时
钟信号的时钟频率为1500HZ时,基于时钟控制信号VIO_clk_sel控制clockA将该资源组的
时钟信号的时钟频率调节值第一预设范围内。
[0077] 本申请人通过对FPGA厂家提供的FPGA功耗评估套件进行分析发现,FPGA中的资源在不同的使用比例、不同的时钟频率下对整个FPGA产生的功耗的影响是不同的。可选的,当
FPGA的厂家为Xilinx时,其中,时钟频率对FPGA产生的功耗的影响是最大的。
[0078] 因此,本申请将各个资源组对应的时钟信号的时钟频率作为调整FPGA功耗的依据。当存在时钟信号的时钟频率不满足第一预设范围的资源组时,判断预先设置的资源参
数占资源的总参数的比例是否大于预设比例阈值,当预先设置的资源参数占资源的总参数
的比例大于预设比例阈值时,说明一个资源组占总资源的比例是比较大的,即一个资源组
产生的功耗占FPGA产生的功耗的比重也是比较大的,因此,当存在时钟信号的时钟频率不
满足第一预设范围的资源组时,且预先设置的资源参数占资源的总参数的比例不大于预设
比例阈值时,基于时钟控制信号控制时钟信号对应的资源组对应的使能信号,以使得该使
能信号控制资源组对应的时钟信号无效,进而控制时钟信号对应的资源组关闭,能够有效
的降低FPGA产生的功耗,使得FPGA产生的功耗等于预设标定功耗。
[0079] 反之,当预先设置的资源参数占资源的总参数的比例不大于预设比例阈值时,说明FPGA中的资源的分配比例是合理的,因此,在存在时钟信号的时钟频率不满足第一预设
范围的资源组的情况下,通过基于时钟控制信号将时钟信号的时钟频率调节值第一预设范
围内,能够有效的降低FPGA产生的功耗,使得FPGA产生的功耗等于预设标定功耗。
[0080] 本发明提供了一种动态调整FPGA功耗的方法,通过基于预先设置的资源参数对FPGA中的资源进行分配,得到N个资源组,其中,N个资源组中的每个资源组包括对应的时钟
信号,N为大于等于1的正整数,针对于每一个资源组,获取该资源组对应的时钟信号的时钟
频率,判断各个资源组对应的时钟信号的时钟频率是否满足第一预设范围,若存在时钟信
号的时钟频率不满足第一预设范围,判断预先设置的资源参数占资源总参数的比例是否大
于预设比例阈值,比例大于预设比例阈值,控制时钟信号对应的资源组关闭,以使得FPGA产
生的功耗等于预设标定功耗,若比例不大于预设比例阈值,将资源组的时钟信号的时钟频
率调节至第一预设范围内,以使得FPGA产生的功耗等于预设标定功耗。本发明提供的技术
方案,在存在时钟信号的时钟频率不满足第一预设范围的资源组的情况下,判断预先设置
的资源参数占资源总参数的比例是否大于预设比例阈值,若大于,则关闭不满足第一预设
范围的时钟信号对应的资源组,若不大于,则将不满足第一预设范围的时钟信号的时钟频
率的资源组的对应的时钟信号的时钟频率调节值第一预设范围内,以使得FPGA产生的功耗
等于预设标定功耗,进而使FPGA产生的热量在FGPA加速卡的耐热阈值范围内,以及降低工
作量。
[0081] 在上述本发明提供的一种动态调整FPGA功耗的方法的基础上,如图4所示,示出了本发明实施例提供的另一种动态调节FPGA的功耗的方法的流程示意图,该动态调节FPGA的
功耗的方法包括以下步骤:
[0082] S401:针对于每一个资源组,获取该资源组对应的信号翻转信号的信号翻转率。
[0083] 需要说明的是,N个资源组中每个资源组包括对应的信号翻转信号。
[0084] 在具体执行步骤S401的过程中,分别获取N个资源组中每个资源组对应的信号翻转信号的信号翻转率。
[0085] 需要说明的是,由于FPGA中的资源不同,因此,每个资源组对应的信号翻转信号的信号翻转率可能相同,也可能不同。
[0086] S402:判断各个资源组对应的信号翻转信号的信号翻转率是否满足第二预设范围。
[0087] 需要说明的是,第二预设范围可以设置为一个数值范围,比如,可将第二预设范围设置为500~1000。第二预设范围是由本领域技术人员进行实验测试中得到的经验值。有关
第二预设范围的设置,发明人可根据实际需求进行设置,本发明实施例不加以限定。
[0088] 在具体执行步骤S402的过程中,针对于每一个资源组,判断该资源组对应的信号翻转信号的信号翻转率是否满足第二预设范围。
[0089] S403:若存在信号翻转信号的信号翻转率不满足第二预设范围的资源组,将资源组的信号翻转信号的信号翻转流率调节至第二预设范围内。
[0090] 在具体执行步骤S403的过程中,若存在信号翻转信号的信号翻转率不满足第二预设范围的资源组,基于信号翻转控制信号将资源组的信号翻转信号的信号翻转率调节至第
二预设范围内。
[0091] 在本发明实施例中,基于信号翻转控制信号将信号翻转信号的信号翻转率不满足第二预设范围的资源组的信号翻转信号的信号翻转率调节至第二预设范围内的结构示意
图具体如图5所示,其中,VIO_rate_sel为信号翻转控制信号,Work_rate为信号翻转信号,
rate A、rate B、rate C、rate D、rate E为从大到小调节资源组的信号翻转信号的信号翻
转率的五个频率档。比如,当第二预设范围设置为500~1000,且存在信号翻转信号的信号
翻转率不满足第二预设范围的资源组的信号翻转信号的信号翻转率为1500时,基于信号翻
转控制信号VIO_rate_sel控制rateA将资源组的信号翻转信号的信号翻转率调节至第二预
设范围内。
[0092] 本申请人通过对FPGA厂家提供的FPGA功耗评估套件进行分析发现,FPGA中的资源在不同的信号翻转率对整个FPGA产生的功耗也具有一定的影响。
[0093] 因此,在存在信号翻转信号的信号翻转率不满足第二预设范围的资源组的情况下,通过基于信号翻转控制信号将资源组的信号翻转信号的信号翻转率调节至第二预设范
围内,能够进一步将FPGA产生的功耗等于预设标定功耗。
[0094] 在本发明实施例中,通过获取N个资源组中的每个资源组对应的信号翻转信号的信号翻转率,并判断各个资源组对应的信号翻转信号的信号翻转率是否满足第二预设范
围,若存在信号翻转信号的信号翻转率不满足第二预设范围的资源组时,将信号翻转信号
的信号翻转流率调节至第二预设范围内,能够进一步将FPGA产生的功耗等于预设标定功
耗。
[0095] 与上述本发明实施例公开的一种动态调整FPGA功耗的方法相对应,参考图6,本发明实施例对应公开了一种动态调整FPGA功耗装置的结构示意图,该动态调整FPGA功耗的装
置600包括:
[0096] 分配单元601,用于基于预先设置的资源参数对FPGA中的资源进行分配,得到N个资源组,其中,N个资源组中的每个资源组包括对应的时钟信号。
[0097] 第一获取单元602,用于针对与每一个资源组,获取该资源组对应的时钟信号的时钟频率。
[0098] 第一判断单元603,用于判断各个资源组对应的时钟信号的时钟频率是否满足第一预设范围。
[0099] 第二判断单元604,用于若存在时钟信号的时钟频率不满足第一预设范围的资源组,判断预先设置的资源参数占资源的总参数的比例是否大于预设比例阈值。
[0100] 需要说明的是,若预先设置的资源参数占资源的总参数的比例大于预设比例阈值,执行控制单元605,若预先设置的资源参数占资源总参数的比例不大于预设比例阈值,
执行第一调节单元606。
[0101] 控制单元605,用于控制时钟信号对应的资源组关闭,以使得FPGA产生的功耗等于预设标定功耗。
[0102] 第一调节单元606,用于将资源组的时钟信号的时钟频率调节至第一预设范围内,以使得FPGA产生的功耗等于预设标定功耗。
[0103] 上述本发明实施例公开的动态调整FPGA功耗的装置中各个单元具体的原理和执行过程,与上述本发明实施例公开的动态调整FPGA功耗的方法相同,可参见上述本发明实
施例公开的动态调整FPGA功耗的方法中相应的部分,这里不再进行赘述。
[0104] 本发明提供了一种动态调整FPGA功耗的装置,通过基于预先设置的资源参数对FPGA中的资源进行分配,得到N个资源组,其中,N个资源组中的每个资源组包括对应的时钟
信号,N为大于等于1的正整数,针对于每一个资源组,获取该资源组对应的时钟信号的时钟
频率,判断各个资源组对应的时钟信号的时钟频率是否满足第一预设范围,若存在时钟信
号的时钟频率不满足第一预设范围的资源组,判断预先设置的资源参数占资源的总参数的
比例是否大于预设比例阈值,比例大于预设比例阈值,控制时钟信号对应的资源组关闭,以
使得FPGA产生的功耗等于预设标定功耗,若比例不大于预设比例阈值,将资源组的时钟信
号的时钟频率调节至第一预设范围内,以使得FPGA产生的功耗等于预设标定功耗。本发明
提供的技术方案,在存在时钟信号的时钟频率不满足第一预设范围的资源组的情况下,判
断预先设置的资源参数占资源的总参数的比例是否大于预设比例阈值,若大于,则关闭不
满足第一预设范围的时钟信号对应的资源组,若不大于,则将不满足第一预设范围的时钟
信号的时钟频率的资源组的对应的时钟信号的时钟频率调节值第一预设范围内,以使得
FPGA产生的功耗等于预设标定功耗,进而使FPGA产生的热量在FGPA加速卡的耐热阈值范围
内,以及降低工作量。
[0105] 优选的,动态调整FPGA功耗的装置600,还包括:
[0106] 第二获取单元,用于针对与每一个资源组,获取该资源组对应的信号翻转信号的信号翻转率。
[0107] 第三判断单元,用于判断各个资源组对应的信号翻转信号的信号翻转率是否满足第二预设范围。
[0108] 第二调节单元,用于若存在信号翻转信号的信号翻转率不满足二预设范围的资源组,将资源组的信号翻转率调节至第二预设范围内。
[0109] 在本发明实施例中,通过获取N个资源组中的每个资源组对应的信号翻转信号的信号翻转率,并判断各个资源组对应的信号翻转信号的信号翻转率是否满足第二预设范
围,若存在信号翻转信号的信号翻转率不满足第二预设范围的资源组,将资源组的信号翻
转信号的信号翻转流率调节至第二预设范围内,能够进一步将FPGA产生的功耗等于预设标
定功耗。
[0110] 优选的,第二调节单元,包括:第二调节子单元。
[0111] 第二调节子单元,用于若存在信号翻转率不满足第二预设范围的资源组,基于信号翻转控制信号将资源组的信号翻转信号的信号翻转率调节至第二预设范围内。
[0112] 优选的,控制单元605,包括:控制子单元。
[0113] 控制子单元,用于基于时钟控制信号控制时钟信号对应的资源组对应的使能信息,以使得使能信号控制资源组对应的时钟信号无效,控制时钟信号对应的资源组关闭。
[0114] 优选的,第一调节单元606,包括:第一调节子单元。
[0115] 第一调节单元,用于基于时钟控制信号将资源组的时钟信号的时钟频率调节值第一预设范围内。
[0116] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或
系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法
实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为
分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或
者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根
据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术
人员在不付出创造性劳动的情况下,即可以理解并实施。
[0117] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和
软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些
功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业
技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应
认为超出本申请的范围。
[0118] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的
一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。
[0119] 以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应
视为本申请的保护范围。