CN109144702B - 一种用于行列并行粗粒度可重构阵列多目标优化自动映射调度方法 - Google Patents

一种用于行列并行粗粒度可重构阵列多目标优化自动映射调度方法 Download PDF

Info

Publication number
CN109144702B
CN109144702B CN201811034634.3A CN201811034634A CN109144702B CN 109144702 B CN109144702 B CN 109144702B CN 201811034634 A CN201811034634 A CN 201811034634A CN 109144702 B CN109144702 B CN 109144702B
Authority
CN
China
Prior art keywords
task
node
delay
reconfigurable
ready
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.)
Active
Application number
CN201811034634.3A
Other languages
English (en)
Other versions
CN109144702A (zh
Inventor
陈彦楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lanzhou University
Original Assignee
Lanzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lanzhou University filed Critical Lanzhou University
Priority to CN201811034634.3A priority Critical patent/CN109144702B/zh
Publication of CN109144702A publication Critical patent/CN109144702A/zh
Application granted granted Critical
Publication of CN109144702B publication Critical patent/CN109144702B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明揭示了一种用于行列并行粗粒度可重构阵列多目标优化自动映射调度方法,计算密集型任务通过C等代码描述,通过语义解析将其转换为数据流图的中间表示,然后通过代码级的软硬件划分,通过核心循环工具软件展开循环,可重构单元阵列的互连、规模约束等平台信息和循环数据流任务集合为输入,初始化就绪任务队列,然后去除就绪跨层、错位任务,计算运算节点的优先级,选择执行单元进行一一映射。此方案基于任务节点间的紧密度依赖,任务节点的并行度等条件下给出解决方案,有效解决了传统方法中计算阵列间通信成本大、执行时延长与任务的调度不能有效融合的问题,并且可以获得较高的加速比,同时较少的配置成本和重构单元较高的资源利用率。

Description

一种用于行列并行粗粒度可重构阵列多目标优化自动映射调 度方法
技术领域
本发明涉及计算机体系结构领域,具体是一种涉及行列任务可并行粗粒度可重构平台任务概率计算与映射调度方法。
背景技术
传统通用处理器的计算模式具有可编程性、灵活性等优点,但是对多媒体计算、图形图像计算或处理等含有大量循环的计算密集型任务来说,处理速度较慢;专用集成电路(application specific integrated circuit,ASIC)具有计算速度快等优点,但是具体专用性、不灵活等缺点;可重构计算平台融合了通用处理器和ASIC两种计算模式的优点,兼具灵活编程和较高的计算速度等优点,可重构计算结构可以通过操作任务节点在可重构计算阵列上的调度映射和一块或多块可重构运算单元阵列重复使用来实现计算密集型任务的流水或非流水运算。
可重构处理器由一个主处理器、可重构单元阵列、直接数据传输机制、多个配置控制存储器组、高速总线、若干个数据寄存器、主和局部存储器等部件构成,具有较高的计算效率和低的功耗消耗等优点,音视频编解码、密码算法、图形图像处理等计算密集型任务均适合用可重构计算方式来实现。
目前应用于粗粒度可重构单元阵列的映射调度算法仅仅考虑任务图的高度等简单因素,也没有考虑可重构单元阵列的评价指标体系,对计算密集型循环数据流图的任务之间的依赖关系、计算任务之间的并发执行度等考虑不够,难以获得一个计算密集型任务转换来的循环数据流图在一个规模和互连关系等包含多个约束的可重构单元阵列高的执行效率和低的可重构单元阵列块间通信成本。计算任务映射是评测可重构计算系统性能的关键,计算任务映射分为手工映射和自动映射两种形式,但是手工映射的缺点是一是费时费力,容易出错;二是可重构单元阵列互连等约束方式复杂,循环DFG规模较大的情况下,手工映射容易引起任务节点之间的运算死锁。由此看出计算任务的自动映射是实现可重构计算系统的核心技术之一。
发明内容
本发明所要解决的技术问题是实现一种满足行或列可并行执行任务的粗粒度可重构单元阵列的概率计算与映射调度方法,该方法可以根据PEA中PE行列数量、以及各PE的连接方式来调整其DFG图中运算节点的放置顺序,使其能够对PEA的硬件碎片的有效利用,获得PEA块间通信成本的最小化,实现对运算节点的有效调度,获得较少的任务总执行时间。
为了实现上述目的,本发明采用的技术方案为:一种用于行列并行粗粒度可重构阵列多目标优化自动映射调度方法,包括以下步骤:
预处理工作:计算密集型任务已用C等计算机编码语言实现,对C等进行源文件解析,将计算密集型任务转换为数据流图DFG(Data Flow Graph)的中间表达形式,对中间表达进行代码级划分,分为通用处理器可以直接执行的顺序代码部分(主要是非原始输入输出与存储器交换的数据部分)和可重构单元阵列可处理的循环部分。
步骤1,输入循环数据流任务图,可重构单元阵列的互连、约束模式目标架构信息;
步骤2,初始化并建立就绪任务节点列表;
步骤3,跨层就绪节点处理:加过渡节点,目的是最小的处理单元阵列PEA(Processing Element Array,PEA)跨层数据传输互连时延;
步骤4,通过概率模型公式计算每个就绪节点的权重值,动态更新就绪节点列表;
步骤5,选择权重值大且优先级高的队首任务节点;
步骤6,选择重构处理单元(Processing Element,PE),处理单元阵列PEA按从左到右依次选择第一个没有被使用的PE,映射任务节点;
步骤7,如果当前PEA块没有放满,则重复转步骤2;当前PEA已经放满或没有放满但是按硬件约束不能放置节点了,说明本块已经放置完毕,转步骤8;
步骤8,当前块PEA、单个PE等配置字与配置文件生成,执行;
步骤9,计算密集型任务的节点没有全部映射完,就绪队列不为空,开辟新块,
PEA块数+1,变量初始化,则重复转步骤2,否则转步骤10;
步骤10,最后一块PEA、单个PE等配置字与配置文件生成,执行;通用处理器做二进制代码融合,编译;
步骤11,输出计算任务的执行通信成本、总时延等参数,性能评估。
所述步骤1中:
可重构目标架构信息=(PE,I,O,R,MI,MO,CON)
式中:PE={PE0,0,PE0,1......PEm,n},每个PEm,n(1≤m≤Row,1≤n≤Col);
I={I(PE0,0)∪I(PE0,1)∪......∪I(PEm,n)},I(PEm,n)为PEm,n输入端口的集合;O={O(PE0,0)∪O(PE0,1)∪......∪O(PEm,n)},O(PEm,n)为PEm,n输出端口的集合;
Figure BDA0001790553300000031
是一有限集合,其中每一个元素代表一PE输出口到另一PE输入口存在连接关系;
MI={MI(PE0,0)∪MI(PE0,1)∪......∪MI(PEm,n)},MI(PEm,n)为PEm,n与存储器输入端口的集合;
MO={MO(PE0,0)∪MO(PE0,1)∪......∪MO(PEm,n)},MO(PEm,n)为PEm,n与存储器输出端口的集合;
CON={CON(PE0,0)∪CON(PE0,1)∪......∪CON(PEm,n)},CON(PEm,n)为PEm,n与配置端口的集合;
输入循环数据流任务图DFG=(V,E,W,D);
DFG表示循环任务数据流图展开的中间表示;顶点集V={v1,v2......vn},vi(i∈(1,n))表示有序运算符号,|V|=n表示运算符的个数;边集E={e11,e12......enn},eij表示从vi到vj有一条有向边,vi为vj的直接前驱,vj为vi的直接后继,vj的执行依赖于vi的运算结果,|E|=m表示循环DFG边的个数;W={wi|wi表示vi所占的硬件资源面积,i∈(1,n)};运算时延集D={di|di表示vi的运算时延,i∈(1,n)};
输入可重构单元阵列的互连及多约束模式:包括行列并行粗粒度可重构阵列的行和列PE单元的个数,行列并行粗粒度可重构阵列的面积APEA(APEA为PEA的面积)的大小,PE之间的互连关系。
所述步骤2中,就绪任务节点的前提条件是:当前任务节点的入度为0,并且当前任务节点的前驱已经映射到上一块PEA,当前任务节点的输入数据已经存入寄存器文件或局部存储器中,当前任务节点的计算输入从寄存器文件或局部存储器中取得。
所述步骤5中,优先级选择方法:按就绪节点的概率权值prior-cal(vi)进行优先级排序,每次选择优先级较大的节点映射到当前可重构执行单元PE,每映射一个节点就更新一次就绪列表,把概率值大的运算节点放置队列的首位。
所述步骤10,编译获得计算密集型任务的解;
所述步骤11,输出计算密集型任务的解,求解过程所需的通信成本、执行时延、配置成本、执行总时延等参数,对不同映射方案进行总体性能评估。
所述步骤11中:计算总时延参数Ttotal=(Tpart-num,TCON,Tin,Tout,Tcomp-delay,Tinter-delay);
式中:Tpart-num表示一个DFG所用的划分块数;TCON表示完成一个DFG运算所用的配置时间;Tin表示所有划分块间的非原始输入次数;Tout表示所有划分块间的非原始输出次数;Tcomp-delay为一个DFG在PEA上执行所需的计算延迟;Tinter-delay表示PEA块内跨层数据传输而产生的延迟。
计算总时延参数Ttotal计算的表达式为:
Ttotal=α×Tpart-num+β×TCON+γ×Tin+ε×Tout+μ×Tcomp-delay+θ×Tinter-delay
其中α,β,γ,ε,μ,θ
分别为一个DFG所用的划分块数,完成一个DFG运算所用的配置时间,所有划分块间的非原始输入次数,所有划分块间的非原始输出次数,为一个DFG在PEA上执行所需的计算延迟,PEA块内跨层数据传输而产生的延迟,取值范围均为(0,+∞);
加速参数为Speedup=Tone-cpu/Ttotal
本发明是一种用于行列并行粗粒度可重构阵列多目标优化自动映射调度方法,综合考虑了行列并行粗粒度可重构阵列的多约束情形,综合考虑了循环DFG的映射方案,给出的多目标优化方案分别考虑了PEA块内跨层数据传输的互连时延;考虑了运算任务之间的依赖关系;考虑了运算任务之间的执行时延的均衡化;考虑了运算任务之间行并行度的最大化;考虑了PEA阵列空闲PE的利用率,采用贪婪映射方案,相比较单核处理器,本发明获得了较高的加速比,相比较其他算法获得了较好的优化。
附图说明
下面对本发明说明书中每幅附图表达的内容作简要说明:
图1为通用粗粒度可重构体系结构示意图;
图2为PEA互连示意图;
图3为自动映射流程图;
图4为一个循环DFG子图
图5-7为多目标映射结果示意图。
具体实施方式
图1为通用的具有单个PEA阵列的粗粒度可重构体系总体结构图,该结构图主要部件包括主处理器、主存储器、AHB高速总线、可重构处理单元、配置存储器、配置控制器、局部存储器、PEA阵列等,相关互连方式如图1所示。
图2为PEA阵列的具体行和列路由互连方式,本发明设定某个PE单元执行运算时,来自指令存储器中的操作码和数据存储器中的数据能够同步到达编译。
参见图3所示一种用于行列并行粗粒度可重构阵列多目标优化自动映射调度方法流程,结合具体实例,具体包括以下步骤:
预处理步骤:计算密集型任务已用C语言等高级语言实现,对C语言等源文件进行解析和提取,并把其转换为数据流图DFG的中间表达,进行中间表达的代码级软硬件划分:主处理器软件部分:把计算任务的原始输入输出,其要经过PEA和局部存储器交互的存储或读取代码由主处理器直接控制执行;PEA硬件阵列部分:获得计算密集型任务的关键循环DFG的中间表达,将循环DFG展开。
步骤1,输入循环数据流图和约束条件:循环DFG展开的数据表,可重构单元阵列的面积,互连模式等信息。
步骤2,扫描循环DFG把入度为0的运算节点找出,组成一个初步的就绪节点列表集合V'={v1,...vk}。
步骤3,就绪节点列表集合中去除跨层与错位的就绪节点,其目的是获得最小的跨层数据传输块内互连时延Tinter-delay
步骤4,计算合法就绪节点的概率权值prior-cal(vi),按从大到小排序动态更新就绪节点列表,约定概率权值越大,其优先级越高。
步骤5,选择优先级高的队首任务节点,概率权值相等的节点取序号小的。
步骤6,选择重构处理单元PE,按从左到右从上到下原则,依次选择PEA中没有被使用的PE,一一映射,每映射一个节点,将该节点的映射标志置1,处理后续任务的工作是每映射一个节点就把该节点后续节点的入度减1,若已经映射节点的直接后继入度为0,则直接加入就绪任务队列。
步骤7,扫描PEA看有无空闲PE并且按硬件约束可以放置节点,若满足放置条件则转步骤2,重复步骤2-步骤6;否则,说明本块已经放置完毕,转步骤8;
步骤8,启动主处理器,控制、融合主处理器顺序执行代码和已经完成的当前PEA整体、PE、PE之间互连关系等配置字与配置文件生成机器码,编译执行,编译完成后,把获得的计算结果存入到局部存储器中,为下一块PEA的计算任务提供非原始数据输入或将最终的计算结果传输到主存中;
步骤9,扫描循环DFG,若任务节点没有全部映射完,就绪队列不为空,开辟新块,PEA块数+1,变量初始化,则重复转步骤2,否则转步骤10;
步骤10,启动主处理器,控制、融合主处理器顺序执行代码和最后一块PEA整体、PE、PE之间互连关系等配置字与配置文件生成机器码,编译执行,做二进制代码融合编译成机器码,硬件执行获得整个计算任务的运算结果;
步骤11,输出计算任务的执行通信成本、总时延等参数,性能评估。
下面通过一个实例来说明行列可并行粗粒度可重构计算平台的计算任务的映射编译的具体流程。
在本实施例中,设定PEA阵列的规模为4*4,即16个可重构PE单元,行列可并行粗粒度可重构计算平台还具有主存和主处理器、局部存储器、配置控制存储器等组件。
本实施例待映射的循环DFG子图如图4所示,该循环DFG子图原始输入17次,原始输出1次,共有32个运算节点,其中乘法运算7个,加法运算10个,赋值运算5个,减法运算4个,由地址取内容运算5个,算术开平方根运算1个,循环DFG子图所用的运算符号、含义、执行时延如表1所述。
第1步:输入循环数据流图和可重构单元阵列规模的面积(设为APEA=16),互连模式见图2。
表1循环DFG子图所用的运算符号相关说明
Figure BDA0001790553300000081
第2步:扫描DFG,将入度为0的节点组成一个就绪节点列表V'={v1,v3,v4,v5}。
第3步:本循环DFG跨层就绪节点处理:加过渡节点vd,目的使得Tinter-delay=0,继续。
第4步:按prior-cal(vi)=delay(vi)+λ×prob(vi|vj),λ=1,计算就绪节点的概率权值:
prior-cal(v1)=prior-cal(v3)=prior-cal(v4)=prior-cal(v5)=2cycle。
第5步:概率权值一样时,节点序号越小越优先,故v1为队首元素。
第6步:调用映射位置函数Mapping-place(),搜索到合适的位置一一映射,刚开始v1是映射到左上角第一个PE,需要说明的是Mapping-place()作用是:若映射节点是前一个节点后继依赖,则向下映射,否则找层次最小的PE位置点映射,依次类推。映射完后,PEA映射位置加映射标志PEA-flag(PE(1,1))=1,同时mapping-flag(v1)=1,v1后继v2入度减1,v2入度变为0,把v2加入到就绪队列中。
第7步:扫描PEA阵列,寻找PEA有无空闲重构单元,若有,则转第二步重复步骤2-步骤6;否则,说明本块已经放置完毕,转步骤8;
第8步,启动主处理器编译执行,编译完成后,把获得的计算结果存入到局部存储器中,为下一块PEA计算任务提供非原始数据输入或将最终计算结果传输到主存中;
第9步,扫描循环DFG,若任务节点没有全部映射完,开辟新块,PEA块数+1,则重复转步骤2,否则转步骤10;
第10步,启动主处理器,对最后一块PEA编译执行,做二进制代码融合编译成机器码,获得整个计算任务的运算结果;
步骤11,输出Tpart-num,TCON,Tin,Tout,Tcomp-delay,Tinter-delay,Ttotal
Ttotal的计算公式及修正系数如下所述:
Ttotal=α×Tpart-num+β×TCON+γ×Tin+ε×Tout+μ×Tcomp-delay+θ×Tinter-delay,令α=β=γ=ε=μ=θ=1,基于实施例(APEA4*4),表2给出了本发明提出的多目标映射(Multi-objective Mapping,MM)和传统高度优先不贪婪(High-first-no-greedy Mapping,HM)执行时延比较。
基于实施例(APEA4*4),表3给出了本发明MM算法相比较一个One-cpu的执行时延比较和加速比Speedup,Speedup=2。
表2MM和HM执行时延比较
Figure BDA0001790553300000101
表3MM和One-cpu加速比Speedup
Figure BDA0001790553300000102
上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。

Claims (6)

1.一种用于行列并行粗粒度可重构阵列多目标优化自动映射调度方法,其特征在于,包括以下步骤:
步骤1,输入可重构目标架构信息、循环任务数据流图、可重构单元阵列的互连及多约束模式;
步骤2,初始化并建立就绪任务节点列表;
步骤3,跨层就绪节点处理:加过渡节点,获得最小的处理单元阵列跨层数据传输互连时延;
步骤4,通过概率模型公式计算每个就绪节点的权重值,动态更新就绪节点列表;
步骤5,选择权重值大且优先级高的队首任务节点;
步骤6,选择重构处理单元,处理单元阵列按设定次序依次选择第一个没有被使用的重构处理单元,映射任务节点;
步骤7,如果当前处理单元阵列块没有放满,则返回步骤2;如果当前处理单元阵列已经放满或没有放满但是按硬件约束不能放置节点了,则执行步骤8;
步骤8,当前块处理单元阵列、单个重构处理单元配置字与配置文件生成,执行;
步骤9,若计算密集型任务的节点没有全部映射完,就绪队列不为空,开辟新块,处理单元阵列块数+1,变量初始化,并返回步骤2,就绪队列为空,任务节点全部映射完毕,则执行步骤10;
步骤10,最后一块处理单元阵列、单个重构处理单元配置字与配置文件生成,执行,通用处理器做二进制代码融合,编译;
步骤11,输出计算任务的执行通信成本、总时延参数,性能评估;
自动映射调度方法执行前设有预处理步骤:计算密集型任务程序源文件解析,将计算密集型任务转换为数据流图的中间表达形式,对中间表达进行代码级划分,分为通用处理器可以直接执行的顺序代码部分和可重构单元阵列可处理的循环部分。
2.根据权利要求1所述的自动映射调度方法,其特征在于:
所述步骤1中:
可重构目标架构信息=(PE,I,O,R,MI,MO,CON)
式中:PE={PE0,0,PE0,1......PEm,n},PEm,n(1≤m≤Row,1≤n≤Col);
I={I(PE0,0)∪I(PE0,1)∪......∪I(PEm,n)},I(PEm,n)为PEm,n输入端口的集合;O={O(PE0,0)∪O(PE0,1)∪......∪O(PEm,n)},O(PEm,n)为PEm,n输出端口的集合;
R=I×O={<o,i>|o∈O,i∈I}是一有限集合,其中每一个元素代表一PE输出口到另一PE输入口存在连接关系;
MI={MI(PE0,0)∪MI(PE0,1)∪......∪MI(PEm,n)},MI(PEm,n)为PEm,n与存储器输入端口的集合;
MO={MO(PE0,0)∪MO(PE0,1)∪......∪MO(PEm,n)},MO(PEm,n)为PEm,n与存储器输出端口的集合;
CON={CON(PE0,0)∪CON(PE0,1)∪......∪CON(PEm,n)},CON(PEm,n)为PEm,n与配置端口的集合;
输入循环数据流任务图DFG=(V,E,W,D);
DFG表示循环任务数据流图展开的中间表示;顶点集V={v1,v2......vn},vi(i∈(1,n))表示有序运算符号,|V|=n表示运算符的个数;边集E={e11,e12......enn},eij表示从vi到vj有一条有向边,vi为vj的直接前驱,vj为vi的直接后继,vj的执行依赖于vi的运算结果,|E|=m表示循环DFG边的个数;W={wi|wi表示vi所占的硬件资源面积,i∈(1,n)};运算时延集D={di|di表示vi的运算时延,i∈(1,n)};
输入可重构单元阵列的互连及多约束模式:包括行列并行粗粒度可重构阵列的行和列PE单元的个数,行列并行粗粒度可重构阵列的面积APEA的大小,PE之间的互连关系。
3.根据权利要求1所述的自动映射调度方法,其特征在于:所述步骤2中,就绪任务节点的前提条件是:当前任务节点的入度为0,并且当前任务节点的前驱已经映射到上一块处理单元阵列PEA,当前任务节点的输入数据已经存入寄存器文件或局部存储器中,当前任务节点的计算输入从寄存器文件或局部存储器中取得。
4.根据权利要求1所述的自动映射调度方法,其特征在于:所述步骤5中,优先级选择方法:按就绪节点的概率权值prior-cal(vi)进行优先级排序,每次选择优先级较大的节点映射到当前可重构执行单元PE,每映射一个节点就更新一次就绪列表,把概率值大的运算节点放置队列的首位。
5.根据权利要求1所述的自动映射调度方法,其特征在于:
所述步骤10,编译获得计算密集型任务的解;
所述步骤11,输出计算密集型任务的解,求解过程所需的通信成本、执行时延、配置成本、执行总时延等参数,对不同映射方案进行总体性能评估。
6.根据权利要求1所述的自动映射调度方法,其特征在于:
所述步骤11中:计算总时延参数Ttotal=(Tpart-num,TCON,Tin,Tout,Tcomp-delay,Tinter-delay);
式中:Tpart-num表示一个DFG所用的划分块数;TCON表示完成一个DFG运算所用的配置时间;Tin表示所有划分块间的非原始输入次数;Tout表示所有划分块间的非原始输出次数;Tcomp-delay为一个DFG在PEA上执行所需的计算延迟;Tinter-delay表示PEA块内跨层数据传输而产生的延迟;
计算总时延参数Ttotal计算的表达式为:
Ttotal=α×Tpart-num+β×TCON+γ×Tin+ε×Tout+μ×Tcomp-delay+θ×Tinter-delay
其中α,β,γ,ε,μ,θ;
分别为一个DFG所用的划分块数,完成一个DFG运算所用的配置时间,所有划分块间的非原始输入次数,所有划分块间的非原始输出次数,为一个DFG在PEA上执行所需的计算延迟,PEA块内跨层数据传输而产生的延迟,取值范围均为(0,+∞);
加速参数为Speedup=Tone-cpu/Ttotal
CN201811034634.3A 2018-09-06 2018-09-06 一种用于行列并行粗粒度可重构阵列多目标优化自动映射调度方法 Active CN109144702B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811034634.3A CN109144702B (zh) 2018-09-06 2018-09-06 一种用于行列并行粗粒度可重构阵列多目标优化自动映射调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811034634.3A CN109144702B (zh) 2018-09-06 2018-09-06 一种用于行列并行粗粒度可重构阵列多目标优化自动映射调度方法

Publications (2)

Publication Number Publication Date
CN109144702A CN109144702A (zh) 2019-01-04
CN109144702B true CN109144702B (zh) 2021-12-07

Family

ID=64827267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811034634.3A Active CN109144702B (zh) 2018-09-06 2018-09-06 一种用于行列并行粗粒度可重构阵列多目标优化自动映射调度方法

Country Status (1)

Country Link
CN (1) CN109144702B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737628A (zh) 2019-10-17 2020-01-31 辰芯科技有限公司 一种可重构处理器和可重构处理器系统
CN111738703B (zh) * 2020-05-29 2023-06-02 中国科学院计算技术研究所 一种加速安全散列算法的加速器
CN111930680B (zh) * 2020-09-17 2021-02-23 北京清微智能科技有限公司 一种可重构阵列映射方法和装置
CN112231630B (zh) * 2020-10-26 2024-02-02 国家超级计算无锡中心 基于fpga并行加速的稀疏矩阵求解方法
CN112463397B (zh) * 2020-12-10 2023-02-10 中国科学院深圳先进技术研究院 lock-free的分布式死锁避免方法及装置、计算机设备及可读存储介质
CN112559441A (zh) * 2020-12-11 2021-03-26 清华大学无锡应用技术研究院 一种数字信号处理器的控制方法
CN113094030A (zh) * 2021-02-09 2021-07-09 北京清微智能科技有限公司 一种可重构芯片的易编译方法及系统
CN112818585B (zh) * 2021-04-20 2021-07-13 北京智芯仿真科技有限公司 集成电路层间耦合的迭代计算并行颗粒的划分方法及装置
CN113128142B (zh) * 2021-04-27 2022-04-01 北京智芯仿真科技有限公司 基于文件锁的集成电路电磁仿真粗颗粒并行方法及装置
CN113569519A (zh) * 2021-06-21 2021-10-29 重庆大学 一种面向粗粒度可重构阵列上的路由增强调度方法及装置
WO2023234867A2 (en) * 2022-06-03 2023-12-07 National University Of Singapore Reconfigurable computing architecture

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630274A (zh) * 2009-07-31 2010-01-20 清华大学 一种实现对循环任务进行软硬件划分的方法和装置
CN102340668A (zh) * 2011-09-30 2012-02-01 上海交通大学 一种基于可重构技术的mpeg2亮度插值的实现方法
CN103116493A (zh) * 2013-01-21 2013-05-22 东南大学 一种应用于粗粒度可重构阵列的自动映射方法
CN103605573A (zh) * 2013-11-18 2014-02-26 东南大学 一种基于开销计算的可重构体系结构的映射决策方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8068715B2 (en) * 2007-10-15 2011-11-29 Telescent Inc. Scalable and modular automated fiber optic cross-connect systems
KR101293701B1 (ko) * 2012-02-23 2013-08-06 국립대학법인 울산과학기술대학교 산학협력단 코어스 그레인드 재구성 어레이에서의 중첩 루프문 수행 장치 및 그 방법
US20150268963A1 (en) * 2014-03-23 2015-09-24 Technion Research & Development Foundation Ltd. Execution of data-parallel programs on coarse-grained reconfigurable architecture hardware

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630274A (zh) * 2009-07-31 2010-01-20 清华大学 一种实现对循环任务进行软硬件划分的方法和装置
CN102340668A (zh) * 2011-09-30 2012-02-01 上海交通大学 一种基于可重构技术的mpeg2亮度插值的实现方法
CN103116493A (zh) * 2013-01-21 2013-05-22 东南大学 一种应用于粗粒度可重构阵列的自动映射方法
CN103605573A (zh) * 2013-11-18 2014-02-26 东南大学 一种基于开销计算的可重构体系结构的映射决策方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种粗粒度可重构体系结构多目标优化映射算法;陈乃金等;《电子学报》;20151130(第11期);第1-5节 *

Also Published As

Publication number Publication date
CN109144702A (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
CN109144702B (zh) 一种用于行列并行粗粒度可重构阵列多目标优化自动映射调度方法
Valiant A bridging model for multi-core computing
Liang et al. An efficient hardware design for accelerating sparse CNNs with NAS-based models
US20160239461A1 (en) Reconfigurable graph processor
Catthoor et al. Application-specific architectural methodologies for high-throughput digital signal and image processing
Xu et al. CaFPGA: An automatic generation model for CNN accelerator
WO2021202011A1 (en) Partitioning for an execution pipeline
US20230076473A1 (en) Memory processing unit architecture mapping techniques
CN115525287A (zh) 多阶段编译器架构
Yang et al. S 2 Engine: A novel systolic architecture for sparse convolutional neural networks
US20230128127A1 (en) Compute element processing using control word templates
CN110008436B (zh) 基于数据流架构的快速傅里叶变换方法、系统和存储介质
CN116048521A (zh) 一种多阵列粗粒度可重构架构的多层级并行性开发方法
Xia et al. Scalable node-level computation kernels for parallel exact inference
Wuu et al. Synthesis of asynchronous systems from data flow specifications
Zhou et al. A customized NoC architecture to enable highly localized computing-on-the-move DNN dataflow
Frid et al. Critical path method based heuristics for mapping application software onto heterogeneous MPSoCs
CN113419990B (zh) 在粗粒度可重构阵列上加速非完美嵌套循环的方法及装置
Wu et al. PaRS: Parallel and near-optimal grid-based cell sizing for library-based design
US11886981B2 (en) Inter-processor data transfer in a machine learning accelerator, using statically scheduled instructions
Kornelsen et al. Fast heterogeneous task mapping for reducing edge dnn latency
Savadi et al. Multi-DaC programming model: A variant of multi-BSP model for divide-and-conquer algorithms
CN116187242A (zh) 基于图神经网络的高层次综合调度方法及装置
Haubelt et al. Using stream rewriting for mapping and scheduling data flow graphs onto many-core architectures
Evripidou et al. Block scheduling of iterative algorithms and graph-level priority scheduling in a simulated data-flow multiprocessor

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211115

Address after: 730000 No. 222, Tianshui South Road, Yuguan District, Lanzhou City, Gansu Province

Applicant after: Lanzhou University

Address before: 241000 No. 40, Yinhu South Road, Jinghu District, Wuhu City, Anhui Province

Applicant before: Chen Yannan

GR01 Patent grant
GR01 Patent grant