CN112527304A - 基于异构平台的自适应节点融合编译优化方法 - Google Patents
基于异构平台的自适应节点融合编译优化方法 Download PDFInfo
- Publication number
- CN112527304A CN112527304A CN201910885756.1A CN201910885756A CN112527304A CN 112527304 A CN112527304 A CN 112527304A CN 201910885756 A CN201910885756 A CN 201910885756A CN 112527304 A CN112527304 A CN 112527304A
- Authority
- CN
- China
- Prior art keywords
- dag
- node
- fusion
- subgraph
- heterogeneous platform
- 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
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
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
Abstract
本发明公开一种基于异构平台的自适应节点融合编译优化方法,包括以下步骤:S1、生成中间表示;S2、DAG融合子图识别;S3、节点融合策略;S4、代价评估;S5、自适应选择节点融合策略,即根据S4计算得到的第k个融合策略代价,结合目标后端的寄存器、cache、内存使用情况,自适应地选择最优的节点融合策略;S6、目标相关节点融合,根据节点融合策略,将S23中匹配得到的DAG子图的控制流和数据流关系,转移到S5选择出的节点融合策略所生成的融合后的DAG子图上,使用融合后的DAG子图替换融合前的DAG子图,转到S22;S7、生成目标代码,即编译器对降级完成后的DAG进行编译处理,生成异构平台代码。本发明为异构平台的节点融合优化提供精确指导,能够进一步挖掘异构平台复合指令的潜力,提升异构平台的性能。
Description
技术领域
本发明涉及一种基于异构平台的自适应节点融合编译优化方法,属于编译器优化技术领域。
背景技术
精简指令集计算机和复杂指令集计算机是当前CPU的两种架构,它们的区别在于不同的CPU设计理念和方法。早期的CPU全部是复杂指令集架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务。长期以来,计算机的性能的提高往往是通过增加硬件的复杂性来获得,一般的复杂指令计算机所含的指令数目至少300条,有的甚至超过了500条。复杂指令集计算机虽然能带来较大的性能提升,但是对于一个典型的程序而言,其运算过程所使用的80%指令只占一个处理器指令系统的20%,由此可见指令和成本之间存在巨大的不平衡。此外,尽管超大规模集成电路技术现在已经达到很高的水平,但也很难把复杂指令集计算机的全部硬件做在一个芯片上,这也妨碍单片计算机的发展。精简指令集系统只包含那些使用频繁的指令,并提供一些必要的指令以支持操作系统和高级语言。使用精简指令集的计算机不仅制造工艺简单而且成本低廉。
复合指令是在基础的精简指令集的基础之上,增加的一些用于提升程序性能、增加指令并行度的特殊指令。可以说复合指令的出现标志着精简指令集计算机和复杂指令计算机正在逐渐走向融合,比如常见的复合指令——乘加指令就是由专门的乘加器来完成乘加运算,对于一些机器学习、科学计算的课题而言,乘加指令使用得相当频繁。如神经网络中最常见的表达式y = x × w + b可以通过乘加指令来完成,表达式中x为[x1,x2,…,xn],w为[w1,w2,…,wn]T, b为一个常量。当然还有其他的一些复合指令来针对某些课题进行加速,所以通过使用复合指令可以进一步释放CPU的潜力,提升CPU的性能。复合指令是通过专用的硬件逻辑来完成复杂的功能,相比于软件实现,硬件实现效率更高。该类指令被广泛用于提升课题执行效率上,且达到很好的加速效果。
传统的编译器所采用的节点融合优化技术主要都是通过在源代码中调用内建函数接口或用中间表示进行模板匹配等方式来生成复合指令。内建函数调用方式与后端指令信息是强相关的,这在一定程度上限制了目标无关的节点优化,不利于编译器优化技术的发展,而且增加了程序员开发程序的复杂度。模板匹配方式生成复合指令是通过匹配一个子图然后替换为相应的复合指令,这种方式没有充分考虑指令集、数据流和控制流信息对复合指令的影响,导致生成的可执行文件的无法充分发挥复合指令的性能,不利于处理器复合指令性能的充分提升。该类方式的优点是简单且易于实现,但是没有充分考虑后端特征和当前数据流等信息,导致生成的指令序列不能达到所期待的加速效果,甚至还可能导致倒加速,极大地限制了复合指令的性能。
发明内容
本发明的目的是提供一种基于异构平台的自适应节点融合编译优化方法,该基于异构平台的自适应节点融合编译优化方法为异构平台的节点融合优化提供精确指导,能够进一步挖掘异构平台复合指令的潜力,提升异构平台的性能。
为达到上述目的,本发明采用的技术方案是:一种基于异构平台的自适应节点融合编译优化方法,包括以下步骤:
S1、源程序经过编译器的编译处理,生成编译器的中间表示DAG,对DAG进行降级处理,并在DAG降级阶段,对DAG进行以下操作:
S2、进行DAG融合子图识别,进一步包括以下步骤:
S21、对DAG进行拓扑排序、得到拓扑序列,将DAG中的节点按照拓扑序列的顺序,添加到节点融合优化的工作列表中;
S22、编译器自S21生成的工作列表的首节点开始,顺序取出工作列表的一个节点,并将此节点从工作列表中删除,检查此节点的操作码、操作数值类型和结果值类型,若此节点的操作码、操作数值类型以及结构值类型是合法的,则此节点可以进行节点融合,进行S23,否则继续进行S22,直到工作列表为空,转到S71;
S23、以S22中取出的节点为根节点,根据编译器后端的DAG子图匹配模板,使用图匹配算法,找到所有以S22中取出的节点为根节点的、可进行节点融合的n个DAG子图,转到S24;
S24、若S23未找到可进行节点融合的DAG子图,则转到S22,否则转到S31;
S3、S23中找到的n个可进行节点融合的DAG子图一一对应n种节点融合策略,根据第k个节点融合策略,将S23找到的第k个可进行节点融合的DAG子图进行节点融合,其中,k=1,2,3,4,...,n,将第k个可进行节点融合的DAG子图的多个节点融合为一个节点,并将第k个DAG子图和Pattern模板进行匹配,获得Pattern模板的输出子图,从而生成第k个可进行节点融合的DAG子图的融合后的DAG子图,编译器记录融合后的DAG子图的所有节点,转到S41;
S4、融合策略代价评估,即根据S3中融合后的DAG子图所有节点的数据引用和异构平台的指令集信息,计算将S3中生成的融合后的第k个DAG子图转换为指令序列后,运行该段指令序列中的指令所要花费的代价,所述代价包括花费的时钟周期数、寄存器数以及占用内存的大小,转到S51;
S5、自适应选择节点融合策略,即根据S4计算得到的第k个融合策略代价,结合目标后端的寄存器、cache、内存使用情况,自适应地选择最优的节点融合策略,即对目标后端提升性能效果最好的节点融合策略,转到S6;
S6、目标相关节点融合,即根据S5选择出的节点融合策略,将S23中匹配得到的DAG子图的控制流和数据流关系,转移到由S5选择出的节点融合策略所生成的融合后的DAG子图上,并使用融合后的DAG子图替换融合前的DAG子图,转到S22;
S7、生成目标代码,即编译器对降级完成后的DAG进行编译处理,生成异构平台代码。
上述技术方案中进一步改进的方案如下:
1. 上述方案中,所述工作列表是一种线性的数据结构,包含所有待处理的节点。
2. 上述方案中,不同的根节点对应不同的DAG子图匹配模板,所述DAG子图匹配模板也是一个DAG子图。
3. 上述方案中,DAG中的一个节点对应异构平台的指令集中的一条指令。
4. 上述方案中,S23中匹配得到的DAG子图即与融合后的DAG子图对应的、节点融合优化前的DAG子图。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明基于异构平台的自适应节点融合编译优化方法,其在异构平台上,提供一个自适应节点融合编译优化接口和一种自适应节点融合编译优化算法,在DAG降级阶段,利用DAG图的数据流和控制流信息,结合目标后端的指令集信息,对融合前后的子图进行代价评估,根据评估结果自适应的选择最优的节点融合优化策略,从而生成更高效的程序代码,简化了DAG图,减小了其他优化的复杂度,为其他优化提供了更多可能,同时为异构平台的节点融合优化提供精确指导,能够进一步挖掘异构平台复合指令的潜力,提升异构平台的性能。
附图说明
附图1为本发明基于异构平台的自适应节点融合编译优化方法流程图。
具体实施方式
实施例:一种基于异构平台的自适应节点融合编译优化方法,基于大规模异构系统,包括以下步骤:
S1、源程序经过编译器的编译处理,生成编译器的中间表示DAG,对DAG进行降级处理,并在DAG降级阶段,对DAG进行以下操作:
S2、进行DAG融合子图识别,进一步包括以下步骤:
S21、对DAG进行拓扑排序、得到拓扑序列,将DAG中的节点按照拓扑序列的顺序,添加到节点融合优化的工作列表中;
S22、编译器自S21生成的工作列表的首节点开始,顺序取出工作列表的一个节点,并将此节点从工作列表中删除,检查此节点的操作码、操作数值类型和结果值类型,若此节点的操作码、操作数值类型以及结构值类型是合法的,则此节点可以进行节点融合,进行S23,否则继续进行S22,直到工作列表为空,转到S71;
S23、以S22中取出的节点为根节点,根据编译器后端的DAG子图匹配模板,匹配模板指的是Pattern模板,Pattern是编译器的一种数据结构,用于模板匹配,其输入是DAG子图,输出也是DAG子图,而Pattern所做的工作就是将输入的DAG子图变换为输出的DAG子图,使用图匹配算法,找到所有以S22中取出的节点为根节点的、可进行节点融合的n个DAG子图,转到S24;
S24、若S23未找到可进行节点融合的DAG子图,则转到S22,否则转到S31;
S3、S23中找到的n个可进行节点融合的DAG子图一一对应n种节点融合策略,根据第k个节点融合策略,将S23找到的第k个可进行节点融合的DAG子图进行节点融合,其中,k=1,2,3,4,...,n,将第k个可进行节点融合的DAG子图的多个节点融合为一个节点,并将第k个DAG子图和Pattern模板进行匹配,获得Pattern模板的输出子图,从而生成第k个可进行节点融合的DAG子图的融合后的DAG子图,编译器记录融合后的DAG子图的所有节点,转到S41;
S4、融合策略代价评估,即根据S3中融合后的DAG子图所有节点的数据引用和异构平台的指令集信息,计算将S3中生成的融合后的第k个DAG子图转换为指令序列后,运行该段指令序列中的指令所要花费的代价,所述代价包括花费的时钟周期数、寄存器数以及占用内存的大小,转到S51;
S5、自适应选择节点融合策略,即根据S4计算得到的第k个融合策略代价,结合目标后端的寄存器、cache、内存使用情况,自适应地选择最优的节点融合策略,即对目标后端提升性能效果最好的节点融合策略,如cache剩余资源较少,可以选择访存代价较小的融合策略,转到S6;
S6、目标相关节点融合,即根据S5选择出的节点融合策略,将S23中匹配得到的DAG子图的控制流和数据流关系,转移到由S5选择出的节点融合策略所生成的融合后的DAG子图上,并使用融合后的DAG子图替换融合前的DAG子图,转到S22;
S7、生成目标代码,即编译器对降级完成后的DAG进行编译处理,生成异构平台代码。
上述工作列表是一种线性的数据结构,包含所有待处理的节点。
不同的根节点对应不同的DAG子图匹配模板,所述DAG子图匹配模板也是一个DAG子图。
DAG中的一个节点对应异构平台的指令集中的一条指令。
S23中匹配得到的DAG子图即与融合后的DAG子图对应的、节点融合优化前的DAG子图。
实施例进一步解释如下:
本发明具体流程如图1所示,编译器对DAG图进行优化降级的过程中,按照拓扑序列从根节点开始遍历DAG图,以每一个节点为根节点进行DAG融合子图的识别,然后根据DAG控制流和数据流信息以及后端特征平台的指令集信息评估多种节点融合策略的代价,根据代价自适应的选择最优的节点融合优化策略。
具体流程如下:
1)生成中间表示
a)源程序经过编译器编译处理,生成编译器的中间表示DAG,转到2 a);
2)DAG融合子图识别
a)在DAG降级阶段,对DAG进行拓扑排序得到拓扑序列,将DAG中的节点按照拓扑序列的顺序添加到工作列表(工作列表是一种线性的数据结构,包含所有待处理的节点)中,转到2b);
b)取出工作列表的首节点并从工作列表中删除,检查节点的操作码、操作数值类型和结果值类型,若节点可以进行节点融合,则进行2 c),否则继续进行2b),直到工作列表为空,转到7 a);
c)以2b)中找到的节点为根节点,根据后端的DAG子图匹配模板(不同的根节点对应不同的模板,该模板也是一个DAG子图),使用图匹配算法,找到所有以2 b)找到的节点为根节点的可进行节点融合的n个DAG子图,转到2 d);
d)若2 c)未找到可进行节点融合的DAG子图,则转到2 b),否则转到3 a);
3)节点融合策略n
a)根据节点融合策略n,将2 c)找到的第n个DAG子图进行节点融合(多个节点融合为一个节点)生成(通过模板匹配,即匹配到一个子图,然后替换成另一个子图)融合后的DAG子图,并记录融合后DAG子图的所有节点,转到4a);
4)代价评估
a)根据节点的数据引用和异构平台的指令集信息(DAG中的一个节点对应指令集中的一条指令),评估进行3 a)节点融合策略n后的融合后的DAG子图转换为指令序列后运行该段指令所要花费的代价,所述代价包括花费的时钟周期数、寄存器数以及占用内存的大小等,转到5 a);
5)自适应选择节点融合策略
a)根据4 a)计算得到的n个融合策略代价,结合目标后端寄存器、cache、内存使用的情况,自适应地选择最优的节点融合策略(对目标后端提升性能效果最好的节点融合策略,如cache剩余资源较少,可以选择访存代价较小的融合策略),转到6 a);
6)目标相关节点融合
a)根据5 a)选择出的节点融合策略,将2 c)匹配得到的DAG子图(和融合后的DAG子图对应的节点融合优化前的DAG子图)的控制流和数据流关系,转移到由5 a)选择出的节点融合策略所生成的融合后的DAG子图上并使用融合后的DAG子图替换融合前的DAG子图,转到2b);
7)生成目标代码
a)DAG降级完成后,编译器对DAG进行编译处理生成异构平台代码。
采用上述基于异构平台的自适应节点融合编译优化方法时,其在异构平台上,提供一个自适应节点融合编译优化接口和一种自适应节点融合编译优化算法,在DAG降级阶段,利用DAG图的数据流和控制流信息,结合目标后端的指令集信息,对融合前后的子图进行代价评估,根据评估结果自适应的选择最优的节点融合优化策略,从而生成更高效的程序代码,简化了DAG图,减小了其他优化的复杂度,为其他优化提供了更多可能,同时为异构平台的节点融合优化提供精确指导,能够进一步挖掘异构平台复合指令的潜力,提升异构平台的性能。
为了便于更好的理解本发明,下面将对本文中使用的术语进行简要的解释:
DAG(Directed acyclic graph):有向无环图,编译优化中的一种中间表示,用于中间表示的降级和优化。
拓扑排序:对一个有向无环图G进行拓扑排序,是将G中所有的顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>属于E(G),则u在线性序列中出现在v之前。
拓扑序列:有向无环图经拓扑排序后得到的线性序列称之为拓扑序列。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种基于异构平台的自适应节点融合编译优化方法,其特征在于:包括以下步骤:
S1、源程序经过编译器的编译处理,生成编译器的中间表示DAG,对DAG进行降级处理,并在DAG降级阶段,对DAG进行以下操作:
S2、进行DAG融合子图识别,进一步包括以下步骤:
S21、对DAG进行拓扑排序、得到拓扑序列,将DAG中的节点按照拓扑序列的顺序,添加到节点融合优化的工作列表中;
S22、编译器自S21生成的工作列表的首节点开始,顺序取出工作列表的一个节点,并将此节点从工作列表中删除,检查此节点的操作码、操作数值类型和结果值类型,若此节点的操作码、操作数值类型以及结构值类型是合法的,则此节点可以进行节点融合,进行S23,否则继续进行S22,直到工作列表为空,转到S71;
S23、以S22中取出的节点为根节点,根据编译器后端的DAG子图匹配模板,使用图匹配算法,找到所有以S22中取出的节点为根节点的、可进行节点融合的n个DAG子图,转到S24;
S24、若S23未找到可进行节点融合的DAG子图,则转到S22,否则转到S31;
S3、S23中找到的n个可进行节点融合的DAG子图一一对应n种节点融合策略,根据第k个节点融合策略,将S23找到的第k个可进行节点融合的DAG子图进行节点融合,其中,k=1,2,3,4,...,n,将第k个可进行节点融合的DAG子图的多个节点融合为一个节点,并将第k个DAG子图和Pattern模板进行匹配,获得Pattern模板的输出子图,从而生成第k个可进行节点融合的DAG子图的融合后的DAG子图,编译器记录融合后的DAG子图的所有节点,转到S41;
S4、融合策略代价评估,即根据S3中融合后的DAG子图所有节点的数据引用和异构平台的指令集信息,计算将S3中生成的融合后的第k个DAG子图转换为指令序列后,运行该段指令序列中的指令所要花费的代价,所述代价包括花费的时钟周期数、寄存器数以及占用内存的大小,转到S51;
S5、自适应选择节点融合策略,即根据S4计算得到的第k个融合策略代价,结合目标后端的寄存器、cache、内存使用情况,自适应地选择最优的节点融合策略,即对目标后端提升性能效果最好的节点融合策略,转到S6;
S6、目标相关节点融合,即根据S5选择出的节点融合策略,将S23中匹配得到的DAG子图的控制流和数据流关系,转移到由S5选择出的节点融合策略所生成的融合后的DAG子图上,并使用融合后的DAG子图替换融合前的DAG子图,转到S22;
S7、生成目标代码,即编译器对降级完成后的DAG进行编译处理,生成异构平台代码。
2.根据权利要求1所述的基于异构平台的自适应节点融合编译优化方法,其特征在于:所述工作列表是一种线性的数据结构,包含所有待处理的节点。
3.根据权利要求1所述的基于异构平台的自适应节点融合编译优化方法,其特征在于:不同的根节点对应不同的DAG子图匹配模板,所述DAG子图匹配模板也是一个DAG子图。
4.根据权利要求1所述的基于异构平台的自适应节点融合编译优化方法,其特征在于:DAG中的一个节点对应异构平台的指令集中的一条指令。
5.根据权利要求1所述的基于异构平台的自适应节点融合编译优化方法,其特征在于:S23中匹配得到的DAG子图即与融合后的DAG子图对应的、节点融合优化前的DAG子图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910885756.1A CN112527304B (zh) | 2019-09-19 | 2019-09-19 | 基于异构平台的自适应节点融合编译优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910885756.1A CN112527304B (zh) | 2019-09-19 | 2019-09-19 | 基于异构平台的自适应节点融合编译优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527304A true CN112527304A (zh) | 2021-03-19 |
CN112527304B CN112527304B (zh) | 2022-10-04 |
Family
ID=74974025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910885756.1A Active CN112527304B (zh) | 2019-09-19 | 2019-09-19 | 基于异构平台的自适应节点融合编译优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527304B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302114A (zh) * | 2023-02-24 | 2023-06-23 | 进迭时空(珠海)科技有限公司 | 一种针对支持指令宏融合cpu的编译器指令调度优化方法 |
TWI827382B (zh) * | 2022-10-19 | 2023-12-21 | 聯發科技股份有限公司 | 將暫存記憶體分配給異構設備的方法和系統 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150089484A1 (en) * | 2013-09-24 | 2015-03-26 | Qualcomm Incorporated | Fast, Combined Forwards-Backwards Pass Global Optimization Framework for Dynamic Compilers |
CN109933327A (zh) * | 2019-02-02 | 2019-06-25 | 中国科学院计算技术研究所 | 基于代码融合编译框架的OpenCL编译器设计方法和系统 |
-
2019
- 2019-09-19 CN CN201910885756.1A patent/CN112527304B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150089484A1 (en) * | 2013-09-24 | 2015-03-26 | Qualcomm Incorporated | Fast, Combined Forwards-Backwards Pass Global Optimization Framework for Dynamic Compilers |
CN109933327A (zh) * | 2019-02-02 | 2019-06-25 | 中国科学院计算技术研究所 | 基于代码融合编译框架的OpenCL编译器设计方法和系统 |
Non-Patent Citations (2)
Title |
---|
N.A.B. SANKAR CHEBOLU 等: "《A novel scheme for Compiler Optimization Framework》", 《2015 INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTING, COMMUNICATIONS AND INFORMATICS (ICACCI)》 * |
项利萍 等: "《面向DSP的零开销循环编译优化》", 《电脑知识与技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI827382B (zh) * | 2022-10-19 | 2023-12-21 | 聯發科技股份有限公司 | 將暫存記憶體分配給異構設備的方法和系統 |
CN116302114A (zh) * | 2023-02-24 | 2023-06-23 | 进迭时空(珠海)科技有限公司 | 一种针对支持指令宏融合cpu的编译器指令调度优化方法 |
CN116302114B (zh) * | 2023-02-24 | 2024-01-23 | 进迭时空(珠海)科技有限公司 | 一种针对支持指令宏融合cpu的编译器指令调度优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112527304B (zh) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110187885B (zh) | 一种量子程序编译的中间代码生成方法及装置 | |
WO2021000970A1 (zh) | 深度学习算法的编译方法、装置及相关产品 | |
JP4042604B2 (ja) | プログラム並列化装置,プログラム並列化方法およびプログラム並列化プログラム | |
US8645935B2 (en) | Automatic parallelization using binary rewriting | |
JP6141365B2 (ja) | 逐次コンピュータプログラムコードを並列処理する方法及びシステム | |
Spies et al. | Transfinite Iris: resolving an existential dilemma of step-indexed separation logic | |
JP2007528059A (ja) | ソフトウェアのモデル化、抽象、および分析のためのシステムと方法 | |
CN108197027B (zh) | 软件性能优化方法、可存储介质、计算机、计算机程序 | |
WO2021000971A1 (zh) | 操作数据的生成方法、装置及相关产品 | |
JP2001166949A (ja) | シンボリック実行を用いてソースコードをコンパイルするための方法及び装置 | |
CN103329097A (zh) | 工具生成器 | |
CN112527304B (zh) | 基于异构平台的自适应节点融合编译优化方法 | |
US20100250564A1 (en) | Translating a comprehension into code for execution on a single instruction, multiple data (simd) execution | |
CN115809063A (zh) | 一种存储过程编译方法、系统、电子设备和存储介质 | |
US8117604B2 (en) | Architecture cloning for power PC processors | |
CN104750533B (zh) | C程序编译方法及编译器 | |
JP2001166946A (ja) | 階層の平坦化によりソースコードをコンパイルする方法及び装置 | |
US20170269931A1 (en) | Method and Computing System for Handling Instruction Execution Using Affine Register File on Graphic Processing Unit | |
CN103942082A (zh) | 一种消除冗余的内存访问操作的编译优化方法 | |
US20220172044A1 (en) | Method, electronic device, and computer program product for deploying machine learning model | |
CN105447285A (zh) | 一种提高OpenCL硬件执行效率的方法 | |
CN116560666B (zh) | 基于多层级代码生成的ai前端统一计算方法、装置及介质 | |
CN112558977B (zh) | 面向异构众核后端基于代价模型的多面体优化方法 | |
Sbirlea et al. | Dfgr an intermediate graph representation for macro-dataflow programs | |
CN112416313B (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 |