首页> 中国专利> 用于联邦学习异构处理系统的FPGA功耗预测方法及系统

用于联邦学习异构处理系统的FPGA功耗预测方法及系统

摘要

本说明书的实施例提供一种基于联邦学习异构处理系统的FPGA功耗预测方法包括:CPU处理器通过接口模块获取建立FPGA功耗预测模型的训练数据,训练数据包括功耗参数数据,功耗参数数据包括FPGA中各种资源的类型个数、数量、翻转率和功耗估计值;CPU处理器根据指定的初始模型对训练数据进行训练,直到满足预设的建模条件确定功耗预测函数;CPU处理器通过接口模块将功耗预测函数发送给FPGA处理器;FPGA处理器接收功耗预测函数,并采集实时FPGA中各种资源的翻转率,根据功耗预测函数、采集的翻转率及FPGA生成的各种资源的类型个数和数量计算得到FPGA功耗预测值。通过该功耗预测方法可更加准确的预测FPGA的功耗值,从而为功耗管理和任务调度提供重要参考。

著录项

  • 公开/公告号CN112286756A

    专利类型发明专利

  • 公开/公告日2021-01-29

    原文格式PDF

  • 申请/专利权人 深圳致星科技有限公司;

    申请/专利号CN202011051649.8

  • 发明设计人 董扬辉;王玮;胡水海;

    申请日2020-09-29

  • 分类号G06F11/30(20060101);G06N20/20(20190101);

  • 代理机构44507 深圳市力道知识产权代理事务所(普通合伙);

  • 代理人贺小旺

  • 地址 518038 广东省深圳市南山区粤海街道高新区社区白石路3609号深圳湾科技生态园二区9栋A2405

  • 入库时间 2023-06-19 09:43:16

说明书

技术领域

本说明书实施例通常涉及功耗计算领域,尤其涉及用于联邦学习异构处理系统中FPGA的功耗预测方法及系统。

背景技术

随着半导体工艺的飞速发展和芯片工作频率的提高,芯片的功耗迅速增加,而功耗增加又导致芯片发热量的增大和可靠性的下降。因此,功耗已经成为FPGA芯片设计中的一个重要考虑因素。

FPGA供应商提供了相关的工具评估功耗,不用完成设计便可以直接在功耗分析软件上看到FPGA的功耗估算结果,但这都是基于仿真阶段或者工程实现阶段的预测,FPGA在实际运行的过程中会调整资源,因此利用相关工具评估的功耗值和FPGA在某些工作状态下的实际功耗值存在差异。

发明内容

鉴于上述,本说明书的实施例提供一种基于联邦学习异构处理系统的FPGA功耗预测方法及系统。利用该FPGA功耗预测方法,可以得到更为准确的功耗预测值。

根据本说明书的实施例的一个方面,提供一种基于联邦学习异构处理系统的FPGA功耗预测方法,所述异构处理系统包括CPU处理器和FPGA处理器,所述方法包括:CPU处理器通过接口模块获取建立FPGA功耗预测模型的训练数据,所述训练数据包括功耗参数数据,所述功耗参数数据包括FPGA中各种资源的类型个数、数量、翻转率和功耗估计值;所述CPU处理器根据指定的初始模型对所述训练数据进行训练,直到满足预设的建模条件,确定功耗预测函数;所述CPU处理器通过所述接口模块将所述功耗预测函数发送给所述FPGA处理器;所述FPGA处理器接收所述功耗预测函数,并采集实时FPGA中各种资源的翻转率,根据所述功耗预测函数、所述采集的翻转率及FPGA生成的各种资源的类型个数和数量计算得到所述FPGA功耗预测值。

根据本说明书的实施例的另一方面,提供一种基于联邦学习异构处理系统的FPGA功耗预测方法,所述异构处理系统包括CPU处理器和FPGA处理器,所述方法包括:CPU处理器通过接口模块获取建立FPGA功耗预测模型的训练数据,所述训练数据包括功耗参数数据,所述功耗参数数据包括FPGA中各种类型资源的数量、翻转率和功耗估计值;所述CPU处理器根据指定的初始模型对所述训练数据进行训练,直到满足预设的建模条件,确定功耗预测函数;所述CPU处理器通过所述接口模块将所述功耗预测函数发送给所述FPGA处理器;所述FPGA处理器接收所述功耗预测函数,并采集实时FPGA中各种类型资源的翻转率,根据所述功耗预测函数、所述采集的翻转率及FPGA生成的各种类型资源的数量得到所述FPGA功耗预测值。

可选地,在上述方面的一个示例中,所述资源包括时钟、查找表、寄存器、输入输出接口、内部RAM、数字信号处理器和高速收发器。

可选地,在上述方面的一个示例中,所述FPGA功耗预测值还包括固定功耗值,所述固定功耗值为根据所述功耗预测函数进行计算所产生的功耗。

可选地,在上述方面的一个示例中,所述FPGA处理器为多个,根据所述计算得到所述FPGA功耗预测值后,所述方法还包括:FPGA处理器将所述FPGA功耗预测值发送给所述CPU处理器;所述CPU处理器接收所述FPGA功耗预测值,所述CPU处理器根据每个FPGA的功耗预测值分配计算任务或进行功耗管理。

根据本说明书的实施例的另一方面,提供一种应用于联邦学习的FPGA处理器,包括:接口模块,从外部设备接收功耗预测函数,并将功耗计算单元得到的功耗预测值发送给所述外部设备;存储单元,存储FPGA中各种资源的数量和类型;采样单元,采集FPGA中各种资源的翻转率;功耗计算单元,接收所述接口模块发送的所述功耗预测函数,所述存储单元发送的所述各种类型资源的数量,以及所述采样单元发送的各种类型资源的翻转率,根据所述功耗预测函数、各种类型资源的数量和翻转率计算得到所述FPGA功耗预测值;传输单元,将所述功耗预测函数通过接口模块发送给所述功耗计算单元,将所述各种类型资源的数量通过所述存储单元发送给所述功耗计算单元,将所述各种类型资源的翻转率通过所述采样单元发送给所述功耗计算单元,以及将所述功耗预测值通过所述接口模块发送给所述外部设备。

可选地,在上述方面的一个示例中,所述资源包括时钟,查找表,寄存器,输入输出接口,内部RAM、数字信号处理器和高速收发器。

可选地,在上述方面的一个示例中,所述功耗计算单元还包括预处理单元,所述预处理单元对计算功耗预测值的数据进行预处理。

可选地,在上述方面的一个示例中,所述功耗计算单元采用并行计算架构,所述并行计算架构包括由多个处理单元组成的分层结构,各个处理单元是具备独立任务处理能力的最小处理单元。

根据本说明书的实施例的另一方面,提供一种基于联邦学习的异构处理系统包括:CPU处理器,以及至少一个上述的FPGA处理器;其中,所述CPU处理器将所述动态功耗预测函数发送给所述FPGA处理器,以及从所述FPGA处理器接收所述功耗预测值。

可选地,在上述方面的一个示例中,所述FPGA处理器为多个;所述CPU处理器还将任务处理源数据和任务配置数据发送给所述FPGA处理器,以及从所述FPGA处理器接收任务处理结果数据;所述CPU处理器接收各个FPGA处理器的功耗预测值并进行比较,根据比较结果,将所述任务处理源数据和任务配置数据发送给所述功耗预测值较低的FPGA处理器进行处理。

附图说明

通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。

图1示出了本申请实施例提供的一种联邦学习异构处理系统。

图2示出了本申请实施例提供的一种基于联邦学习异构处理系统的FPGA功耗预测方法。

图3示出了本申请实施例提供的一种包含多个FPGA处理器的联邦学习异构处理系统。

具体实施方式

现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。

如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。

随着大数据分析和人工智能技术的发展,对充足的高质量标签数据的需求越来越大。例如,对神经网络进行训练以及进行数据挖掘都需要用到海量带有标签的数据。然而,应用数据往往分散在不同的组织和个体手上,例如交易数据分散在各个金融机构,医疗诊断数据分散在各个医疗机构。另外跨行业跨领域的应用数据往往也是分散的,例如互联网领域的社交属性数据和电商交易数据往往由不同实体掌控。出于保护自身商业利益的目的,也基于数据安全、用户隐私保护以及各行业的政策法规标准不一等考量,掌握应用数据的各个组织或个体往往不愿意或者没有合适手段进行彼此之间的合作,从而让各自掌握的应用数据一起发挥作用,这种现象被称之为数据孤岛现象。为了解决跨行业跨组织的数据合作难题,尤其是其中关键的隐私保护及数据安全的问题,提出了联邦学习的概念。联邦学习指的是联合不同参与者进行机器学习建模的方法。联邦学习打破了数据孤岛的现象,并保证了数据的安全性、私密性和合法性。

一种联邦学习的异构处理系统包括主处理设备和从处理设备,主处理设备将大部分算法任务下发给从处理设备,由从处理设备来负责算法任务处理。一种实现方式中,主处理设备包括CPU处理器,从处理设备包括FPGA处理器,在联邦学习的应用场景中,CPU处理器将算法任务发给FPGA处理器进行计算处理。FPGA是一种可编程设计的硬件芯片,具有高灵活性、高并行度和低延迟处理的特点。FPGA的内部可以定制化算法设计或控制逻辑,并且FPGA上的算法实现属于“硬件实现”,最终运行的状态是特定的电路结构,没有操作系统和指令的概念,从而使得FPGA能够高度并行且快速地完成数据处理。

根据FPGA厂家提供的功耗预测工具得到的功耗估计值,和FPGA在实际应用场景当中的实际的功耗值相比存在一定程度的差异,因此希望找到一种能更为准确地预测FPGA功耗预测方法,从而对FPGA的功耗进行更为精准的管理。

本说明书实施例提供了一种基于联邦学习异构处理系统的FPGA功耗预测方法,CPU处理器获取FPGA的功耗参数数据作为训练数据进行建模,训练数据包括FPGA中各种资源的类型个数、数量和翻转率,根据指定模型对该训练数据进行训练,得到功耗预测函数;当FPGA在实际工作时,将FPGA在实际工作中各种资源的类型个数、数量和翻转率代入功耗预测函数得到功耗预测值。该功耗预测方法通过对大量训练数据进行模型训练,根据生成的功耗预测函数得到的功耗预测值和和FPGA在实际使用场景下的实际功耗值较为接近,可更加准确的预测FPGA的实时功耗值。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请的实施例进行描述。

请参阅图1,图1示出了本申请实施例提供的一种应用于联邦学习的异构处理系统,包括主处理设备10和从处理设备20,主处理设备10包括CPU处理器100,从处理设备20包括FPGA处理器200。CPU处理器100接收训练数据,并根据训练数据计算得到功耗预测函数,FPGA处理器接收功耗预测函数,根据功耗参数数据和功耗预测函数,计算得到FPGA的功耗预测值。

主处理设备10和从处理设备20之间可以通过接口模块(例如,高速接口)进行数据传输和通讯,由此完成从处理设备10和主处理设备20之间的数据和信息交互。两个处理设备之间的数据传输和通讯可以采用本地的实时高速通讯协议(比如,PCIe)而非远程通讯协议(如TCP/IP)来实现,这样能大幅度降低通讯延迟。

CPU处理器100包括接口模块110,通过该接口模块110接收训练数据,接口模块110可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选地,接口模块还可以包括标准的有线接口、无线接口。

接口模块110可以采用高速接口模块实现。可选地,所述高速接口模块可以采用DMA(direct memory access)方式或者PIO方式来与FPGA处理器200的接口模块210之间进行数据传输。所采用的DMA方式可以是高效DMA且支持双向DMA。即,支持主处理设备10可直接访问从处理设备20的存储器(图中未示出),也可以支持从处理设备20直接访问主处理设备10的存储器(图中未示出)。

DMA是一种高效的数据传输机制。在联邦学习的场景下,可以在不需要主处理设备过多干预的情况下,将大量的待计算数据先从主处理设备的存储器直接搬移到从处理设备的存储器(例如,从处理器内存)里的源数据空间(source memory)。然后,从处理设备再从本侧的源数据空间里取出来进行算法计算。待从处理设备计算完毕后,将结果数据写到从处理设备的存储器的结果数据空间(result memory)中缓存,同时告知主处理设备对应的任务已经计算完成,则主处理设备再次通过DMA方式从从处理设备的存储器的结果数据空间直接搬移到主存储器,由此完成一次算法任务的数据交互。

CPU处理器100还包括功耗函数计算单元120,CPU处理器100通过接口模块110接收训练数据,并将其传送给功耗函数计算单元120进行计算。训练数据包括功耗参数数据,功耗参数数据为产生功耗的各种资源的相关数据,一种实现方式中,用于建立FPGA功耗预测模型的训练数据包括FPGA中各种资源的类型个数、数量、翻转率和功耗估计值;另一种实现方式中,用于建立FPGA功耗预测模型的训练数据包括FPGA中各种类型资源的数量、翻转率和功耗估计值。

进一步地,FPGA的资源包括时钟(Clocking)、查找表(LUT)、寄存器(REG)、输入输出接口(I/O)、内部RAM(BRAM)、数字信号处理(DSP)和高速收发器(Transceiver)等,每种资源的数量、类型和翻转率也会对功耗产生影响。一种实现方式中,功耗参数数据包括时钟、查找表、寄存器、输入输出接口、内部RAM、数字信号处理器和高速收发器的类型个数、数量、翻转率和功耗估计值;另一种实现方式中,功耗参数数据包括时钟、查找表、寄存器、输入输出接口、内部RAM、数字信号处理器和高速收发器的各种类型资源的数量、翻转率和功耗估计值。这些功耗参数数据可利用功耗估计器通过模拟联邦学习的不同场景来生成,一种方式可通过FPGA厂家提供的功耗估计器来生成,例如通过Xilinx的功耗估计器(XPE)来生成,XPE是一个基于电子数据表的工具,旨在帮助进行FPGA的功耗估算;另一种方式用户也可以自己制作相应的工具来生成训练数据,如用户根据经验设定相应的限定条件,自动随机生成符合条件的功耗参数数据。

功耗函数计算单元120通过接口模块110接收训练数据,还通过接口模块110接收指定的初始模型,例如通过界面选定初始模型为多元线性回归模型。根据该初始模型和训练数据对初始模型进行训练,直到得到的loss为最小时结束对模型的训练,将结束训练后的模型对应的函数确定为功耗预测函数。

功耗计算单元120可采用并行计算架构,该并行计算架构包括由多个处理单元组成的分层结构,各个处理单元是具备独立任务处理能力的最小处理单元。换言之,各个处理单元能够独立完成算法的全流程处理。可选地,在一个示例中,并行计算架构可以采用嵌套式分层结构。嵌套式分层计算架构包括多个计算层次,每个计算层次可以由多个处理单元(Kernel-Engine)、多个下级计算层次或者两者组合构成。每个计算层次或每个处理单元都能够独立完成算法全流程处理。这里,处理单元是并行计算架构的最小组件单元,不能被进一步细分。利用上述嵌套式分层结构配置,可以通过对Multi-Kernel计算架构进行配置,例如,改变计算层次或处理引擎的具体设计以及参数配置,来满足不同计算功耗预估值的任务处理需求。

表1为根据一种实现方式的训练数据,包括Clocking、LUT、REG、I/O、BRAM、DSP和Transceiver的类型个数、数量、翻转率和功耗估计值,如下图所示。Clocking_类型个数为时钟资源的类型的个数,FPGA内有丰富的时钟资源,这里的Clocking_类型个数为各种类型时钟资源的个数;Clocking_数量为各种类型时钟资源的总的数量,Clocking_翻转率为时钟资源的翻转率,翻转率为当前频率下该资源单位时间内的翻转次数与频率的比值,Clocking_翻转率为当前频率下时钟资源单位时间内的翻转次数与频率的比值,表格中的其他参数以此类推,这样的一组数据和对应功耗估计值共同组成了训练数据。

表1训练数据-1

表2为根据另一种实现方式的训练数据,包括Clocking、LUT、REG、I/O、BRAM、DSP和Transceiver各种类型资源的数量、翻转率和功耗估计值,如下图所示。Clocking_数量为一种时钟资源类型的数量,Clocking_翻转率为一种时钟资源类型的翻转率,翻转率为当前频率下该资源单位时间内的翻转次数与频率的比值,Clocking_翻转率为当前频率下一种时钟资源类型单位时间内的翻转次数与频率的比值。如占用多种类型的时钟资源,还可包括多组Clocking_数量和Clocking_翻转率。表格中的其他参数以此类推,这样的一组数据和对应功耗估计值共同组成了训练数据。

图2训练数据-2

此外,可选地,在一个示例中,还可以使用测试集对得到的功耗预测函数进行评估,测试集包括工程上实测的功耗相关数据,例如时钟(Clocking)、查找表(LUT)、寄存器(REG)、输入输出接口(I/O)、内部RAM(BRAM)、数字信号处理(DSP)和高速收发器(Transceiver)的相关数据,以及实测的功耗值。具体地,将上述资源的类型个数、数量和翻转率代入功耗预测函数,得到功耗预测值,或者将各种类型资源的数量、翻转率和功耗估计值代入功耗预测函数,得到功耗估计值。将功耗预测值和实测的功耗值进行比较,若功耗预测值和实测的功耗值的差异符合预设的条件,如在预设的阈值范围之内,则说明该功耗预测函数有效。可选地,也可根据实测的功耗相关数据对功耗预测函数进行优化,得到更新的功耗预测函数,用优化后的模型计算的功耗预测值更加准确。可选地,也可利用多组实测的功耗相关数据进行多次测试,功耗预测值和实测的功耗值的差异均不符合预设的条件,则需考虑重新选择其他模型对训练数据进行训练,得到新的功耗预测函数,从而得到更为准确的功耗预测函数。

在CPU处理器,功耗预测函数通过CPU厂家工具自动生成一个bit文件,将该bit文件通过接口模块110发送给FPGA处理器200的接口模块210。在生成bit文件的过程中,通过CPU厂家工具可以对功耗计算做一部分优化,用户也可以做一部分优化。

如图1所示,FPGA处理器200包括接口模块210,通过接口模块210接收功耗预测函数,接口模块210也可以采用高速接口模块实现,可参考对接口模块110的描述,在此不再赘述。

FPGA处理器还包括存储单元220,存储单元220存储有FPGA生成的各种资源的类型个数和数量,包括时钟(Clocking)、查找表(LUT)、寄存器(REG)、输入输出接口(I/O)、内部RAM(BRAM)、数字信号处理(DSP)和高速收发器(Transceiver)的类型个数和数量。具体地,在生成FPGA逻辑电路的过程时,会生成各种资源的数量和类型等功耗参数数据,将相关数据存储在存储单元220中。可选地,存储单元220还可以位于FPGA处理器的外部,如位于FPGA的板卡上。

FPGA处理器还包括采样单元230,采样单元230可监测各种资源的翻转率,包括时钟(Clocking)、查找表(LUT)、寄存器(REG)、输入输出接口(I/O)、内部RAM(BRAM)、数字信号处理(DSP)和高速收发器(Transceiver)的翻转率。

FPGA处理器还包括功耗计算单元240,功耗计算单元240从接口模块210接收功耗预测函数;从存储单元220接收各种类型资源的数量,例如从存储单元220接收时钟(Clocking)、查找表(LUT)、寄存器(REG)、输入输出接口(I/O)、内部RAM(BRAM)、数字信号处理(DSP)和高速收发器(Transceiver)各种类型资源的数量;从采样单元230接收各种类型资源的翻转率,例如从采样单元230接收时钟(Clocking)、查找表(LUT)、寄存器(REG)、输入输出接口(I/O)、内部RAM(BRAM)、数字信号处理(DSP)和高速收发器(Transceiver)的各种类型资源的翻转率。功耗计算单元240根据接收的功耗预测函数,各种类型资源的数量和翻转率计算得到FPGA的功耗预测值。

本发明通过对训练数据建模的方式生成功耗预测函数,再将FPGA各种资源的参数代入到函数中计算得到的功耗预测值,可以更加准确的预测FPGA的实时功耗,由于FPGA的功耗预测的更加准确,有利于做精准的FPGA任务分配和电源管理等,当CPU处理器接收到的FPGA功耗预测值较大时,可减少该FPGA处理器的计算任务或者对其进行降温,例如吹风等。

可选地,在一个示例中,功耗计算单元240还包括预处理单元(图中未示出),在预处理单元中先对计算数据进行一部分的预处理,以减少到功耗计算单元240中的计算量。

可选地,在一个示例中,功耗预测值还包括固定功耗值,固定功耗值为根据功耗预测函数进行功耗计算所产生的功耗,由于功耗预测函数在进行计算时所对应的各种类型资源的数量和翻转率,或各种资源的类型个数、总数可提前确定,利用功耗预测函数可提前计算固定功耗值,由于该功耗值是提前可以确定的,因此也称作固定功耗值。进一步地,在计算FPGA的功耗预测值时,将通过功耗计算单元计算得到的功耗预测值加上该固定功耗值,作为最终的功耗预测值,可更加准确地预测FPGA的实时功耗,为主处理设备提供更为精准的FPGA的功耗状态信息,以便于主处理设备做出更为合理和高效的任务的调度处理,也便于FPGA做出更为合理的电源管理方案。

可选地,在一个示例中,FPGA处理器200还包括传输单元(图中未示出),传输单元将接口模块210接收到的功耗预测函数传送给功耗计算单元240;将存储单元220存储的各种类型资源的数量传送给功耗计算单元;将采样单元230采集到的各种类型资源的翻转率传送给功耗计算单元240;和将功耗计算单元240计算得到的功耗预测值发送给接口模块210。

图2示出了本申请实施例提供的一种基于联邦学习异构处理系统的FPGA功耗预测方法,联邦学习异构处理系统如图1所示,包括CPU处理器100和FPGA处理器200,具体请参考上述内容,在此不再赘述。

在块201,CPU处理器通过接口模块获取建立FPGA功耗预测模型的训练数据,训练数据包括功耗参数数据,功耗参数数据包括FPGA中各种资源的类型个数、数量、翻转率和功耗估计值。

在块202,CPU处理器根据指定的初始模型对所述训练数据进行训练,直到满足预设的建模条件,确定功耗预测函数。

在块203,CPU处理器通过接口模块将功耗预测函数发送给所述FPGA处理器。

在块204,FPGA处理器接收所述功耗预测函数,并采集实时FPGA中各种资源的翻转率,根据所述功耗预测函数、所述采集的翻转率及FPGA生成的各种资源的类型个数和数量计算得到所述FPGA功耗预测值。

可选地,在一示例中,在块202,CPU处理器通过接口模块获取建立FPGA功耗预测模型的训练数据,训练数据包括功耗参数数据,功耗参数数据包括FPGA中各种类型资源的数量、翻转率和功耗估计值;在块204,FPGA处理器接收所述功耗预测函数,并采集实时FPGA中各种类型资源的翻转率,根据所述功耗预测函数、所述采集的翻转率及FPGA生成的各种类型资源的数量得到所述FPGA功耗预测值。可以理解地,建立功耗模型的功耗参数数据和FPGA计算功耗预测值所用的数据要相匹配,如建立功耗模型的功耗参数数据包括各种资源的类型个数、数量、翻转率和功耗估计值,则FPGA计算功耗预测值所用的数据要包括各种资源的类型个数、数量和翻转率;如建立功耗模型的功耗参数数据包括各种类型资源的数量、翻转率和功耗估计值,则FPGA计算功耗预测值所用到的数据要包括各种资源的数量和翻转率。

图3示出了本申请实施例提供的一种包含多个FPGA处理器的联邦学习异构处理系统。

主处理设备10对应n个从处理设备,从处理设备包括从处理设备20-1到从处理设备20-n,主处理设备将任务处理源数据和任务配置数据发送给指定的从处理设备进行处理,从处理设备将功耗计算单元计算得到的功耗预测值发送给主处理设备10,主处理设备接收各个从处理设备的功耗预测值并进行比较,根据比较结果合理的进行任务分配。

可选地,在一示例中,CPU处理器100接收FPGA处理器200-1到FPGA处理器200-n的功耗预测值,并对功耗预测值进行比较,确定FPGA处理器200-n的功耗预测值最小,则CPU处理器将任务源数据和任务配置数据发送给FPGA处理器200-n执行计算任务。

CPU处理器根据当前所有FPGA处理器计算得到的功耗预测值,将多次任务合理地分配到各个FPGA处理器进行计算,从而能发挥出FPGA处理器最大效率;还可以根据各FPGA处理器所需的功耗合理地调整FPGA板卡上电源模块的电源或者对任务需求低的FPGA芯片进行降频处理,而达到节省电能的效果。

本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。

需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。

上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。

本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号