FPGA器件的性能控制方法及装置与流程

文档序号:13282021阅读:168来源:国知局
FPGA器件的性能控制方法及装置与流程

本发明涉及集成电路技术领域,具体涉及一种fpga器件的性能控制方法及装置。



背景技术:

在当前这个信息爆炸的时代,大规模数据的处理已经成为信息领域的主流业务,进而带动了海量数据处理硬件平台的发展。由于处理算法越来越复杂,待处理数据规模越来越庞大,但信息处理时效性要求日益增高,均对硬件计算规模提出了不断扩展的要求,在这个扩展过程中,功耗增多对运营带来的挑战也日益突出。面对这个挑战,不断有开发者选择fpga(field-programmablegatearray,现场可编程门阵列)来应对高性能计算下的功耗挑战。目前,fpga的大规模使用已走出了传统的通讯领域,走向了更多计算,尤其是新型计算领域,如大数据处理、深度神经网络等。

现实情况中,客户给fpga相关产品存放的工作环境存在差异性,例如环境温度或者散热条件不是足够好,fpga内各个ip核(intellectualpropertycore,知识产权核)在其工作时产生大量热量,使得fpga器件温度会过高,可能会引发fpga器件烧毁,或者引发fpga器件自身保护机制使得fpga器件停止工作,导致fpga器件在该段时间内不在线;在客户环境中如果供电能力达不到fpga器件性能要求时,可能还会导致产品直接宕机,无法启动正常工作。

考虑到fpga设备工作环境的不一致性,提供给客户能适应具体多个环境的fpga产品版本,这样也会导致在设计fpga相关产品时版本数目成倍增长,增加测试工作量,增加客户现场配置维护工作量的成本。在用户实现fpga应用的性能控制时,需要准备多个版本不同功耗的fpga固件,而在切换固件时,需要对fpga芯片进行初始化配置并重新加载,此种方式极大延长了程序初始化时间,使用效率低。

因此,如何使fpga器件能够适应不同工作环境成为亟待解决的问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种fpga器件的性能控制方法及装置,以解决fpga器件不能适应不同工作环境的问题。

本发明第一方面提供了一种fpga器件的性能控制方法,包括获取fpga器件的状态观测值;根据状态观测值对fpga器件的性能进行调整。

可选地,根据所述状态观测值对所述fpga器件的性能进行调整的步骤,包括:判断所述状态观测值是否处于预设阈值范围外;当所述状态观测值处于所述预设阈值范围外时,根据所述状态观测值对所述fpga器件的性能进行调整。

可选地,当状态观测值处于预设阈值范围外时,根据状态观测值对fpga器件的性能进行调整的步骤,包括:当状态观测值大于预设阈值范围的最大值时,计算状态观测值与预设阈值范围的最大值之间的第一差值;判断第一差值是否大于或等于第一预设差值;当第一差值大于或等于第一预设差值时,执行以下操作中的至少一者:降低fpga内部各个ip核的运行频率、降低fpga内部各个ip核之间或各ip核与fpga外部的数据传输速率、提高fpga内部各个ip核处理算法中的空闲占比。

可选地,当状态观测值处于预设阈值范围外时,根据状态观测值对fpga器件的性能进行调整的步骤,还包括:当状态观测值小于预设阈值范围的最小值时,计算状态观测值与预设阈值范围的最小值之间的第二差值;判断第二差值是否大于或等于第二预设差值;当第二差值大于第二预设差值时,执行以下操作中的至少一者:提高fpga内部各个ip核的运行频率、提高fpga内部各个ip核之间或各ip核与fpga外部的数据传输速率、降低fpga内部各个ip核处理算法中的空闲占比。

可选地,fpga器件的状态观测值包括以下至少一者:fpga器件表面的温度、fpga器件的核心温度、fpga器件的核心电压、fpga器件的输入电压、fpga器件的输入电流。

本发明第二方面提供了一种fpga器件的性能控制装置,包括:状态检测模块,用于获取fpga器件的状态观测值;调整模块,用于根据状态观测值对fpga器件的性能进行调整。

可选地,所述调整模块包括:判断子模块,用于判断所述状态观测值是否处于预设阈值范围外;调整子模块,用于当所述状态观测值处于所述预设阈值范围外时,根据所述状态观测值对所述fpga器件的性能进行调整。

可选地,所述调整子模块具体用于:当状态观测值大于预设阈值范围的最大值时,计算状态观测值与预设阈值范围的最大值之间的第一差值;判断第一差值是否大于或等于第一预设差值;当第一差值大于或等于第一预设差值时,执行以下操作中的至少一者:降低fpga内部各个ip核的运行频率、降低fpga内部各个ip核之间或各ip核与fpga外部的数据传输速率、提高fpga内部各个ip核处理算法中的空闲占比。

可选地,所述调整子模块具体用于:当状态观测值小于预设阈值范围的最小值时,计算预设阈值范围的最小值与状态观测值之间的第二差值;判断第二差值是否大于或等于第二预设差值;当第二差值大于或等于第二预设差值时,执行以下操作中的至少一者:提高fpga内部各个ip核的运行频率、提高fpga内部各个ip核之间或各ip核与fpga外部的数据传输速率、降低fpga内部各个ip核处理算法中的空闲占比。

可选地,fpga器件的状态观测值包括以下至少一者:fpga器件表面的温度、fpga器件的核心温度、fpga器件的核心电压、fpga器件的输入电压、fpga器件的输入电流。

本发明第三方面提供了一种fpga器件的性能控制设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行上述任一fpga器件的性能控制方法。

本发明第四方面提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述任一fpga器件的性能控制方法。

根据本发明实施例提供的fpga器件的性能控制方法及控制装置,在fpga器件运行的同时,获取其全部或主要运行状态信息,根据该状态信息对fpga器件内各个ip核进行调整,控制fpga器件运行功率及性能,使得fpga器件能够适应不同工作环境,提高fpga器件可靠性。

附图说明

通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:

图1为本发明实施例中fpga器件的性能控制方法的流程图;

图2为本发明实施例中fpga器件的性能控制装置的模块示意图;

图3为本发明实施例中fpga器件的性能控制装置的调整模块结构示意图;

图4为本发明实施例中fpga器件的性能控制系统的结构示意图;

图5为本发明实施例中fpga器件的性能控制设备的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

如图1所示,是本发明实施例中一种fpga器件的性能控制方法的流程图。该fpga器件的性能控制方法包括:

步骤s10,获取fpga器件的状态观测值。在具体实施例中,fpga器件在运行时,各个ip核的工作状态都不相同,获取全部或其中至少主要ip核的实时运行状态信息。

步骤s20,根据状态观测值对fpga器件的性能进行调整。在具体实施例中,根据步骤s10中实时获取的fpga器件全部或主要运行状态信息,对fpga器件的各个ip核进行调整。

需要说明的是,在具体实施方式中,上述步骤根据实际情况设置为周期调整,在对fpga性能控制要求较高或者环境尤其恶劣的情况下,调整周期要足够短,使得fpga器件在短时间内迅速适应其外部环境。

根据本发明实施例提供的fpga器件的性能控制方法,在fpga器件运行的同时,获取其全部或主要运行状态信息,根据该状态信息对fpga器件内各个ip核进行调整,控制fpga器件运行功率,使得fpga器件能够适应不同工作环境,提高fpga器件可靠性。

作为可选的实施方式,上述的步骤s20具体包括:判断状态观测值是否处于预设阈值范围外;当状态观测值处于所述预设阈值范围外时,根据状态观测值对fpga器件的性能进行调整。

在具体实施例中,预设阈值范围应与fpga器件自身对各种状态值的耐受范围有关,fpga器件一般会在器件手册中指明类似核心电压、核心温度等状态值的耐受范围,若无相关参考资料则可根据实际经验确定该阈值范围。根据fpga器件手册及实际需要,fpga器件的各个状态观测值对应的预设阈值可以进行调整,以适应不同工作环境。监测多个状态观测值时,若其中某一个状态观测值在其预设阈值范围外,则对fpga器件进行调整。

作为可选的实施方式,当状态观测值处于预设阈值范围外时,根据状态观测值对fpga器件的性能进行调整的步骤,具体包括:当状态观测值大于预设阈值范围的最大值时,计算状态观测值与预设阈值范围的最大值之间的第一差值;判断第一差值是否大于或等于第一预设差值;当第一差值大于第一预设差值时,执行以下操作中的至少一者:降低fpga内部各个ip核的运行频率、降低fpga内部各个ip核的数据传输速率、提高fpga内部各个ip核处理算法中的空闲占比。

在具体实施例中,在对获取的状态观测值进行判断后,若存在某一个值大于其预设阈值范围的最大值,计算该状态观测值与预设阈值范围最大值的差值,与一个预设差值进行比较,若该差值大于预设差值,则对fpga内部各个ip核进行调整:降低fpga内部各个ip核的运行频率、降低fpga内部各个ip核之间或各ip核与fpga外部的数据传输速率、提高fpga内部各个ip核处理算法中的空闲占比。

在具体实施方式中,例如监测fpga器件的核心温度变化,在散热条件一般的工作环境中,若会引起器件烧毁的核心温度为120℃,核心温度预设阈值范围为100℃-110℃,预设差值为5℃,若在某个时刻检测到核心温度值为115.5℃,此时差值大于预设差值,对fpga内部ip核进行降低工作性能的调整。预设差值大于0,即预设阈值范围外存在缓冲区域,在缓冲区域内,fpga器件能正常运行。在另一具体实施方式中,与上述相同的工作环境下,预设差值可以为0,此时核心温度预设阈值范围为100℃-115℃,即,不设置缓冲范围,fpga器件也能在允许范围内达到最高性能。

在具体的实施方式中,由于fpga器件是基于时钟信号驱动工作的,通过时钟信号的翻转与不翻转可以调整各个ip核的功率。譬如,一个ip核初始处理数据设置为在上升沿及下降沿触发,通过重新设置时钟信号翻转频次,使得该ip核被触发的频次降低,从而降低ip核的功率消耗。通过设置时钟信号周期的不翻转或降低翻转频次,使数据传输速率下降,在一定数量的时钟周期内,增加ip核对数据进行运算处理的闲置时间,提高空闲占比,从而降低fpga内部各个ip核的性能。

在可选的实施例中,还可以通过改变各个ip核的逻辑运行频率以及fgpa输入信号的频率或速度,以调整fpga的功率。

作为可选的实施方式,当状态观测值处于预设阈值范围外时,根据状态观测值对fpga器件的性能进行调整的步骤,包括:当状态观测值小于预设阈值范围的最小值时,计算预设阈值范围的最小值与状态观测值之间的第二差值;判断第二差值是否大于或等于第二预设差值;当第二差值大于第二预设差值时,执行以下操作中的至少一者:提高fpga内部各个ip核的运行频率、提高fpga内部各个ip核之间或各ip核与fpga外部的数据传输速率、降低fpga内部各个ip核处理算法中的空闲占比。

在具体实施例中,判断状态观测值与预设阈值范围最小值差值与预设差值这一步骤与前一实施方式中类似,当状态观测值小于预设阈值范围最小值时,预设阈值范围最小值与状态观测值的差值与另一预设差值比较,若该差值大于预设差值,则对fpga器件内各个ip核进行以下至少一种调整:提高fpga内部各个ip核的运行频率、提高fpga内部各个ip核之间或各ip核与fpga外部的数据传输速率、降低fpga内部各个ip核处理算法中的空闲占比。

在具体的实施方式中,若一个ip核初始处理数据设置为仅在上升沿或下降沿触发,通过翻转,使得该ip核在上升沿以及下降沿都触发,使数据传输速率提高,在一个时钟周期中,减少ip核对数据进行运算处理的闲置时间,降低空闲占比,从而提高fpga内部各个ip核的性能。

作为可选的实施方式,当状态观测值处于预设阈值范围内时,执行以下操作中的至少一者:提高fpga内部各个ip核的运行频率、提高fpga内部各个ip核之间或各ip核与fpga外部的数据传输速率、降低fpga内部各个ip核处理算法中的空闲占比。在具体实施例中,当状态观测值处于预设阈值范围内时,采用上一实施方式中的调整方式对fpga内部各个ip核进行性能调整,在此不做赘述。

作为可选的实施方式,fpga器件的状态观测值包括以下至少一者:fpga器件表面的温度、各个ip核的输入电压、各个ip核的输入电流。在具体实施例中,检测各个ip核的输入电压和各个ip核的输入电流,电压和电流的观测值超过预设阈值范围最大值时,fpga器件内某个ip核可能超负荷运行,功率过高,产生大量热量,散热条件较差时可能会烧毁器件;电压或电流观测值小于预设阈值范围最小值时,提高各个ip核运行性能,使电压、电流提高到正常范围,避免fpga器件本身保护机制导致的器件离线。在可选的实施例中,状态观测值还包括各个ip核的输入功率、fpga输出信号的频率或速度等。

实施例2

如图2所示,本发明实施例还提供了一种fpga器件的性能控制装置,包括:状态检测模块10和调整模块20,其中:

状态检测模块10,用于获取fpga器件的状态观测值。

调整模块20,用于根据状态观测值对fpga器件的性能进行调整。

如图3所示,作为可选的实施方式,该调整模块20包括:判断子模块201及调整子模块202。其中,该判断子模块201用于判断状态观测值是否处于预设阈值范围外;调整子模块202用于当状态观测值处于预设阈值范围外时,根据状态观测值对fpga器件的性能进行调整。

作为可选的实施方式,上述的调整子模块202用于执行以下步骤:当状态观测值大于预设阈值范围的最大值时,计算状态观测值与预设阈值范围的最大值之间的第一差值;判断第一差值是否大于或等于第一预设差值;当第一差值大于第一预设差值时,执行以下操作中的至少一者:降低fpga内部各个ip核的运行频率、降低fpga内部各个ip核之间或各ip核与fpga外部的数据传输速率、提高fpga内部各个ip核处理算法中的空闲占比。

作为可选的实施方式,上述的调整子模块202用于执行以下步骤:当状态观测值小于预设阈值范围的最小值时,计算预设阈值范围的最小值与状态观测值之间的第二差值;判断第二差值是否大于或等于第二预设差值;当第二差值大于第二预设差值时,执行以下操作中的至少一者:提高fpga内部各个ip核的运行频率、提高fpga内部各个ip核之间或各ip核与fpga外部的数据传输速率、降低fpga内部各个ip核处理算法中的空闲占比。

作为可选的实施方式,上述的调整子模块202还用于当状态观测值处于预设阈值范围内时,执行以下操作中的至少一者:提高fpga内部各个ip核的运行频率、提高fpga内部各个ip核之间或各ip核与fpga外部的数据传输速率、降低fpga内部各个ip核处理算法中的空闲占比。

作为可选的实施方式,fpga器件的状态观测值包括以下至少一者:fpga器件表面的温度、fpga器件的核心温度、fpga器件的核心电压、fpga器件的输入电压、fpga器件的输入电流。

实施例3

如图4所示,本发明实施例还提供了一种fpga器件的性能控制系统,包括:状态检测单元410、fpga器件的控制管理模块420、性能控制单元430和多个ip核,其中:

状态检测单元410用于获取fpga器件的状态观测值;

fpga器件的控制管理模块420,用于根据状态观测值对fpga器件的性能进行调整。具体地,接收获取到的状态观测值,判断该状态观测值与预设阈值范围的关系,根据状态观测值调整配置各个ip核运行参数;

性能控制单元430,用于向各个ip核发送与之对应的各个ip核运行参数;

多个ip核,用于接收并执行各个ip核运行参数。

在可选的实施方式中,fpga器件的控制管理模块是fpga器件自带的,或是外设的。

实施例4

本发明实施例还提供了一种fpga器件的性能控制设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行上述实施例1所述的fpga器件的性能控制方法。

图5是本发明实施例提供的执行列表项操作的处理方法的电子设备的硬件结构示意图,如图5所示,该设备包括一个或多个处理器510以及存储器520。

处理器510和存储器520可以通过总线或者其他方式连接,图5中以通过总线连接为例。

存储器520作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的列表项操作的处理方法对应的程序指令/模块(例如,附图2所示的显示状态检测模块20和调整模块30)。处理器510通过运行存储在存储器520中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例列表项操作的处理方法。

存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据列表项操作的处理装置的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至列表项操作的处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器520中,当被所述一个或者多个处理器510执行时,执行如图1所示的方法。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见如图1-4所示的实施例中的相关描述。

实施例5

本发明实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述实施例1中所述性能控制方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1