CN112527262A - 深度学习框架编译器宽度非一致自动向量优化方法 - Google Patents

深度学习框架编译器宽度非一致自动向量优化方法 Download PDF

Info

Publication number
CN112527262A
CN112527262A CN201910885725.6A CN201910885725A CN112527262A CN 112527262 A CN112527262 A CN 112527262A CN 201910885725 A CN201910885725 A CN 201910885725A CN 112527262 A CN112527262 A CN 112527262A
Authority
CN
China
Prior art keywords
vector
compiler
graph
framework
deep learning
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
Application number
CN201910885725.6A
Other languages
English (en)
Other versions
CN112527262B (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.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
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 Wuxi Jiangnan Computing Technology Institute filed Critical Wuxi Jiangnan Computing Technology Institute
Priority to CN201910885725.6A priority Critical patent/CN112527262B/zh
Publication of CN112527262A publication Critical patent/CN112527262A/zh
Application granted granted Critical
Publication of CN112527262B publication Critical patent/CN112527262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开一种深度学习框架编译器宽度非一致自动向量优化方法,基于异构平台,包括以下步骤:S1、框架编译器前端识别计算图中可进行向量优化的子图,S2、框架编译器中端对步骤S15标记的可进行向量优化的子图中的算子进行融合,并计算图编译为底层IR,S3、框架编译器后端根据异构众核处理器的控制核心和计算核心的向量宽度,分别对步骤S2中获得的底层IR进行宽度非一致的向量优化,S4、框架编译器的代码生成模块将步骤S32获得的向量优化后的底层IR转换为用户指定的高级语言代码,并通过基础编译器生成向量优化后的平台目标码。本发明进一步的挖掘深度学习负载的指令集并行性能,提升深度学习负载的向量化程度,从而提升深度学习负载在异构众核平台上的推理性能。

Description

深度学习框架编译器宽度非一致自动向量优化方法
技术领域
本发明涉及一种深度学习框架编译器宽度非一致自动向量优化方法,属于深度学习技术领域。
背景技术
深度学习工作负载需要部署在特定硬件才能够充分发挥其作用。目前深度学习领域开发人员设计了多种框架,例如Tensorflow、Caffe等,来完成深度学习模型的训练和推断任务,同时硬件厂商也推出了多种硬件后端,例如GPU、FPGA等,来加速深度学习模型的训练和推断速度。大量不同的深度学习框架和越来越多的硬件架构之间需要一个桥梁。深度学习框架编译器作为一个完整的优化工具链,提供了将不同框架的深度学习工作负载部署到各种硬件设备上的端到端解决方案。
国产异构众核处理器采用新型的片上异构融合体系结构,在基本指令系统的基础上,增加了向量扩展指令系统,以增强处理器指令集并行能力,实现了多种类型的向量扩展加速指令,非常适合加速深度学习模型的推理任务。指令级并行是提高程序运行性能的一种主流手段,向量指令被广泛用于提升课题的指令集并行优化上,且达到很好的优化效果。深度学习的推理过程同时对大量数据进行相同操作,因此非常适合进行向量优化。
目前异构众核是高性能计算硬件平台发展的趋势,但是在功耗、面积、频率的限制下,主从异构设计的差异性也越来越大,主控制或主计算分别成为主核和从核的区分标志。在向量宽度的设计上,控制核心并不需要太高的向量宽度,而计算核心则更讲究计算的数据效率,即主核和从核在短向量的宽度选择上并不会采取统一的宽度标准。
GCC和LLVM等基础编译器中的自动向量优化遍能够发现高级语言中存在优化潜力的代码段,并自动对其进行向量优化。然而,在深度学习负载的部署过程中,框架编译器在生成C++和LLVM IR等高级语言代码的同时丢失了部分计算图信息,很多具有优化潜力的代码段无法被基础编译器识别,导致深度学习负载无法充分发挥国产众核处理器的全部性能。
发明内容
本发明的目的是提供一种深度学习框架编译器宽度非一致自动向量优化方法,该深度学习框架编译器宽度非一致自动向量优化方法进一步的挖掘深度学习负载的指令集并行性能,提升深度学习负载的向量化程度,从而提升深度学习负载在异构众核平台上的推理性能。
为达到上述目的,本发明采用的技术方案是:一种深度学习框架编译器宽度非一致自动向量优化方法,基于异构平台,包括以下步骤:
S1、框架编译器前端识别计算图中可进行向量优化的子图,具体如下:
S11、以通过AI框架生成的深度学习负载作为输入,框架编译器根据AI框架的类型,识别深度学习负载的模型格式,并将深度学习负载转换为统一的计算图;
S12、框架编译器遍历步骤S11中获得的整个计算图,识别出计算图中可进行向量优化的子图,具体方法如下:
S13、框架编译器分析S11中获得的计算图中的数据依赖关系,构建计算图的数据依赖图,并基于数据依赖图,构建包含数据和语句依赖信息的有向图,使同一条语句内的所有数据节点都在一个强连通分量内,并对强连通分量之间的依赖边进行剪枝,实现有向图的更新操作;
S14、框架编译器分析步骤S13获得的包含数据和语句依赖信息的有向图中不同强连通分量内的数据节点之间的可达性,并根据数据节点之间的可达性,将不可达的数据节点从有向图中删除,并分析剩余的可达节点,获得识别出计算图中可进行向量优化的子图所需的数据和语句的依赖信息,从而确定子图中的循环是否可以进行向量优化;
S15、框架编译器前端对步骤S14确定的可进行向量优化的子图进行标记,并将标记后的子图传递给框架编译器中端进行处理;
S2、框架编译器中端对步骤S15标记的可进行向量优化的子图中的算子进行融合,并计算图编译为底层IR,具体如下:
S21、框架编译器中端遍历步骤S15标记的整个可进行向量优化的子图,搜索并标记所述子图中所有相邻的可进行向量优化的算子;
S22、将步骤S21中搜索到的相邻的可进行向量优化的算子进行融合,将融合后的算子中“向量-标量-向量”转换操作替换为“向量-向量”赋值操作;
S23、框架编译器中端通过层次化lower和优化,将步骤S22中算子融合后的计算图编译为底层IR;
S3、框架编译器后端根据异构众核处理器的控制核心和计算核心的向量宽度,分别对步骤S2中获得的底层IR进行宽度非一致的向量优化,具体如下:
S31、框架编译器后端根据控制核心和计算核心的向量宽度,分别对步骤S2中获得的底层IR进行循环展开;
S32、将步骤S31中被循环展开的底层IR修改为宽度非一致向量计算格式;
S4、框架编译器的代码生成模块将步骤S32获得的向量优化后的底层IR转换为用户指定的高级语言代码,并通过基础编译器生成向量优化后的平台目标码,具体如下:
S41、对于LLVM编译器,向量优化后的IR被LLVM编译器的代码生成模块转化为LLVM的中间表示,再通过LLVM编译器生成可执行程序;
S42、对于GCC编译器,向量优化后的IR通过C代码自动生成技术转化为C代码,进而通过GCC编译器生成可执行程序。
上述技术方案中进一步改进的方案如下:
1. 上述方案中,在S31中,针对控制核心,框架编译器后端将底层IR循环展开4次,针对运算核心,框架编译器后端将底层IR循环展开8次。
2. 上述方案中,在S32中,针对控制核心,框架编译器后端将被展开的底层IR修改为4倍字向量宽度的向量计算格式,针对计算核心,框架编译器后端将被展开的底层IR修改为8倍字向量宽度的向量计算格式。
3. 上述方案中,在S4中,所述高级语言代码包括C和LLVM中间表示。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明深度学习框架编译器宽度非一致自动向量优化方法,其基于异构众核平台的特殊架构,充分利用其宽度非一致向量扩展指令集,能够在框架编译器对计算图的编译过程中识别计算图中的可向量化优化子图,并分别根据主从核向量宽度自动将其中的算子编译为主从核宽度非一致的向量化的C++/LLVM IR高级语言代码,最终通过基础编译器编译生成向量化的目标码,进一步的挖掘深度学习负载的指令集并行性能,提升深度学习负载的向量化程度,从而提升深度学习负载在异构众核平台上的推理性能。
附图说明
附图1为本发明框架编译器宽度非一致自动向量优化方法流程示意图;
附图2为本发明深度学习框架编译器宽度非一致自动向量优化方法流程图。
具体实施方式
实施例:一种深度学习框架编译器宽度非一致自动向量优化方法,基于异构平台,包括以下步骤:
S1、框架编译器前端识别计算图中可进行向量优化的子图,具体如下:
S11、以通过AI框架生成的深度学习负载作为输入,框架编译器根据AI框架的类型,识别深度学习负载的模型格式,并将深度学习负载转换为统一的计算图;
S12、框架编译器遍历步骤S11中获得的整个计算图,识别出计算图中可进行向量优化的子图,具体方法如下:
S13、框架编译器分析S11中获得的计算图中的数据依赖关系,构建计算图的数据依赖图,并基于数据依赖图,构建包含数据和语句依赖信息的有向图,使同一条语句内的所有数据节点都在一个强连通分量内,并对强连通分量之间的依赖边进行剪枝,实现有向图的更新操作;
S14、框架编译器分析步骤S13获得的包含数据和语句依赖信息的有向图中不同强连通分量内的数据节点之间的可达性,即从一个数据节点到另一个数据节点是否可达,并根据数据节点之间的可达性,将不可达的数据节点从有向图中删除,并分析剩余的可达节点,获得识别出计算图中可进行向量优化的子图所需的数据和语句的依赖信息,从而确定子图中的循环是否可以进行向量优化;
S15、框架编译器前端对步骤S14确定的可进行向量优化的子图进行标记,并将标记后的子图传递给框架编译器中端进行处理;
S2、框架编译器中端对步骤S15标记的可进行向量优化的子图中的算子进行融合,并计算图编译为底层IR,具体如下:
S21、框架编译器中端遍历步骤S15标记的整个可进行向量优化的子图,搜索并标记所述子图中所有相邻的可进行向量优化的算子;
S22、将步骤S21中搜索到的相邻的可进行向量优化的算子进行融合,将融合后的算子中“向量-标量-向量”转换操作替换为“向量-向量”赋值操作;
S23、框架编译器中端通过层次化lower和优化,将步骤S22中算子融合后的计算图编译为底层IR;
S3、框架编译器后端根据异构众核处理器的控制核心和计算核心的向量宽度,分别对步骤S2中获得的底层IR进行宽度非一致的向量优化,具体如下:
S31、框架编译器后端根据控制核心和计算核心的向量宽度,分别对步骤S2中获得的底层IR进行循环展开;
S32、将步骤S31中被循环展开的底层IR修改为宽度非一致向量计算格式;
S4、框架编译器的代码生成模块将步骤S32获得的向量优化后的底层IR转换为用户指定的高级语言代码,并通过基础编译器生成向量优化后的平台目标码,具体如下:
S41、对于LLVM编译器,向量优化后的IR被LLVM编译器的代码生成模块转化为LLVM的中间表示,再通过LLVM编译器生成可执行程序;
S42、对于GCC编译器,向量优化后的IR通过C代码自动生成技术转化为C代码,进而通过GCC编译器生成可执行程序。
在S31中,针对控制核心,框架编译器后端将底层IR循环展开4次,针对运算核心,框架编译器后端将底层IR循环展开8次。
在S32中,针对控制核心,框架编译器后端将被展开的底层IR修改为4倍字向量宽度的向量计算格式,针对计算核心,框架编译器后端将被展开的底层IR修改为8倍字向量宽度的向量计算格式。
在S4中,所述高级语言代码包括C和LLVM中间表示。
实施例进一步解释如下:
本发明方法具体流程如图1所示。
框架编译器前端遍历整个计算图,识别其中具有向量优化潜力的子图,并对子图中的算子进行融合,提升向量优化的效果。
框架编译器后端根据异构众核处理器主从核支持的向量宽度,分别对融合后的算子进行宽度非一致的向量优化,并根据指定的基础编译器,将向量化的算子转换为对应的高级语言代码,并最终编译生成向量化的平台目标码。
(1)首先,框架编译器前端识别计算图中具有向量优化潜力的子图,具体如下:
1、以通过各种AI框架生成的深度学习负载作为输入,框架编译器识别各种模型格式并转换为统一的计算图;
2、框架编译器遍历整个计算图,通过以下方法识别计算图中可进行向量优化的子图:
a)首先,基于数据依赖图构建包含数据和语句依赖信息的有向图,使同一条语句内的所有数据节点都在一个强连通分量内,并对强连通分量之间的依赖边进行剪枝;
b)其次,分析不同强连通分量节点之间的可达性,根据节点的可达性获得识别向量化所需的所有依赖信息,从而确定子图中的循环是否可以进行向量化;
3、框架编译器前端将可进行向量优化的子图进行标记,并传递给中端进行处理。
(2)接着,框架编译器中端对可优化子图中的算子进行融合,并编译为底层IR,具体如下:
1、框架编译器中端遍历整个可向量化子图,寻找并标记所有相邻的可向量化算子;
2、将相邻的可向量化算子进行融合,将融合后的算子中“向量-标量-向量”转换操作替换为“向量-向量”赋值操作;
3、框架编译器中端通过层次化lower和优化,将计算图编译为底层IR。
(3)再次,框架编译器后端根据异构众核处理器的主从核向量宽度,对底层IR进行宽度非一致的向量优化,具体如下:
1、框架编译器后端根据主从核向量宽度,分别对底层IR进行循环展开;
2、将展开后的循环修改为宽度非一致向量计算格式。
(4)最后,代码生成模块将向量化的IR转换为指定的高级语言代码,并通过基础编译器生成向量化的平台目标码,具体如下:
1、对于LLVM编译器,向量化的IR被代码生成模块转化为LLVM的中间表示,进而通过LLVM编译器生成可执行程序;
2、对于GCC编译器,向量化的IR通过C代码自动生成技术转化为C代码,进而通过GCC编译器生成可执行程序。
采用上述深度学习框架编译器宽度非一致自动向量优化方法时,其基于异构众核平台的特殊架构,充分利用其宽度非一致向量扩展指令集,能够在框架编译器对计算图的编译过程中识别计算图中的可向量化优化子图,并分别根据主从核向量宽度自动将其中的算子编译为主从核宽度非一致的向量化的C++/LLVM IR高级语言代码,最终通过基础编译器编译生成向量化的目标码,进一步的挖掘深度学习负载的指令集并行性能,提升深度学习负载的向量化程度,从而提升深度学习负载在异构众核平台上的推理性能。
为了便于更好的理解本发明,下面将对本文中使用的术语进行简要的解释:
异构:一个包含或者组成“异构网络”的产品,所谓的“异构网络”通常指不同厂家的产品所组成的网络。
深度学习:通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
框架编译器:将深度学习框架的工作负载编译为优化过的二进制机器码的编译器。
向量指令:单指令流多数据流指令。
强连通分量:有向图的极大强连通子图,称为强连通分量。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。

Claims (4)

1.一种深度学习框架编译器宽度非一致自动向量优化方法,其特征在于:基于异构平台,包括以下步骤:
S1、框架编译器前端识别计算图中可进行向量优化的子图,具体如下:
S11、以通过AI框架生成的深度学习负载作为输入,框架编译器根据AI框架的类型,识别深度学习负载的模型格式,并将深度学习负载转换为统一的计算图;
S12、框架编译器遍历步骤S11中获得的整个计算图,识别出计算图中可进行向量优化的子图,具体方法如下:
S13、框架编译器分析S11中获得的计算图中的数据依赖关系,构建计算图的数据依赖图,并基于数据依赖图,构建包含数据和语句依赖信息的有向图,使同一条语句内的所有数据节点都在一个强连通分量内,并对强连通分量之间的依赖边进行剪枝,实现有向图的更新操作;
S14、框架编译器分析步骤S13获得的包含数据和语句依赖信息的有向图中不同强连通分量内的数据节点之间的可达性,并根据数据节点之间的可达性,将不可达的数据节点从有向图中删除,并分析剩余的可达节点,获得识别出计算图中可进行向量优化的子图所需的数据和语句的依赖信息,从而确定子图中的循环是否可以进行向量优化;
S15、框架编译器前端对步骤S14确定的可进行向量优化的子图进行标记,并将标记后的子图传递给框架编译器中端进行处理;
S2、框架编译器中端对步骤S15标记的可进行向量优化的子图中的算子进行融合,并计算图编译为底层IR,具体如下:
S21、框架编译器中端遍历步骤S15标记的整个可进行向量优化的子图,搜索并标记所述子图中所有相邻的可进行向量优化的算子;
S22、将步骤S21中搜索到的相邻的可进行向量优化的算子进行融合,将融合后的算子中“向量-标量-向量”转换操作替换为“向量-向量”赋值操作;
S23、框架编译器中端通过层次化lower和优化,将步骤S22中算子融合后的计算图编译为底层IR;
S3、框架编译器后端根据异构众核处理器的控制核心和计算核心的向量宽度,分别对步骤S2中获得的底层IR进行宽度非一致的向量优化,具体如下:
S31、框架编译器后端根据控制核心和计算核心的向量宽度,分别对步骤S2中获得的底层IR进行循环展开;
S32、将步骤S31中被循环展开的底层IR修改为宽度非一致向量计算格式;
S4、框架编译器的代码生成模块将步骤S32获得的向量优化后的底层IR转换为用户指定的高级语言代码,并通过基础编译器生成向量优化后的平台目标码,具体如下:
S41、对于LLVM编译器,向量优化后的IR被LLVM编译器的代码生成模块转化为LLVM的中间表示,再通过LLVM编译器生成可执行程序;
S42、对于GCC编译器,向量优化后的IR通过C代码自动生成技术转化为C代码,进而通过GCC编译器生成可执行程序。
2.根据权利要求1所述的深度学习框架编译器宽度非一致自动向量优化方法,其特征在于:在S31中,针对控制核心,框架编译器后端将底层IR循环展开4次,针对运算核心,框架编译器后端将底层IR循环展开8次。
3.根据权利要求2所述的深度学习框架编译器宽度非一致自动向量优化方法,其特征在于:在S32中,针对控制核心,框架编译器后端将被展开的底层IR修改为4倍字向量宽度的向量计算格式,针对计算核心,框架编译器后端将被展开的底层IR修改为8倍字向量宽度的向量计算格式。
4.根据权利要求1所述的深度学习框架编译器宽度非一致自动向量优化方法,其特征在于:在S4中,所述高级语言代码包括C和LLVM中间表示。
CN201910885725.6A 2019-09-19 2019-09-19 深度学习框架编译器宽度非一致自动向量优化方法 Active CN112527262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910885725.6A CN112527262B (zh) 2019-09-19 2019-09-19 深度学习框架编译器宽度非一致自动向量优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910885725.6A CN112527262B (zh) 2019-09-19 2019-09-19 深度学习框架编译器宽度非一致自动向量优化方法

Publications (2)

Publication Number Publication Date
CN112527262A true CN112527262A (zh) 2021-03-19
CN112527262B CN112527262B (zh) 2022-10-04

Family

ID=74974037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910885725.6A Active CN112527262B (zh) 2019-09-19 2019-09-19 深度学习框架编译器宽度非一致自动向量优化方法

Country Status (1)

Country Link
CN (1) CN112527262B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722218A (zh) * 2021-08-23 2021-11-30 南京审计大学 一种基于编译器中间表示的软件缺陷预测模型构建方法
CN114217807A (zh) * 2021-04-09 2022-03-22 无锡江南计算技术研究所 一种基于异构众核架构的直接内存访问编译优化方法
CN116011544A (zh) * 2022-12-31 2023-04-25 安徽深图科技有限公司 一种基于离散向量的深度学习系统及方法
CN116431562A (zh) * 2023-06-12 2023-07-14 太初(无锡)电子科技有限公司 一种基于加速处理器的多头注意力机制融合计算分配方法
CN116467061A (zh) * 2023-06-19 2023-07-21 之江实验室 一种任务执行的方法、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160085528A1 (en) * 2014-09-22 2016-03-24 Oracle International Corporation Automated adaptive compiler optimization
CN109933327A (zh) * 2019-02-02 2019-06-25 中国科学院计算技术研究所 基于代码融合编译框架的OpenCL编译器设计方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160085528A1 (en) * 2014-09-22 2016-03-24 Oracle International Corporation Automated adaptive compiler optimization
CN109933327A (zh) * 2019-02-02 2019-06-25 中国科学院计算技术研究所 基于代码融合编译框架的OpenCL编译器设计方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
N.A.B. SANKAR CHEBOLU 等: "《A novel scheme for Compiler Optimization Framework》", 《2015 INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTING, COMMUNICATIONS AND INFORMATICS (ICACCI)》 *
闫岩: "《嵌入式操作系统编译器优化技术探究》", 《通讯世界》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114217807A (zh) * 2021-04-09 2022-03-22 无锡江南计算技术研究所 一种基于异构众核架构的直接内存访问编译优化方法
CN114217807B (zh) * 2021-04-09 2024-04-30 无锡江南计算技术研究所 一种基于异构众核架构的直接内存访问编译优化方法
CN113722218A (zh) * 2021-08-23 2021-11-30 南京审计大学 一种基于编译器中间表示的软件缺陷预测模型构建方法
CN116011544A (zh) * 2022-12-31 2023-04-25 安徽深图科技有限公司 一种基于离散向量的深度学习系统及方法
CN116011544B (zh) * 2022-12-31 2024-03-05 安徽先数科技有限公司 一种基于离散向量的深度学习系统及方法
CN116431562A (zh) * 2023-06-12 2023-07-14 太初(无锡)电子科技有限公司 一种基于加速处理器的多头注意力机制融合计算分配方法
CN116431562B (zh) * 2023-06-12 2023-11-28 太初(无锡)电子科技有限公司 一种基于加速处理器的多头注意力机制融合计算分配方法
CN116467061A (zh) * 2023-06-19 2023-07-21 之江实验室 一种任务执行的方法、装置、存储介质及电子设备
CN116467061B (zh) * 2023-06-19 2023-09-19 之江实验室 一种任务执行的方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN112527262B (zh) 2022-10-04

Similar Documents

Publication Publication Date Title
CN112527262B (zh) 深度学习框架编译器宽度非一致自动向量优化方法
US9864590B2 (en) Method and system for automated improvement of parallelism in program compilation
Agrawal et al. TensorFlow Eager: A multi-stage, Python-embedded DSL for machine learning
CN112579063B (zh) 一种用于深度学习编译器中探索优化空间的加速方法
US10942717B2 (en) Generating closures from abstract representation of source code
WO2023092626A1 (zh) 基于统一后端引擎的深度学习框架与硬件设备适配方法
CN109933327B (zh) 基于代码融合编译框架的OpenCL编译器设计方法和系统
CN107111503A (zh) 用于将呈第一编程语言的源代码编译为呈第二编程语言的程序代码的方法
CN110109816A (zh) 测试用例选择方法和装置
Ivanenko et al. TuningGenie: auto-tuning framework based on rewriting rules
CN114186678B (zh) 基于深度学习的硬件适配装置和方法
Saà-Garriga et al. OMP2MPI: Automatic MPI code generation from OpenMP programs
CN110929850A (zh) 基于申威处理器的深度学习算子自动优化系统及方法
CN112558977B (zh) 面向异构众核后端基于代价模型的多面体优化方法
CN116861359A (zh) 面向深度学习推理任务编译器的算子融合方法和系统
US20230116546A1 (en) Method for compilation, electronic device and storage medium
WO2021047662A1 (en) Method and apparatus for enabling autonomous acceleration of dataflow ai applications
Ma et al. Parallel exact inference on multicore using mapreduce
Castro et al. Landscape of High-Performance Python to Develop Data Science and Machine Learning Applications
Zhu et al. An auto code generator for stencil on SW26010
Shi et al. TAP: Accelerating large-scale DNN training through tensor automatic parallelisation
Mateos et al. Energy implications of common operations in resource-intensive java-based scientific applications
Melab et al. Parallel metaheuristics: Models and frameworks
Wilson et al. A distributed dataflow model for task-uncoordinated parallel program execution
KR101276308B1 (ko) 다중 출력 명령어를 지원하는 그래프 기반의 코드 생성 장치 및 그 코드 생성 방법

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