CN112269581B - 一种可重构芯片的内存耦合编译方法及*** - Google Patents
一种可重构芯片的内存耦合编译方法及*** Download PDFInfo
- Publication number
- CN112269581B CN112269581B CN202011554667.8A CN202011554667A CN112269581B CN 112269581 B CN112269581 B CN 112269581B CN 202011554667 A CN202011554667 A CN 202011554667A CN 112269581 B CN112269581 B CN 112269581B
- Authority
- CN
- China
- Prior art keywords
- dfg
- data flow
- flow graph
- current
- memory
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Devices For Executing Special Programs (AREA)
- Logic Circuits (AREA)
Abstract
本发明提供一种可重构芯片的内存耦合编译方法及***,包括:获取DFG数据流图的周期数;通过映射时间差获取所述周期数的线性转换矢量;判断是否能通过启发式算法获取所述线性转换矢量的线性数组,根据判断结果或通过所述当前DFG数据流图获取内存映射结果,获调整当前DFG数据流图,直到获取到所述线性数组为止。本发明通过对DFG数据流图中各节点的调整,使其满足可获取线性数组的要求,大幅缩减了编译时间,用户的编译体验感很强。实用性很高,不仅可用了可重构加速芯片,而且对于可编程器件上都有极高的复用性。
Description
技术领域
本发明涉及可重构处理器开发,应用于可重构编译器的编译器及编译过程。本发明具体涉及一种可重构芯片的内存耦合编译方法及***。
背景技术
在基于LLVM编译框架(Low Level Virtual Machine)编译框架的面向典型可重构处理器CGRA的编译器编译过程中,其主要目标是将用户的应用程序通过可重构编译器的LLVM编译框架前端通用的词法、语法和语义分析后,对中间表达式(IR,IntermediateRepresentation)进行优化后提取合适的数据流图,在通过任务划分和存储分配、算子调度和映射工作等,生成该应用程序需要在可重构处理器硬件上进行加速计算的二进制配置信息(Context Bitstream),最后通用处理器RISC-V编译生成的二进制可执行文件交叉编译链接,生成完整的可重构处理器硬件***最终的可执行文件,其中既包括了主控处理器的需要执行的传统串行或者控制类的软件代码的二进制指令信息,也包括了需要在可重构处理器单元上硬件加速代码的二进制配置信息。
目前采用可重构处理器编译常用的高级软件编程语言(比如C/C++)的为编程模型,其中通过标签的形式,由程序员来进行软硬件任务的划分工作,对于需要由可重构处理器硬件加速的代码增加#pragram的作用类似,然后再通过编译流程生成相应加速代码的可重构配置信息。其中,映射和内存访存是编译器的重要因素,现有的编译方案对两者的使用模糊,已造成不能正确使用的情况。
发明内容
本发明的目的是提供一种可重构芯片的内存耦合编译方法,其通过对DFG数据流图中各节点的调整,使其满足可获取线性数组的要求,大幅缩减了编译时间,用户的编译体验感很强。实用性很高,不仅可用了可重构加速芯片,而且对于可编程器件上都有极高的复用性。
同时本发明的另一个目的是提供一种可重构芯片的内存耦合编译***,其大幅缩减了编译时间,用户的编译体验感很强。实用性很高,不仅可用了可重构加速芯片,而且对于可编程器件上都有极高的复用性。
本发明的一个方面提供了一种可重构芯片的内存耦合编译方法,其包括:
步骤S101,获取DFG数据流图的周期数。
步骤S102,通过映射时间差获取周期数的线性转换矢量。
步骤S103,判断是否能通过启发式算法获取线性转换矢量的线性数组,若能,则通过当前DFG数据流图获取内存映射结果,若否,则调整当前DFG数据流图后返回步骤S101,直到获取到线性数组为止。
在本发明一种可重构芯片的内存耦合编译方法的一种实施方式中,步骤S103中则调整当前DFG数据流图后返回步骤S101的步骤还包括:根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图。
在本发明一种可重构芯片的内存耦合编译方法的另一种实施方式中,根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图的步骤还包括:
判断DFG数据流图中是否存在可使最长路径周期数不变的节点,若是,则根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图。若否,则根据最长路径周期数增加设定周期数个的原则调整DFG数据流图中的节点获取当前DFG数据流图。
在本发明一种可重构芯片的内存耦合编译方法的再一种实施方式中,步骤S101中还包括:
待运算数组通过可重构编译器经过Clang编译器前端和LLVM编译框架根据DDG有向多重图获取DFG数据流图。根据DFG数据流图中load节点和store节点的周期数获取DFG数据流图的周期数。
在本发明一种可重构芯片的内存耦合编译方法的再一种实施方式中,启发式算法为公式1:
公式1
其中,gcd 代表取最大公约数;N为:可重构芯片中共享存储器的存储块数量。
本发明的另一个方面,提供了一种可重构芯片的内存耦合编译***,其包括:
获取单元,其配置为获取DFG数据流图的周期数。
线性转换矢量单元,其配置为通过映射时间差获取周期数的线性转换矢量。和
验证单元,其配置为判断是否能通过启发式算法获取线性转换矢量的线性数组,若能,则通过当前DFG数据流图获取内存映射结果,若否,则调整当前DFG数据流图后返回获取单元,直到获取到线性数组为止。
在本发明一种可重构芯片的内存耦合编译***的一种实施方式中,验证单元中则调整当前DFG数据流图后返回获取单元还包括:根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图。
在本发明一种可重构芯片的内存耦合编译***的另一种实施方式中,根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图的步骤还包括:
判断DFG数据流图中是否存在可使最长路径周期数不变的节点,若是,则根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图。若否,则根据最长路径周期数增加设定周期数个的原则调整DFG数据流图中的节点获取当前DFG数据流图。
在本发明一种可重构芯片的内存耦合编译***的再一种实施方式中,获取单元还配置为:
待运算数组通过可重构编译器经过Clang编译器前端和LLVM编译框架根据DDG有向多重图获取DFG数据流图。根据DFG数据流图中load节点和store节点的周期数获取DFG数据流图的周期数。
在本发明一种可重构芯片的内存耦合编译***的再一种实施方式中,启发式算法为公式2:
其中,gcd 代表取最大公约数;N为:可重构芯片中共享存储器的存储块数量;
下文将以明确易懂的方式,结合附图对一种可重构芯片的内存耦合编译方法及***的特性、技术特征、优点及其实现方式予以进一步说明。
附图说明
图1是用于说明在本发明一种实施方式中的可重构芯片的内存耦合编译方法的流程示意图。
图2是用于说明在本发明一种实施方式中的可重构芯片的内存耦合编译的***组成图。
图3是用于说明在本发明另一种实施方式中的实例代码1的DFG数据流图。
图4是用于说明在本发明另一种实施方式中的编译流程图。
具体实施方式
为了对发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示结构相同或结构相似但功能相同的部件。
在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。为使图面简洁,各图中只示意性地表示出了与本示例性实施例相关的部分,它们并不代表其作为产品的实际结构及真实比例。
本发明的一个方面提供了一种可重构芯片的内存耦合编译方法,如图1所示,可重构芯片的内存耦合编译方法其包括:
步骤S101,获取DFG数据流图的周期数。
本步骤中,获取待运算数组的DFG数据流图。根据该DFG数据流图获取其周期数。
步骤S102,获取线性转换矢量。
本步骤中,通过映射时间差获取周期数的线性转换矢量。
步骤S103,获取内存映射结果。
本步骤中,判断是否能通过启发式算法获取线性转换矢量的线性数组,若能,则通过当前DFG数据流图获取内存映射结果,若否,则调整当前DFG数据流图后返回步骤S101,直到获取到线性数组为止。
在本发明一种可重构芯片的内存耦合编译方法的一种实施方式中,步骤S103中则调整当前DFG数据流图后返回步骤S101的步骤还包括:根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图。
在本发明一种可重构芯片的内存耦合编译方法的另一种实施方式中,根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图的步骤还包括:
判断DFG数据流图中是否存在可使最长路径周期数不变的节点,若是,则根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图。若否,则根据最长路径周期数增加设定周期数个的原则调整DFG数据流图中的节点获取当前DFG数据流图。
在本发明一种可重构芯片的内存耦合编译方法的再一种实施方式中,步骤S101中还包括:
待运算数组通过可重构编译器经过Clang编译器前端和LLVM编译框架DDG有向多重图获取DFG数据流图。根据DFG数据流图中DDGload加载节点和store存储节点的周期数获取DFG数据流图的周期数。
在本发明一种可重构芯片的内存耦合编译方法的再一种实施方式中,启发式算法为公式1:
其中,gcd 代表取最大公约数;N为:可重构芯片中共享存储器的存储块数量;
本发明的另一个方面,如图2所示,提供了一种可重构芯片的内存耦合编译***,其包括:
获取单元101,其配置为获取DFG数据流图的周期数。
线性转换矢量单元201,其配置为通过映射时间差获取周期数的线性转换矢量。和
验证单元301,其配置为判断是否能通过启发式算法获取线性转换矢量的线性数组,若能,则通过当前DFG数据流图获取内存映射结果,若否,则调整当前DFG数据流图后返回获取单元101,直到获取到线性数组为止。
在本发明一种可重构芯片的内存耦合编译***的一种实施方式中,验证单元301中则调整当前DFG数据流图后返回获取单元101还包括:根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图。
在本发明一种可重构芯片的内存耦合编译***的另一种实施方式中,根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图的步骤还包括:
判断DFG数据流图中是否存在可使最长路径周期数不变的节点,若是,则根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图。若否,则根据最长路径周期数增加设定周期数个的原则调整DFG数据流图中的节点获取当前DFG数据流图。
在本发明一种可重构芯片的内存耦合编译***的再一种实施方式中,获取单元101还配置为:
待运算数组通过可重构编译器经过Clang编译器前端和LLVM编译框架DDG有向多重图获取DFG数据流图。根据DFG数据流图中load加载节点和store存储节点的周期数获取DFG数据流图的周期数。
在本发明一种可重构芯片的内存耦合编译***的再一种实施方式中,启发式算法为公式2:
其中,gcd 代表取最大公约数;N为:可重构芯片中共享存储器的存储块数量;
作为本发明一种可重构芯片的内存耦合编译方法的一种实施方式,本发明中的一种可重构芯片的内存耦合编译方法内容包括:
CGRA通常由主控制器(CPU),PE阵列,主存储器和本地存储器组成。CGRA计算***的执行流程如下:首先,CPU初始化CGRA指令和输入数据进入主存储器。在CGRA加速内核之前,应将输入数据从主内存传输到本地内存,并将指令加载到CGRA的配置内存中。
当CGRA完成计算时,输出数据将从本地内存传输到主存储器。影响整体性能的过程包括数据传输任务和CGRA计算任务。现有的优化方法仅优化CGRA计算部分,而的方法则试图找到一种解决方案,以改善整个CGRA计算流程。
可重构处理器中负责任务处理的可重构处理单元阵列PEA,主要由可重构配置信息来控制的,通过配置控制器来负责具体的配置信息的加载和分发。整个可重构PEA阵列共享一个控制器,控制器负责为所有的PE单元生成一个共同的配置地址和配置序列,且整个PEA的配置功能切换周期长,影响可重构处理器的动态重构和实用性。虽然每个PE对应的功能可以不同,但是每个PE单元却不能控制自己的执行过程。在可重构单元中严格的按照执行周期节拍来控制个每个PE单元,Load单元的执行周期为5个周期,Store单元的执行周期为5个周期,alu的执行周期为2个周期。
如下实例代码1展示了多次访问同一个数组程序的例子。
#include <stdlib.h>
int main() {
const s32_t frame_size = 200;
s32_t frame[200];
s32_t frame_verify[200];
s32_t coef = 15;
s32_t Q_coef = 3;
#pragma cgra map (to:coef, Q_coef, frame_size) map(tofrom: frame[0:200])
for (int i = frame_size - 1; i > 1; i--) {
s32_t tmp = ((s32_t)frame[i - 1] * coef) >> Q_coef;
tmp = MED3(MIN_Q15, tmp, MAX_Q15);
tmp = (s32_t)frame[i] - tmp;
frame[i] = MED3(MIN_Q15, tmp, MAX_Q15);
}
}
图3是可重构编译器经过Clang 前端和LLVM根据DDG分析出来的DFG数据流图,包括了所有运算的流程图,DFG节点将‘0’与frame[i-1],‘1’与frame[i] 和‘13’与frame[i]分别对应,‘0’节点的启动的周期数是0,‘1’的启动周期是10,‘13’的启动周期是23。为了将循环流水化,每个时钟周期中三个元素(‘0’、‘1’,‘13’)将被同时访问。
在此方案中,冲突将在每个周期发生,因为对于每次迭代,‘1’和’13‘分别对应的load和store操作,不能简单的将其合并,相同的库中(load frame[i]和store frame[i])将发生冲突,严重拖累程序运行性能。
可重构处理器编译器映射内存之间是互相影响的,调整内存数组的拓扑结构会造成DFG节点的时间差不匹配,进而影响到映射是否需要补route节点和***全局寄存器,相反映射后产生的新的时间节拍会影响到内存的拓扑结构。如果拓扑结构不合理不能满足硬件的Banking结构,那么需要重复进行调整映射过程,而映射是需要消费大量的编译器的CPU时间,造成编译时间过长的,影响用户的开发效率。
本发明中调整了映射和内存访存冲突的实现方式,将优先执行映射代码,然后利用映射代码计算各个Load节点和Store节点的周期数,然后将产生的周期数加到内存的拓扑结构中,然后尝试是否可以找个合理的内存分配机制,如果可以找到,既使用得到Banking系数。
如果不能找到合适的参数避免内存冲突,根据内存冲突反馈的情况下调整DFG流图,在DFG流图中***route节点路由动态调整,最后将动态调整带有route节点的DFG流图进行重新映射,这种方式最多仅仅需要两次映射,一次Banking策略就可以满足设计需求,流程图4所示:
建立内存Banking 数学模型,内存banking算法原理是核心是启发式算法,建立的数学模型如下:
根据数学模型[1],针对上述实例代码1用例分别对frame[i-1], frame[i],frame[i]数组根据映射时间差建立了新的拓扑结构:R0=(1,0);R1=(1,-11);R2=(1,-24),根据启发式算法生成针对可重构处理器硬件资源的备选的集合,然后对产生的拓扑结构两两使用[3]方法求解,最后得到了需要16bank就可以避免了内存访存的问题,而且也不需要调整DFG数据流图中Load节点和Store节点的位置。
如果特殊的案例需要调整,就需要判断最长路径上的Load节点和Store节点是否满足设计内存要求,如果满足要求,就可以对分支load和store采用多目标遗传算法进行调整,对于不满足的要求,就需要在最长路径节点上***不同的时间点,然后在重复上一次动作求解,直到找到一个可以满足设计要求的时间差,依据此时间差调整DFG,最后得到映射结果。
从而本发明的有益效果在于:大幅缩减了编译时间,用户的编译体验感很强。使用不同的策略模式,不会在出现了因为映射和内存耦合关联下无法编译的问题。实用性很高,不仅仅可用了可重构加速芯片,而且对于可编程器件上都有极高的复用性。
应当理解,虽然本说明书是按照各个实施方式中描述的,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (4)
1.一种可重构芯片的内存耦合编译方法,其特征在于,其包括:
步骤S101,获取DFG数据流图的周期数;
步骤S102,通过映射时间差获取所述周期数的线性转换矢量;
步骤S103,判断是否能通过启发式算法获取所述线性转换矢量的线性数组,若能,则通过当前DFG数据流图获取内存映射结果,若否,则调整当前DFG数据流图后返回步骤S101,直到获取到所述线性数组为止;
所述步骤S103中所述则调整当前DFG数据流图后返回步骤S101的步骤还包括:
根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图;
所述根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图的步骤还包括:
判断所述DFG数据流图中是否存在可使最长路径周期数不变的节点,若是,则根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图;若否,则根据最长路径周期数增加设定周期数的原则调整DFG数据流图中的节点获取当前DFG数据流图;所述启发式算法为公式1:
其中,gcd代表取最大公约数;N为:可重构芯片中共享存储器的存储块数量;
?代表寻求是否有交集,判断是否满足条件。
2.根据权利要求1所述的内存耦合编译方法,其特征在于,所述步骤S101中还包括:
待运算数组通过可重构编译器经过Clang编译器前端和LLVM编译框架根据DDG有向多重图获取DFG数据流图;
根据所述DFG数据流图中load节点和store节点的周期数获取DFG数据流图的周期数。
3.一种可重构芯片的内存耦合编译***,其特征在于,其包括:
获取单元,其配置为获取DFG数据流图的周期数;
线性转换矢量单元,其配置为通过映射时间差获取所述周期数的线性转换矢量;和
验证单元,其配置为判断是否能通过启发式算法获取所述线性转换矢量的线性数组,若能,则通过当前DFG数据流图获取内存映射结果,若否,则调整当前DFG数据流图后返回获取单元,直到获取到所述线性数组为止;
所述验证单元中所述则调整当前DFG数据流图后返回获取单元还包括:
根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图;
所述根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图的步骤还包括:
判断所述DFG数据流图中是否存在可使最长路径周期数不变的节点,若是,则根据最长路径周期数不变的原则调整DFG数据流图中的节点获取当前DFG数据流图;若否,则根据最长路径周期数增加设定周期数的原则调整DFG数据流图中的节点获取当前DFG数据流图;所述启发式算法为公式2:
其中,gcd代表取最大公约数;N为:可重构芯片中共享存储器的存储块数量;
?代表寻求是否有交集,判断是否满足条件。
4.根据权利要求3所述的内存耦合编译***,其特征在于,所述获取单元还配置为:
待运算数组通过可重构编译器经过Clang编译器前端和LLVM编译框架根据DDG有向多重图获取DFG数据流图;
根据所述DFG数据流图中load节点和store节点的周期数获取DFG数据流图的周期数。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011554667.8A CN112269581B (zh) | 2020-12-24 | 2020-12-24 | 一种可重构芯片的内存耦合编译方法及*** |
PCT/CN2021/078941 WO2022134307A1 (zh) | 2020-12-24 | 2021-03-03 | 一种可重构芯片的内存耦合编译方法及*** |
US17/484,408 US20220206697A1 (en) | 2020-12-24 | 2021-09-24 | Memory coupled compiling method and system of reconfigurable chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011554667.8A CN112269581B (zh) | 2020-12-24 | 2020-12-24 | 一种可重构芯片的内存耦合编译方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112269581A CN112269581A (zh) | 2021-01-26 |
CN112269581B true CN112269581B (zh) | 2021-07-02 |
Family
ID=74350172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011554667.8A Active CN112269581B (zh) | 2020-12-24 | 2020-12-24 | 一种可重构芯片的内存耦合编译方法及*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112269581B (zh) |
WO (1) | WO2022134307A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269581B (zh) * | 2020-12-24 | 2021-07-02 | 北京清微智能科技有限公司 | 一种可重构芯片的内存耦合编译方法及*** |
CN113703845B (zh) * | 2021-08-17 | 2023-08-22 | 山东大学 | 一种基于risc-v的可重构嵌入式处理器微架构及其工作方法 |
CN115629929B (zh) * | 2022-12-23 | 2023-08-29 | 皇虎测试科技(深圳)有限公司 | 一种内存错误检测方法、***和设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6718541B2 (en) * | 1999-02-17 | 2004-04-06 | Elbrus International Limited | Register economy heuristic for a cycle driven multiple issue instruction scheduler |
WO2002103515A1 (en) * | 2001-06-15 | 2002-12-27 | Cadence Design Systems, Inc. | Enhancing mergeability of datapaths and reducing datapath widths responsively to required precision |
JP4275013B2 (ja) * | 2004-06-21 | 2009-06-10 | 三洋電機株式会社 | データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。 |
CN101630268B (zh) * | 2009-08-20 | 2012-07-04 | 中国科学技术大学 | 同步优化的方法及设备 |
CN103218347B (zh) * | 2013-04-28 | 2016-01-20 | 清华大学 | 面向可重构阵列的多参数融合性能建模方法 |
CN105718245B (zh) * | 2016-01-18 | 2018-08-28 | 清华大学 | 可重构计算循环映射优化方法 |
CN105867994A (zh) * | 2016-04-20 | 2016-08-17 | 上海交通大学 | 一种用于粗粒度可重构架构编译器的指令调度优化方法 |
US10810593B1 (en) * | 2016-05-12 | 2020-10-20 | State Farm Mutual Automobile Insurance Company | Heuristic account fraud detection engine |
CN112269581B (zh) * | 2020-12-24 | 2021-07-02 | 北京清微智能科技有限公司 | 一种可重构芯片的内存耦合编译方法及*** |
-
2020
- 2020-12-24 CN CN202011554667.8A patent/CN112269581B/zh active Active
-
2021
- 2021-03-03 WO PCT/CN2021/078941 patent/WO2022134307A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022134307A1 (zh) | 2022-06-30 |
CN112269581A (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112269581B (zh) | 一种可重构芯片的内存耦合编译方法及*** | |
CN112465108B (zh) | 一种面向存算一体平台的神经网络编译方法 | |
Villarreal et al. | Designing modular hardware accelerators in C with ROCCC 2.0 | |
US6088511A (en) | Nested parallel 2D Delaunay triangulation method | |
Fahringer | Automatic performance prediction of parallel programs | |
De Gonzalo et al. | Automatic generation of warp-level primitives and atomic instructions for fast and portable parallel reduction on GPUs | |
Barik et al. | Communication optimizations for distributed-memory X10 programs | |
US11556756B2 (en) | Computation graph mapping in heterogeneous computer system | |
Fahringer | Automatic performance prediction for parallel programs on massively parallel computers | |
Xing et al. | An in-depth comparison of compilers for deep neural networks on hardware | |
CN115576561A (zh) | 一种基于申威处理器的深度神经网络模型编译优化方法 | |
JP3539613B2 (ja) | ループ飛び出し文を含むループに対する配列サマリ解析方法 | |
US5737623A (en) | Multi-processor parallel computer architecture using a parallel machine with topology-based mappings of composite grid applications | |
JP2005508029A (ja) | リコンフィギュアラブルアーキテクチャのためのプログラム変換方法 | |
Masliah et al. | Metaprogramming dense linear algebra solvers applications to multi and many-core architectures | |
CN113885877A (zh) | 编译的方法、装置、设备及介质 | |
WO2021047662A1 (en) | Method and apparatus for enabling autonomous acceleration of dataflow ai applications | |
US20220206697A1 (en) | Memory coupled compiling method and system of reconfigurable chip | |
JP7495028B2 (ja) | コンピュータ実装方法及びコンピュータプログラム | |
JP3757825B2 (ja) | プロセッサ間通信削減方法と並列化コンパイラ装置並びにプログラム | |
Bozkus et al. | Compiling hpf for distributed memory mimd computers | |
Kataev et al. | Data distribution and parallel code generation for heterogeneous computational clusters | |
Sohl | Efficient Compilation for Application Specific Instruction set DSP Processors with Multi-bank Memories | |
Dechering et al. | V-cal: a Calculus for the Compilation of Data Parallel Languages | |
Muller et al. | Caches with compositional performance |
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 |