The present invention provides a FPGA dynamic reconfiguration can include hardware acceleration method and system based on Extraction Application of reconfigurable data flow graph for each function node function layer in the data flow graph, starting from the compute nodes, each node of the calculation of the remaining operation operation start time and end time of operation, according to the the calculation of each function node operation start time and end time of operation; according to each function node processing end time, without changing the original data of each function node dependent on the function layer data flow diagram to make layers, each layer includes a function node in the computation time in accordance with the circuit in the same class separate sorting; function layer will have the same function with the same function of each layer, function layer merged according to predetermined rules with each combination The function layer becomes an independent configuration layer, and the functions in the same configuration layer run in parallel, thus increasing the computing speed of FPGA.
【技术实现步骤摘要】
基于FPGA的动态可重构硬件加速方法及系统
本专利技术涉及FPGA重构领域,特别涉及基于FPGA的动态可重构硬件加速方法及系统。
技术介绍
逻辑可编程阵列(Field-ProgrammableGateArray,简称FPGA)是一种生产后可编程的集成电路芯片。在芯片中,电路提供可编程节点,可根据用户设定重新定义电路逻辑。相比于传统处理芯片CPU,FPGA可提供针对特定问题的高度优化电路,提升百倍级别计算性能;相比于传统集成电路芯片ASIC,FPGA可提供更加灵活的计算方案。然而,传统CPU计算架构中不同计算程序可复用相同的计算硬件资源,从而提高资源使用率以及灵活性,逻辑可编程阵列却不能。FPGA提供的高度优化电路由于其定制特性,无法支持不同计算程序间的复用,从而限制了硬件电路的灵活性等性能。例如,为支持同一应用中的不同函数功能,硬件电路需要支持两个优化电路模块,然而由于数据依赖,两个电路模块并不能同时运行,造成效率降低。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供基于FPGA的动态可重构硬件加速方法及系统,用于解决现有技术中FPGA不能复用相同的计算硬件资源从而导致灵活性较低的问题。为实现上述目的及其他相关目的,本专利技术提供一种基于FPGA的动态可重构硬件加速方法,包括:提取应用程序的可重构数据流图,所述可重构数据流图包括:含有多个函数节点的函数层数据流图、及每个所述函数节点的含有多个运算节点的电路层数据流图;对于每个函数节点,从其中的起始运算节点起,计算其余各个运算节点的运算起始时间和运算结束时间,据以计算每个函数节点的运算起始时间 ...
【技术保护点】
一种基于FPGA的动态可重构硬件加速方法,其特征在于,包括:提取应用程序的可重构数据流图,所述可重构数据流图包括:含有多个函数节点的函数层数据流图、及由每个所述函数节点所含有的多个运算节点所构成的电路层数据流图;对于每个函数节点,从其中的起始运算节点起,计算其余各个运算节点的运算起始时间和运算结束时间,据以计算每个函数节点的运算起始时间和运算结束时间;在不改变各函数节点间原本的数据依赖的基础上,将所述函数层数据流图重新分层,每层包括按照函数节点内运算时间分开排序时在同一等级的电路;将拥有相同函数功能的函数层合并为同一函数层,合并后的各函数层依照预设规则结合,每个结合后的函数层成为一个独立的配置层,同一配置层中的函数并行运行。
【技术特征摘要】
1.一种基于FPGA的动态可重构硬件加速方法,其特征在于,包括:提取应用程序的可重构数据流图,所述可重构数据流图包括:含有多个函数节点的函数层数据流图、及由每个所述函数节点所含有的多个运算节点所构成的电路层数据流图;对于每个函数节点,从其中的起始运算节点起,计算其余各个运算节点的运算起始时间和运算结束时间,据以计算每个函数节点的运算起始时间和运算结束时间;在不改变各函数节点间原本的数据依赖的基础上,将所述函数层数据流图重新分层,每层包括按照函数节点内运算时间分开排序时在同一等级的电路;将拥有相同函数功能的函数层合并为同一函数层,合并后的各函数层依照预设规则结合,每个结合后的函数层成为一个独立的配置层,同一配置层中的函数并行运行。2.根据权利要求1所述的基于FPGA的动态可重构硬件加速方法,其特征在于,所述依照预设规则结合,包括:依照排序顺序从低层到高层逐一结合。3.根据权利要求1所述的基于FPGA的动态可重构硬件加速方法,其特征在于,所述计算每个函数节点的运算起始时间和运算结束时间,包括:取各起始运算节点的运算起始时间作为各函数节点的运算起始时间;取各运算节点中最大的运算结束时间作为各函数节点的运算结束时间。4.根据权利要求1所述的基于FPGA的动态可重构硬件加速方法,其特征在于,还包括方案层生成步骤,从而使同一应用能采用不同配置层的组合来完成整个函数的执行,包括:每个配置层根据配置中排序最高的函数层级寻找包含下一函数层级的配置层;包含相同函数的配置层不能结合;每个结合形成的方案包含所述应用的所有函数。5.根据权利要求4所述的基于FPGA的动态可重构硬件加速方法,...
【专利技术属性】
技术研发人员:牛昕宇,
申请(专利权)人:上海鲲云信息科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。