CN109656872A - 一种动态部分可重构片上系统软硬件划分方法 - Google Patents
一种动态部分可重构片上系统软硬件划分方法 Download PDFInfo
- Publication number
- CN109656872A CN109656872A CN201811584060.7A CN201811584060A CN109656872A CN 109656872 A CN109656872 A CN 109656872A CN 201811584060 A CN201811584060 A CN 201811584060A CN 109656872 A CN109656872 A CN 109656872A
- Authority
- CN
- China
- Prior art keywords
- task
- fpga
- equation
- region
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明涉及一种针对动态部分可重构片上系统的高效软硬件划分方法,能够解决软硬件划分问题中的任务映射、任务排序、任务调度、任务重构排序、任务间通信等问题。所采用的方法将软硬件划分问题描述为精炼的数学模型,从而可以采用求解器以更少的时间复杂度获得最优解。同时,本申请所公开的方法将FPGA动态部分可重构区域所分配的所有任务的重构时间纳入考虑之中,提高了结果与实际应用的符合度,具有更高的应用价值。
Description
技术领域
本发明涉及动态部分可重构片上系统软硬件协同设计,特别是针对基于微处理器和动态部分可重构可编程逻辑门阵列的片上系统中的软硬件划分问题。
背景技术
随着技术的发展,人们对计算系统处理能力的要求越来越高。5G、高清多媒体、人工智能等,都需要高性能的计算系统做支撑。然而,芯片制造工艺达到了7nm的极限,使得传统上通过增加集成电路上的元器件数目来提高处理器性能的方法遇到了瓶颈;因此,可重构片上系统(SoC)引起业界的重视。其中,集成微处理器(CPU)和动态部分可重构可编程逻辑门阵列(FPGA)的片上系统得到了广泛应用。类似的SoC包括Xilinx Zynq-7000,XilinxUltrascale(+)和Altera Arria-10系列SoC等。
上述SoC系统中集成了CPU和FPGA,其中的FPGA提供了基于区域的动态部分可重构能力,可以在重构部分资源区域功能的同时不影响FPGA其他区域的执行。应用的各功能模块可以有多种实现,例如采用高级语言综合(HLS)工具通过高级语言实现特定功能,高级语言代码可以通过不同编译工具生成运行在不同类型处理器上的可执行文件。因此,应用功能模块既可以部署到CPU上执行也可以部署到FPGA的某个部分可重构区域上执行。应用的各功能模块需要在空域和时域两个方面共享SoC中的计算资源,然而,如何进行资源共享是实际系统设计中的关键问题,这个问题被称为动态部分可重构SoC系统中的软硬件划分问题。软硬件划分的目的是求解任务到处理器的映射、任务排序和定时、任务重构顺序及重构时间等,从而为实际系统中应用的运行提供支撑。同时,也只有在SoC系统中对应用进行合理的部署和调度,才能最大程度地发挥SoC系统的优势,满足应用的实时性要求。
软硬件划分方法分为静态划分和动态划分两种类别,静态划分是指在应用执行前进行预划分,动态划分需要在应用执行的过程进行实时划分。在设计过程中,设计工具不能自动提供静态或者动态划分方案。设计者需要根据自身经验或者使用特定算法来确定划分方案。然而,硬件设计的周期一般都很长,因此根据自身经验反复试验划分方案直到找最优的解决方法在实际中并不可行。设计有效的划分算法才能提升开发效率,缩短开发周期,同时在一定程度上降低系统实现设计的门槛。现成的划分算法可以分为随机优化算法和模型求解法。随机优化方法往往容易陷入局部最优解;而现有的模型复杂度都很高,对于大规模问题需要较长的时间才能得到最优解。本发明所提出的方法能够在上述两方面进行较好的平衡。
发明内容
为了克服随机优化算法容易陷入局部最优解和现有模型复杂度过大的不足,本发明提供了一种针对动态部分可重构片上系统软硬件划分的方法。该方法采用混合整数线性规划(MILP)对上述问题进行精确、高效的建模,在保证结果正确的前提下,尽可能地降低求解复杂度,缩短问题的求解时间,从而提升系统开发效率。
动态部分可重构片上系统软硬件划分问题可以归类为组合优化问题,采用混合整数线性规划是求解最优解的一种有效率方法。如何将实际问题建模为MILP模型是整个软硬件划分流程中最为关键的一环。不同建模方法所生成的MILP模型复杂度不同,导致求解时间和效率有很大差异;此外,模型正确性也影响所获得结果的精度及与实际应用系统的符合度。
为了降低模型的复杂度,提高求解速率,基于动态部分可重构片上系统中应用执行的约束,本发明提出了一种采用尽可能少的变量和约束方程来将问题建模为MILP模型,从而降低模型规模提高求解速度。本发明对动态部分可重构片上系统中的硬件模型、应用模型进行建模,明确了这类系统中部署应用时所存在的各类约束,并针对现有方法的不足,发明了一种采用混合整数规划来解决软硬件划分问题的方法,所发明方法能够采用较少的变量和约束方程将问题建模为MILP模型,保证模型求解结果与实际应用的吻合度,并能够有效提升求解效率。
本发明的技术方案是:对动态部分可重构片上系统中的应用和硬件进行建模,提炼系统运行问题进行细致分析,使用少量变量和约束方程对软硬件划分问题进行建模,从而构建一种精炼、准确、高效的MILP模型,具体包括下述步骤:
1.平台与应用模型
定义1:FPGA由一组动态部分可重构区域组成,表示为R={PR0,PR2,...PRm-1},PRi表示第i个可重构区域。PRi具有重构开销属性RTi,重构开销与区域的面积大小成正比;
定义2:本发明将应用建模为有向无环图(DAG),一个DAG可表示为G=(V,E),其中V表示任务节点的集合;E表示边的集合,同一条边上的两个任务具有数据依赖关系。假定应用有|V|个任务,|E|条边。FPGA上划分m个动态部分可重构区域.每个任务节点v∈V,有两个属性值cs(v)、ch(v),分别表示任务在CPU和FPGA上执行需要消耗的时间。对于每条边e∈E,使用src(e)表示边e上的源任务,dst(e)表示目的任务,每条边e有一个属性W(e)表示源任务到目的任务的通信开销;
定义3:应用预先分成任务簇,表示为C={TC0,TC2...TCm-1},TCi为第i个簇。每个簇内包含若干个任务,
定义4:应用任务簇被预分配到各个FPGA动态部分可重构区域,TCi中的任务被预分配到PRi。任务簇预分配表示TCi中的各任务可以被分配到CPU或者PRi中运行,但不能分配到其它可重构区域中运行;
定义5:任务开始执行时间表示为sv,任务结束时间endv=sv+exv,exv表示任务执行消耗的时间。k∈PRi,任务开始重构时间表示为rk,任务重构结束时间endrv=rv+RTi。P表示任务最终分配到CPU上的集合;
2.系统约束
本发明考虑的场景是一个集成了单核CPU和一块FPGA的异构SoC系统,系统中的FPGA具有动态部分可重构特性。FPGA可编程逻辑门阵列可以划分为若干个部分可重构区域,各可重构区域可根据实际需要下载不同的配置文件实现功能重构。配置文件的下载有很多种方式,其中一种是通过FPGA内嵌的处理器内核和内部配置访问通道ICAP进行下载,另一种方式是通过PCAP进行传输。FPGA可重构区域的大小及位置可根据实际需要设定。在上述动态部分可重构SoC系统中执行应用约束可以描述如下:
(1)两个任务不能同时在CPU或者同一个硬件重构区域上执行;
(2)为了避免资源冲突,每个任务只能映射到一个运算单元;
(3)具有数据依赖关系的任务,任务要在依赖数据到达后才能开始执行;
(4)由于一次只能使用一个可重构配置接口,分配到FPGA上的多个任务不能同时进行重构。因此,FPGA上所有任务的重构是串行进行的;
3.问题建模
本发明将问题建模为混合整数线性规划模型,下面介绍模型中所使用的变量及约束方程;
3.1变量定义
(1)整数型变量:
sa:a∈V,任务a开始执行时间;sb:b∈V,任务b开始执行时间;
ra:a∈V,任务a重构开始时间;
SL:应用的总执行时间(调度长度);
(2)二进制变量:
zab:a,b∈V,a≠b,当任务a和任务b均调度到CPU上执行时,zab=0表示任务a在任务b之前执行,反之表示任务b在任务a之前执行;
ha:a∈V,ha=1表示任务a被调度到FPGA上执行,ha=0表示任务a被分配到CPU上执行;
hb:b∈V,hb=1表示任务b被调度到FPGA上执行,hb=0表示任务b被分配到CPU上执行;
de:e∈E,de=1表示边e上的源任务和目的任务分别在CPU和FPGA上执行。de=0表示两个任务在同一种处理单元上执行;
xab:如果任务a、b最终均被分配到同一个重构区域上执行时,xab=0表示在同一个可重构区域内的任务b在任务a执行结束后开始重构。反之,表示任务a在任务b执行结束之后开始重构;
yab:如果任务a和任务b被分配到FPGA不同的可重构区域上执行时,yab=0表示任务a在任务b之前重构,反之表示任务b在任务a之前重构;
3.2目标和约束方程
本发明所述问题的目标是获取可以保证应用调度长度最短的调度方案,所以目标函数可以表示为minSL。对应的约束方程可以表示为:
任务的调度长度不小于最后一个任务的完成时间;
对于映射到CPU上执行的多个任务,由于只有一个CPU所以任务要串行执行。具体的软件资源冲突约束方程可以表示如下:
其中M1为常量正整数,可确保方程(E21)、(E22)总成立。当任务a、b均在CPU上执行时,有ha=0,hb=0;此时,若zab=0,方程(E21)可写为sa+csa≤sb;(E22)可写为sb+csb≤sa+M1。当M1取足够大的值时,方程(E21)保证任务a在任务b之前执行,方程(E22)亦能成立。当zab=1时,可同理推导;
当边上的源任务和目的任务在不同的处理单元上执行时,辅助变量de=1。同时目的任务要在依赖数据到达之后开始执行。上述约束可以表示为:
方程E(31)和E(32)共同保证了当hsrc(e)≠hdst(e)时de=1。方程E(33)表示边上任务的数据依赖关系,当de=1时方程(E33)可改写为enda+W(e)≤sb,表示源任务和目的任务在不同的处理单元上时,目的任务在依赖数据到达后开始执行。当de=0时,(E33)可表示为enda≤sb。源任务和目的任务在同一种运算单元上,任务间通信可通过本地共享内存完成,通信时间可以忽略不计。
任何映射到FPGA硬件可重构区域上执行的任务,都需要下载配置文件到特定的区域对硬件单元进行功能配置后才可以开始执行。上述约束可以表示如下:
其中M2为常量正整数,可确保方程(E4)总成立。分配到FPGA同一个可重构区域上执行的任务,任务之间需要串行执行。为达到上述目的,对FPGA上执行的任务约束可以表示如下:
其中M3为常量正整数,可确保方程(E51)、(E52)总成立。当ha=hb=1,xab=0时,方程E(51)可写为sa+cha≤rb;方程(E52)可写为sb+chb≤ra+M3。M3取足够大的值时,(E51)确保了任务b在任务a执行结束后开始重构,(E52)亦能成立。
本发明涉及的目标系统一次只能使用一个可重构配置接口,因此FPGA每一次只能下载一个可重构配置文件,任务的重构不能并行执行。具体的约束可以表示如下:
其中M4为常量正整数,可确保方程(E61)、(E62)总成立。当ha=hb=1,yab=0时,方程E(61)可改写为ra+RTi≤rb,E(62)可表示为rb+RTj≤ra+M4。M4取足够大的值时,E61保证了任务b在任务a重构完成之后开始重构。当yab=1时,同样能避免不同动态部分可重构区域上任务间的重构冲突。
本发明的有益效果:
本发明提出了一种针对动态部分可重构片上系统软硬划分问题的方法,能够解决软硬件划分问题中的任务映射、任务排序、任务调度、任务重构排序、任务间通信等问题。从实际问题到数学模型的过程以及模型中的变量和约束条件,本发明所提模型在能获取问题最优解的前提下,通过降低变量和约束方程的复杂度来加快问题的求解速度。与现有模型相比,本发明提出的建模方法可以更快地为设计者提供有效的软硬件划分方案。
附图说明
图1为FPGA异构系统,
图2为软硬件划分流程。
具体实施方式
下面结合附图对本发明作进一步说明:
图1是本发明所针对的SoC异构系统。如图1所示,该异构片上系统集成了CPU和现场可编程门阵列(FPGA),该系统中的FPGA具有动态部分可重构特性。系统中的FPGA可编程逻辑单元可以划分为若干个部分可重构区域,如图中的PR0、PR1,各可重构区域可根据实际需要通过ICAP/PCAP下载不同的配置文件实现功能重构;
图2是1.2描述的软硬件划分流程。
综上所述,本发明提出的高效MILP模型通过降低变量和约束方程的复杂度来加快问题的求解速度,能够在较短时间内为动态部分可重构SoC系统的开发者提供一个有效的软硬件划分方案。
Claims (3)
1.一种动态部分可重构片上系统软硬件划分方法,对动态部分可重构片上系统中的硬件模型、应用模型进行建模,明确了这类系统中部署应用时所存在的各类约束,其特征在于,
对所述动态部分可重构片上系统中的硬件模型、应用模型进行建模,具体包括下述步骤:
步骤1.平台与应用模型
定义1:FPGA由一组动态部分可重构区域组成,表示为R={PR0,PR2,...PRm-1},PRi表示第i个可重构区域,PRi具有重构开销属性RTi,重构开销与区域的面积大小成正比;
定义2:将应用建模为有向无环图DAG,一个DAG表示为G=(V,E),其中V表示任务节点的集合,E表示边的集合,同一条边上的两个任务具有数据依赖关系,假定应用有|V|个任务,|E|条边,FPGA上划分m个动态部分可重构区域.每个任务节点v∈V,有两个属性值cs(v)、ch(v),分别表示任务在CPU和FPGA上执行需要消耗的时间,对于每条边e∈E,使用src(e)表示边e上的源任务,dst(e)表示目的任务,每条边有一个属性W表示源任务到目的任务的通信开销;
定义3:应用预先分成任务簇,表示为C={TC0,TC2...TCm-1},TCi为第i个簇,每个簇内包含若干个任务,
定义4:应用任务簇被预分配到各个FPGA动态部分可重构区域上,TCi中的任务被预分配到PRi,任务簇预分配表示TCi中的各任务可以被分配到CPU或者PRi中运行,但不能分配到其它可重构区域中运行;
定义5:任务开始执行时间表示为sv,任务结束时间endv=sv+exv,exv表示任务执行消耗的时间,k∈PRi,任务开始重构时间表示为rk,任务重构结束时间endrv=rv+RTi,P表示任务最终分配到CPU上的集合;
步骤2.系统约束
本发明的场景是一个集成了单核CPU和一块FPGA的异构SoC系统,系统中的FPGA具有动态部分可重构特性,FPGA可编程逻辑门阵列划分为若干个部分可重构区域,各可重构区域可根据实际需要下载不同的配置文件实现功能重构,FPGA可重构区域的大小及位置根据实际需要设定;
步骤3.问题建模
将问题建模为混合整数线性规划模型,模型中所使用的变量及约束方程如下;
3.1变量定义
(1)整数型变量:
sa:a∈V,任务a开始执行时间;sb:b∈V,任务b开始执行时间;
ra:a∈V,任务a重构开始时间;
SL:应用的总执行时间即调度长度;
(2)二进制变量:
zab:a,b∈V,a≠b,当任务a和任务b均调度到CPU上执行时,zab=0表示任务a在任务b之前执行,反之表示任务b在任务a之前执行;
ha:a∈V,ha=1表示任务a被调度到FPGA上执行,ha=0表示任务a被分配到CPU上执行;
hb:b∈V,hb=1表示任务b被调度到FPGA上执行,hb=0表示任务b被分配到CPU上执行;
de:e∈E,de=1表示边e上的源任务和目的任务分别在CPU和FPGA上执行,de=0表示两个任务在同一种处理单元上执行;
xab:如果任务a、b均被分配到同一个重构区域上执行时,xab=0表示最终分配到同一个可重构区域内的任务b在任务a执行结束后开始重构,反之,表示任务a在任务b执行结束之后开始重构;
yab:如果任务a和任务b被分配到FPGA不同的可重构区域上执行时,yab=0表示任务a在任务b之前重构,反之表示任务b在任务a之前重构;
3.2目标和约束方程
目标是获取保证应用调度长度最短的调度方案,所以目标函数表示为minSL,对应的约束方程表示为:
任务的调度长度不小于最后一个任务的完成时间;
对于映射到CPU上执行的多个任务,由于只有一个CPU所以任务要串行执行,具体的软件资源冲突约束方程表示如下:
其中M1为常量正整数,确保方程E21、E22总成立,当任务a、b均在CPU上执行时,有ha=0,hb=0;此时,若zab=0,方程E21写为sa+csa≤sb;E22写为sb+csb≤sa+M1;当M1取足够大的值时,方程E21保证任务a在任务b之前执行,方程E22亦能成立;当zab=1时,同理推导;
当边上的源任务和目的任务在不同的处理单元上执行时,辅助变量de=1,同时目的任务要在依赖数据到达之后开始执行,上述约束表示为:
方程E31和E32共同保证了当hsrc(e)≠hdst(e)时de=1;方程E33表示边上任务的数据依赖关系;当de=1时方程E33改写为enda+W(e)≤sb,表示源任务和目的任务在不同的处理单元上时,目的任务在依赖数据到达后开始执行;当de=0时,E33表示为enda≤sb,源任务和目的任务在同一种运算单元上,任务间通信通过本地共享内存完成,通信时间忽略不计;
任何映射到FPGA硬件可重构区域上执行的任务,都需要下载配置文件到特定的区域对硬件单元进行功能配置后才开始执行,上述约束表示如下:
其中M2为常量正整数,确保方程E4总成立,分配到FPGA同一个可重构区域上执行的任务,任务之间需要串行执行,对FPGA上执行的任务约束表示如下:
其中M3为常量正整数,确保方程E51、E52总成立,当ha=hb=1,xab=0时,方程E51演变为sa+cha≤rb;方程E52演变为sb+chb≤ra+M3,M3取足够大的值时,E51确保了任务b在任务a执行结束后开始重构,E52亦能成立;
目标系统一次只能使用一个可重构配置接口,因此FPGA每一次只能下载一个可重构配置文件,任务的重构不能并行执行,具体的约束表示如下:
其中M4为常量正整数,确保方程E61、E62总成立,当ha=hb=1,yab=0时,方程E61改写为ra+RTi≤rb,E62写为rb+RTj≤ra+M4;M4取足够大的值时,E61保证了任务b在任务a重构完成之后开始重构;当yab=1时,同样能避免不同动态部分可重构区域上任务间的重构冲突。
2.根据权利要求1所述的一种动态部分可重构片上系统软硬件划分方法,其特征在于,所述步骤2中,SoC系统中执行应用约束描述如下:
(1)两个任务不能同时在CPU或者同一个硬件重构区域上执行;
(2)为了避免资源冲突,每个任务只能映射到一个运算单元;
(3)具有数据依赖关系的任务,任务要在依赖数据到达后才能开始执行;
(4)由于一次只能使用一个可重构配置接口,分配到FPGA上的多个任务不能同时进行重构,因此,FPGA上所有任务的重构是串行进行的。
3.根据权利要求1所述的一种动态部分可重构片上系统软硬件划分方法,其特征在于,所述步骤2中,配置文件的下载方式一种是通过FPGA内嵌的处理器内核和内部配置访问通道ICAP进行下载,另一种方式是通过PCAP进行传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584060.7A CN109656872B (zh) | 2018-12-24 | 2018-12-24 | 一种动态部分可重构片上系统软硬件划分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584060.7A CN109656872B (zh) | 2018-12-24 | 2018-12-24 | 一种动态部分可重构片上系统软硬件划分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109656872A true CN109656872A (zh) | 2019-04-19 |
CN109656872B CN109656872B (zh) | 2022-11-15 |
Family
ID=66116537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811584060.7A Active CN109656872B (zh) | 2018-12-24 | 2018-12-24 | 一种动态部分可重构片上系统软硬件划分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656872B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045803A (zh) * | 2019-11-25 | 2020-04-21 | 中国人民解放军国防科技大学 | 一种动态部分可重构片上系统软硬件划分与调度的最优化方法 |
CN111090613A (zh) * | 2019-11-25 | 2020-05-01 | 中国人民解放军国防科技大学 | 一种基于图分割的低复杂度软硬件划分与调度方法 |
CN111262742A (zh) * | 2020-01-20 | 2020-06-09 | 中国人民解放军国防科技大学 | 一种基于sca的动态部分可重构设备资源虚拟化与波形部署方法 |
CN111274016A (zh) * | 2020-01-20 | 2020-06-12 | 中国人民解放军国防科技大学 | 基于模块融合的动态部分可重构系统应用划分与调度方法 |
CN111782376A (zh) * | 2020-07-22 | 2020-10-16 | 中国人民解放军国防科技大学 | 一种面向动态部分可重构片上系统的列表式软硬件划分方法 |
CN111858461A (zh) * | 2020-07-10 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | Fpga异构加速平台部分重置、系统、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6415384B1 (en) * | 1998-10-30 | 2002-07-02 | Lucent Technologies Inc. | Hardware/software co-synthesis of dynamically reconfigurable embedded systems |
US20050152322A1 (en) * | 2003-10-17 | 2005-07-14 | Kabushiki Kaisha Toshiba | Reconfigurable signal processing module |
CN101833368A (zh) * | 2010-04-13 | 2010-09-15 | 杭州电子科技大学 | 一种软硬件协调处理的局部动态可重构系统能量管理方法 |
US20160335223A1 (en) * | 2014-06-27 | 2016-11-17 | University Of South Florida | Methods and systems for computation of bilevel mixed integer programming problems |
CN107832085A (zh) * | 2017-09-27 | 2018-03-23 | 武汉科技大学 | 一种可重构任务的流水优化方法 |
CN108399097A (zh) * | 2018-02-27 | 2018-08-14 | 天津大学 | 一种基于双层反馈的软硬件划分方法 |
CN108958852A (zh) * | 2018-07-16 | 2018-12-07 | 济南浪潮高新科技投资发展有限公司 | 一种基于fpga异构平台的系统优化方法 |
-
2018
- 2018-12-24 CN CN201811584060.7A patent/CN109656872B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6415384B1 (en) * | 1998-10-30 | 2002-07-02 | Lucent Technologies Inc. | Hardware/software co-synthesis of dynamically reconfigurable embedded systems |
US20050152322A1 (en) * | 2003-10-17 | 2005-07-14 | Kabushiki Kaisha Toshiba | Reconfigurable signal processing module |
CN101833368A (zh) * | 2010-04-13 | 2010-09-15 | 杭州电子科技大学 | 一种软硬件协调处理的局部动态可重构系统能量管理方法 |
US20160335223A1 (en) * | 2014-06-27 | 2016-11-17 | University Of South Florida | Methods and systems for computation of bilevel mixed integer programming problems |
CN107832085A (zh) * | 2017-09-27 | 2018-03-23 | 武汉科技大学 | 一种可重构任务的流水优化方法 |
CN108399097A (zh) * | 2018-02-27 | 2018-08-14 | 天津大学 | 一种基于双层反馈的软硬件划分方法 |
CN108958852A (zh) * | 2018-07-16 | 2018-12-07 | 济南浪潮高新科技投资发展有限公司 | 一种基于fpga异构平台的系统优化方法 |
Non-Patent Citations (4)
Title |
---|
QI TANG: "《IEEE Transactions on Parallel and Distributed Systems》", 1 March 2017 * |
SUDARSHAN BANERJEE: "《IEEE Transactions on Very Large Scale Integration (VLSI) Systems》", 4 December 2006 * |
YUCHUN MA: "《2014 IEEE 32nd International Conference on Computer Design (ICCD)》", 4 December 2014 * |
唐麒等: "基于图分割的流应用多处理器映射算法", 《通信学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045803A (zh) * | 2019-11-25 | 2020-04-21 | 中国人民解放军国防科技大学 | 一种动态部分可重构片上系统软硬件划分与调度的最优化方法 |
CN111090613A (zh) * | 2019-11-25 | 2020-05-01 | 中国人民解放军国防科技大学 | 一种基于图分割的低复杂度软硬件划分与调度方法 |
CN111090613B (zh) * | 2019-11-25 | 2022-03-15 | 中国人民解放军国防科技大学 | 一种基于图分割的低复杂度软硬件划分与调度方法 |
CN111262742A (zh) * | 2020-01-20 | 2020-06-09 | 中国人民解放军国防科技大学 | 一种基于sca的动态部分可重构设备资源虚拟化与波形部署方法 |
CN111274016A (zh) * | 2020-01-20 | 2020-06-12 | 中国人民解放军国防科技大学 | 基于模块融合的动态部分可重构系统应用划分与调度方法 |
CN111262742B (zh) * | 2020-01-20 | 2022-04-26 | 中国人民解放军国防科技大学 | 一种基于sca的动态部分可重构设备资源虚拟化与波形部署方法 |
CN111274016B (zh) * | 2020-01-20 | 2022-09-09 | 中国人民解放军国防科技大学 | 基于模块融合的动态部分可重构系统应用划分与调度方法 |
CN111858461A (zh) * | 2020-07-10 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | Fpga异构加速平台部分重置、系统、设备及介质 |
CN111782376A (zh) * | 2020-07-22 | 2020-10-16 | 中国人民解放军国防科技大学 | 一种面向动态部分可重构片上系统的列表式软硬件划分方法 |
CN111782376B (zh) * | 2020-07-22 | 2022-09-06 | 中国人民解放军国防科技大学 | 一种面向动态部分可重构片上系统的列表式软硬件划分方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109656872B (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109656872A (zh) | 一种动态部分可重构片上系统软硬件划分方法 | |
US20200042856A1 (en) | Scheduler for mapping neural networks onto an array of neural cores in an inference processing unit | |
Banerjee et al. | Integrating physical constraints in hw-sw partitioning for architectures with partial dynamic reconfiguration | |
CN103593323A (zh) | 一种MapReduce任务资源配置参数的机器学习方法 | |
Végh | How Amdahl’s Law limits the performance of large artificial neural networks: why the functionality of full-scale brain simulation on processor-based simulators is limited | |
Muttillo et al. | Hepsycode-RT: A real-time extension for an ESL HW/SW co-design methodology | |
CN106648831A (zh) | 基于萤火虫算法和动态优先级的云工作流调度方法 | |
Bertout et al. | Workload assignment for global real-time scheduling on unrelated multicore platforms | |
Pelcat et al. | Scalable compile-time scheduler for multi-core architectures | |
CN111090613B (zh) | 一种基于图分割的低复杂度软硬件划分与调度方法 | |
Boucheneb et al. | Optimal reachability in cost time Petri nets | |
CN111045803A (zh) | 一种动态部分可重构片上系统软硬件划分与调度的最优化方法 | |
CN116795508A (zh) | 一种平铺加速器资源调度方法及系统 | |
Ciambrone et al. | HEPSIM: An ESL HW/SW co-simulator/analysis tool for heterogeneous parallel embedded systems | |
Bobda et al. | High-level synthesis of on-chip multiprocessor architectures based on answer set programming | |
CN114090219A (zh) | 调度系统、方法、装置、芯片、计算机设备及存储介质 | |
Jaber | High-Level soc modeling and performance estimation applied to a multi-core implementation of LTE enodeb physical layer | |
Micconi et al. | Multi-ASIP platform synthesis for real-time applications | |
Naija et al. | Towards a marte extension to address adaptation mechanisms | |
Galleguillos et al. | A job dispatcher for large and heterogeneous HPC systems running modern applications | |
Mühlbauer et al. | Rapid prototyping of OpenCV image processing applications using ASP | |
Castilhos et al. | A framework for mpsoc generation and distributed applications evaluation | |
Zahaf | Energy efficient scheduling of parallel real-time tasks on heterogeneous multicore systems | |
Pelcat | Models, Methods and Tools for Bridging the Design Productivity Gap of Embedded Signal Processing Systems | |
TWI776212B (zh) | 用於積體電路加速器之系統、方法及電腦儲存媒體 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |