CN112598121A - 一种面向深度学习编译器的高效算子优化方法 - Google Patents
一种面向深度学习编译器的高效算子优化方法 Download PDFInfo
- Publication number
- CN112598121A CN112598121A CN202011519732.3A CN202011519732A CN112598121A CN 112598121 A CN112598121 A CN 112598121A CN 202011519732 A CN202011519732 A CN 202011519732A CN 112598121 A CN112598121 A CN 112598121A
- Authority
- CN
- China
- Prior art keywords
- operator
- node
- hardware
- deep learning
- fusion
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Neurology (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明一种面向深度学习编译器的高效算子优化方法,基于深度学习框架ONNX定义中间表示的数据结构,并对所述中间表示的数据结构进行解析,得到中间表示IR,用于表示不同的运算算子;根据中间表示IR,进行面向硬件的修改,解析出面向深度学习芯片的硬件融合结点,作为硬件融合算子;根据中间表示IR和解析出的算子,依次进行算子融合、算子调度和算子分组,得到优化后的算子,实现面向深度学习编译器的高效算子优化。通过本发明中的中间表示的定义和解析,才能将不同深度学习框架中的模型转化中相同的数据结构表示的算子,通过算子融合,算子调度和算子分组的优化方法,实现神经网络模型的算子在芯片中的高效执行。
Description
技术领域
本发明涉及一种面向深度学习编译器的高效算子优化方法,属于人工智能应用技术领域。
背景技术
随着深度学习的兴起,卷积神经网络CNN(Convolutional Neural Network)的研究得到进一步的发展。其作为人工智能的代表性技术之一,已经广泛的应用在计算机视觉,自然语言处理和自动驾驶等多个领域,并取得了前所未有的突破和成就,展现了卷积神经网络在模式识别算法中的主导地位。
随着人工智能和物联网的兴起,面向移动终端和嵌入式设备的实际应用需求暴增。在深度学习硬件上部署各种模型的困难推动了深度学习编译器的研究和开发。深度学习编译器将不同框架描述的深度学习模型为某个硬件平台生成优化的代码,但是如何实现高效的神经网络模型的解析,并将模型能够高效的部署到相应的深度学习硬件上成为一种困难。
发明内容
本发明解决的技术问题为:克服上述现有技术的不足,提供一种面向深度学习芯片的编译器的高效算子优化方法,实现了深度学习编译器的高效算子优选。
本发明解决的技术方案为:一种面向深度学习编译器的高效算子优选方法,步骤如下:
(1)基于深度学习框架ONNX定义中间表示的数据结构,并对所述中间表示的数据结构进行解析,得到中间表示IR,用于表示不同的运算算子;
(2)根据中间表示IR,解析出面向深度学习编译器的硬件融合结点,作为硬件融合算子;硬件融合结点是根据中间表示中的Graph和Node数据结构把多个算子合成一个算子;
(3)对步骤(1)的中间表示IR和步骤(2)解析出的算子,依次进行算子融合、算子调度和算子分组,得到优化后的算子,实现面向深度学习芯片的编译器的高效算子优选。
优选的,中间表示的数据结构,具体为:Graph和Node的数据结构,其中graph的数据结构用于表示神经网络模型的计算图,用于直接解析ONNX模型的输入结点,输出结点和运算结点。所有的输入输出结点和运算结点通过定义Node数据结构来实现,这样通过Graph和Node的数据结构可以表示神经网络模型的输入输出层和卷积、池化、批处理、非线性等运算层,不同的运算层还包括硬件位宽和小数点位置信息。将深度学习框架ONNX中的ONNX模型(输入输出层和卷积、池化、批处理、非线性等运算层)、硬件位宽和小数点位置信息解析成中间表示的数据结构;ONNX模型通过ONNX模型文件表示;
ONNX模型文件需符合以下格式:硬件位宽和动态定点量化的小数点位置信息需存储在json文件中,硬件位宽为ONNX模型中的各运算层位宽,小数点位置信息是对ONNX模型动态定点量化的结果,包括每个运算层的输入输出数据和权重参数的量化位数数据。
优选的,面向深度学习编译器的硬件融合算子定义如下:
将中间表示的Graph和Node数据结构中相邻的算子融合成一个硬件算子,作为硬件融合算子,该相邻的算子中不包含任何分支结构;除Graph中第一个算子外其他包含在硬件算子里的算子都有且只有一个父结点,除最后一个算子外其他包含在硬件算子里的算子都有且只有一个子结点。
优选的,面向深度学习编译器的硬件融合算子的生成规则如下:
构成硬件融合算子有以下两种情况:一是第一个算子是ConvNode(卷积结点)、UpsampleNode(上采样结点)或者AddNode(加运算结点)这三个算子中的任意一个,此时它后面的算子必须是PoolNode(池化结点),BatchNormalizationNode(批处理结点),ReluNode(非线性结点)这三个算子中不为空子集的一种排列。二是构成它的算子是PoolNode,BatchNormalizationNode,ReluNode三个算子集合中长度至少为2的子集的一种排列。这里的PoolNode包括MaxPoolNode(最大池化结点),AveragePoolNode(平均池化结点),GlobalAveragePoolNode(全局平均池化结点)。
优选的,算子融合的实现方法如下:
使用一个有限状态机实现硬件融合算子的生成,其初始状态定义为fused1,当下一个点可以融合时跳到状态fused2,再下一个点可以融合时跳到状态fused3,再下一个点可以融合时跳到fused4。中间任意一步发现不能融合以及在fused4状态时都会跳回fused1。从其他状态跳到fused1时,生成一个硬件融合结点,作为硬件融合算子,从而实现算子融合。
优选的,算子调度的实现方法如下:
将经过算子融合的中间表示Graph和Node作为输入,输出是一个包含所有节点(包括输入节点)的列表,列表当中的先后次序代表了各个节点被执行的次序,其实现过程采用的是深度优先的拓扑排序算法。
优选的,算子分组的实现方法如下:
将经过算子调度的节点列表(包含先后次序)作为输入,算子分组的输出是一个结点组构成的列表。每个结点组由若干个CPU类型的结点或若干个NPU类型的结点构成(输入节点不会被放到节点组当中)。
结点组分2种,CPU类型和NPU类型,它们各自只包含有对应的类型的结点。对于NPU类型的结点组,其含义为能够在NPU内部连续计算的结点的序列。对于CPU类型的结点组,其含义为在CPU上连续进行计算的节点序列。
每一个结点组都是结点图当中的一段单链,标志一个结点组结束的情况如下所示:
1)当前结点的输出分叉。
2)当前结点是输出结点(没有子结点)。
3)当前结点的子结点和当前结点属于不同的类型。
4)下一结点包括进来之后,卷积运算带来特征图的行重叠大于8行。
优选的,硬件融合结点是根据中间表示中的Graph和Node数据结构把多个算子合成一个算子,降低硬件计算的计算时间,从而实现高效运行。
本发明与现有技术相比的优点在于:
(1)本发明通过设计一种面向深度学习编译器的高效算子优化方法,实现了神经网络模型在深度学习芯片上高效的执行。
(2)本发明通过对中间表示数据结构的定义和解析,实现了对深度学习框架ONNX的解析,因为基于ONNX框架的神经网络模型可以作为一种开放的神经网络交换格式,这样只需要将其他不同框架的模型转换成ONNX框架的网络模型就可以实现将多种不同的模型进行编译优化,从而部署到深度学习芯片上。同时本发明中定义的中间表示数据结构能够高效的实现面向深度学习芯片的算子融合,算子调度和算子分组;
(3)本发明中算子融合,算子调度和算子分组的优化方法能够实现在深度学习芯片上高效的执行神经网络算法的运算,降低算子的运算时间,提高算子的执行效率;
附图说明
图1为本发明的算子优化的整体方案图;
图2为本发明的硬件算子融合的有限状态机的设计图;
图3为本发明的算子分组的流程图;
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细描述。
本发明实现一种面向深度学习编译器的高效算子优化方法,本方法用在深度学习编译器的设计中。面向深度学习编译器中具有面向深度学习芯片,在人工智能领域,存在着不同深度学习框架,为了使不同的深度学习框架的多种神经网络模型成功部署在深度学习芯片上为深度学习编译器的开发带来了困难。只有采用本发明的方案,才能解决深度学习编译器中的算子优化问题,通过本发明中的中间表示的定义和解析,才能将不同深度学习框架中的模型转化中相同的数据结构表示的算子,通过算子融合,算子调度和算子分组的优化方法,实现神经网络模型的算子在芯片中的高效执行。
深度学习框架ONNX,具体为一种开放的神经网络交换格式,是一个用于表示深度学习模型的标准,可使模型在不同神经网络框架之间进行转换。
深度学习芯片,具体为用于专门计算深度学习运算的专用芯片,通过设计用于计算深度学习的高效运算单元,为人工智能算法提供强大的算力,实现深度学习算法模型的高效运算。
深度学习编译器,具体为将不同深度学习框架描述的深度学习模型编译为深度学习硬件平台上的优化的代码的工具,实现深度学习模型在深度学习硬件上的高效部署。
本发明一种面向深度学习编译器的高效算子优化方法,优选方案包括如下步骤:
(1)基于深度学习框架ONNX定义中间表示的数据结构,并对所述中间表示的数据结构进行解析,得到中间表示IR,用于表示不同的算子;优选方案如下:
基于深度学习框架ONNX定义中间表示的数据结构,具体为:Graph和Node的数据结构,其中graph的数据结构用于表示神经网络模型的计算图,用于直接解析ONNX模型的输入结点,输出结点和运算结点。所有的输入输出结点和运算结点通过定义Node数据结构来实现,这样通过Graph和Node的数据结构可以表示神经网络模型的输入输出层和卷积、池化、批处理、非线性等运算层,不同的运算层还包括硬件位宽和小数点位置信息。
(2)根据中间表示IR,解析出面向深度学习芯片的硬件融合结点,作为硬件融合算子;优选方案如下:
根据中间表示IR,解析出面向深度学习芯片的硬件融合结点,具体为:将中间表示的Graph和Node数据结构中相邻的算子融合成一个硬件算子,作为硬件融合算子,该相邻的算子中不包含任何分支结构;除Graph中第一个算子外其他包含在硬件算子里的算子都有且只有一个父结点,除最后一个算子外其他包含在硬件算子里的算子都有且只有一个子结点。
解析出的面向深度学习芯片的硬件融合结点,能够实现在深度学习芯片上的一个数据通路中实现多个运算算子的计算,从而降低了神经网络推理的时间。
(3)对步骤(1)和步骤(2)解析出的算子,依次进行算子融合、算子调度和算子分组,得到优化后的算子;
对步骤(1)和步骤(2)解析出的算子,依次进行算子融合,具体为:使用一个有限状态机实现硬件融合算子生成,将所有可以生成硬件融合算子的结点依次融合为一个硬件融合结点,从而减少神经网络模型中的算子数目,这样可以降低神经网络推理的时间。
进行算子调度,优选方案具体为:采用深度优先的拓扑排序算法将经过算子融合之后的算子列表,得到一个包含所有算子的列表,其中列表当中的先后次序代表了各个节点被执行的次序。
进行算子分组,优选方案具体为:将经过算子调度的结点列表(包含先后次序),输出一个结点组构成的列表。每个结点组由若干个CPU的结点或若干个NPU的结点构成,我们要求输入节点不放到节点组当中。
得到的优化后的算子,减少神经网络模型中的算子数目,提供了算子正确的执行次序和在不同的处理器结构中执行的组别,从而解决了深度学习编译器中的算子优化问题。通过算子融合,算子调度和算子分组的优化方法,实现神经网络模型的算子在芯片中的高效执行。
本发明一种面向深度学习编译器的高效算子优化方法,优选方案步骤如下:
(1)基于深度学习框架ONNX定义中间表示的数据结构,并对所述中间表示的数据结构进行解析,得到中间表示IR,用于表示不同的运算算子;
(2)根据中间表示IR,解析出面向深度学习芯片的硬件融合结点,作为硬件融合算子;硬件融合结点是根据中间表示中的Graph和Node数据结构把多个算子合成一个算子,降低硬件计算的计算时间,从而实现高效运行。;
(3)对步骤(1)和步骤(2)解析出的算子,依次进行算子融合、算子调度和算子分组,得到优化后的算子,实现面向深度学习编译器的高效算子优选,如附图1所示。
本发明中的中间表示的数据结构,具体为:Graph和Node的数据结构,其中graph的数据结构用于表示神经网络模型的计算图,用于直接解析ONNX模型的输入结点,输出结点和运算结点。所有的输入输出结点和运算结点通过定义Node数据结构来实现,这样通过Graph和Node的数据结构可以表示神经网络模型的输入输出层和卷积、池化、批处理、非线性等运算层,不同的运算层还包括硬件位宽和小数点位置信息。
本发明中的硬件融合算子定义如下:
将中间表示的Graph和Node数据结构中相邻的算子融合成一个硬件算子,作为硬件融合算子,该相邻的算子中不包含任何分支结构;除Graph中第一个算子外其他包含在硬件算子里的算子都有且只有一个父结点,除最后一个算子外其他包含在硬件算子里的算子都有且只有一个子结点。
优选方案为:本发明中的硬件融合算子的生成规则优选如下:
构成硬件融合算子有以下两种情况:一是第一个算子是ConvNode(卷积结点)、UpsampleNode(上采样结点)或者AddNode(加运算结点)这三个算子中的任意一个,此时它后面的算子必须是PoolNode(池化结点),BatchNormalizationNode(批处理结点),ReluNode(非线性结点)这三个算子中不为空子集的一种排列。二是构成它的算子是PoolNode,BatchNormalizationNode,ReluNode三个算子集合中长度至少为2的子集的一种排列。这里的PoolNode包括MaxPoolNode(最大池化结点),AveragePoolNode(平均池化结点),GlobalAveragePoolNode(全局平均池化结点)。
优选方案为:本发明中的算子融合的实现方法优选如下:
如附图2所示,使用一个有限状态机实现硬件融合算子的生成,其初始状态定义为fused1,当下一个点可以融合时跳到状态fused2,再下一个点可以融合时跳到状态fused3,再下一个点可以融合时跳到fused4。中间任意一步发现不能融合以及在fused4状态时都会跳回fused1。从其他状态跳到fused1时,生成一个硬件融合结点,作为硬件融合算子,从而实现算子融合。
优选方案为:本发明中的算子调度的实现方法如下:
将经过算子融合的中间表示Graph和Node作为输入,输出是一个包含所有节点(包括输入节点)的列表,列表当中的先后次序代表了各个节点被执行的次序,其实现过程采用的是深度优先的拓扑排序算法。
优选方案为:本发明中的算子分组的实现方法如下:
优选方案为:如附图3所示,将经过算子调度的节点列表(包含先后次序)作为输入,算子分组的输出是一个结点组构成的列表。每个结点组由若干个CPU类型的结点或若干个NPU类型的结点构成(输入节点不会被放到节点组当中)。
优选方案为:结点组分2种,CPU类型和NPU类型,它们各自只包含有对应的类型的结点。对于NPU类型的结点组,其含义为能够在NPU内部连续计算的结点的序列。对于CPU类型的结点组,其含义为在CPU上连续进行计算的节点序列。
优选方案为:每一个结点组都是结点图当中的一段单链,标志一个结点组结束的情况如下所示:
1)当前结点的输出分叉。
2)当前结点是输出结点(没有子结点)。
3)当前结点的子结点和当前结点属于不同的类型。
4)下一结点包括进来之后,卷积运算带来特征图的行重叠大于8行。
本发明克服了现阶段卷积神经网络算法在深度学习芯片中部署过程中存在的存储和执行效率低下的困难,提供了一种面向深度学习芯片的高效编译器设计方法,提高了神经网络模型在深度学习芯片上的执行效率。
本发明的一种面向深度学习高效编译器设计方法,极大地提高了卷积神经网络模型在深度学习芯片上的高效运行的效率,为在嵌入式系统中实现卷积神经网络算法的推理过程提供了更高效的编译器优化方法。
优选方案为:图1是本发明中算子优化的整体方案图,以ONNX格式的神经网络模型与存储硬件运算层位宽和量化后的小数位置信息的json文件作为输入,经过中间表示的定义与解析,面向硬件的修改和三种算子优化方法,得到深度学习编译器中优化后的算子。
优选方案为:图2是本发明中硬件算子融合的有限状态机的设计图,通过四个状态的有限状态机详细简明的展示了本发明中的硬件融合算子的生成过程。
优选方案为:图3是本发明中算子分组的流程图,将经过算子调度的节点列表(包含先后次序)作为输入,对列表中的算子进行遍历,通过判断当前算子是否符合算子分组条件来决定是否将当前算子分配到算子组中,算子分组的判断条件见上文说明。
本发明通过设计一种面向深度学习编译器的高效算子优化方法,实现了神经网络模型在深度学习芯片上高效的执行,且本发明通过对中间表示数据结构的定义和解析,实现了对深度学习框架ONNX的解析,因为基于ONNX框架的神经网络模型可以作为一种开放的神经网络交换格式,这样只需要将其他不同框架的模型转换成ONNX框架的网络模型就可以实现将多种不同的模型进行编译优化,从而部署到深度学习芯片上。同时本发明中定义的中间表示数据结构能够高效的实现面向深度学习芯片的算子融合,算子调度和算子分组;
本发明中算子融合,算子调度和算子分组的优化方法能够实现在深度学习芯片上高效的执行神经网络算法的运算,降低算子的运算时间,提高算子的执行效率;
本发明的一种面向深度学习编译器的算子优化方法,通过了对目标检测网络YOLOv3的测试,通过本发明的算子优化方案,成功的编译出深度学习芯片所需的优化算子,能够正确快速的部署到深度学习芯片上,通过算子融合、算子调度和算子分组的方案,降低了4-10倍的算子执行时间。同时中间表示的定义和解析为多种不同的深度学习框架的模型在深度学习芯片中的部署提供了可行性。
Claims (6)
1.一种面向深度学习编译器的高效算子优选方法,其特征在于步骤如下:
(1)基于深度学习框架ONNX定义中间表示的数据结构,并对所述中间表示的数据结构进行解析,得到中间表示IR,用于表示不同的运算算子;
(2)根据中间表示IR,解析出面向深度学习编译器的硬件融合结点,作为硬件融合算子;硬件融合结点是根据中间表示中的Graph和Node数据结构把多个算子合成一个算子;
(3)根据步骤(1)的中间表示IR和步骤(2)解析出的算子,依次进行算子融合、算子调度和算子分组,得到优化后的算子,实现面向深度学习芯片的编译器的高效算子优选。
2.根据权利要求1所述的一种面向深度学习编译器的高效算子优化方法,其特征在于:中间表示的数据结构,具体为:Graph和Node的数据结构,其中graph的数据结构用于表示神经网络模型的计算图,用于直接解析ONNX模型的输入结点,输出结点和运算结点;所有的输入输出结点和运算结点通过定义Node数据结构来实现,这样通过Graph和Node的数据结构可以表示神经网络模型的输入输出层和卷积、池化、批处理、非线性等运算层,不同的运算层还包括硬件位宽和小数点位置信息;将深度学习框架ONNX中的ONNX模型、硬件位宽和小数点位置信息解析成中间表示的数据结构;ONNX模型通过ONNX模型文件表示;
ONNX模型文件需符合以下格式:硬件位宽和动态定点量化的小数点位置信息需存储在json文件中,硬件位宽为ONNX模型中的各运算层位宽,小数点位置信息是对ONNX模型动态定点量化的结果,包括每个运算层的输入输出数据和权重参数的量化位数数据。
3.根据权利要求1所述的一种面向深度学习编译器的高效算子优化方法,其特征在于:面向深度学习编译器的硬件融合算子定义如下:
将中间表示的Graph和Node数据结构中相邻的算子融合成一个硬件算子,作为硬件融合算子,该相邻的算子中不包含任何分支结构;除Graph中第一个算子外其他包含在硬件算子里的算子都有且只有一个父结点,除最后一个算子外其他包含在硬件算子里的算子都有且只有一个子结点。
4.根据权利要求1所述的一种面向深度学习编译器的高效算子优化方法,其特征在于:面向深度学习编译器的硬件融合算子的生成规则如下:
构成硬件融合算子有以下两种情况:一是第一个算子是ConvNode(卷积结点)、UpsampleNode(上采样结点)或者AddNode(加运算结点)这三个算子中的任意一个,此时它后面的算子必须是PoolNode(池化结点),BatchNormalizationNode(批处理结点),ReluNode(非线性结点)这三个算子中不为空子集的一种排列;二是构成它的算子是PoolNode,BatchNormalizationNode,ReluNode三个算子集合中长度至少为2的子集的一种排列;这里的PoolNode包括MaxPoolNode(最大池化结点),AveragePoolNode(平均池化结点),GlobalAveragePoolNode(全局平均池化结点)。
5.根据权利要求1所述的一种面向深度学习编译器的高效算子优化方法,其特征在于:算子融合的实现方法如下:
使用一个有限状态机实现硬件融合算子的生成,其初始状态定义为fused1,当下一个点可以融合时跳到状态fused2,再下一个点可以融合时跳到状态fused3,再下一个点可以融合时跳到fused4;中间任意一步发现不能融合以及在fused4状态时都会跳回fused1;从其他状态跳到fused1时,生成一个硬件融合结点,作为硬件融合算子,从而实现算子融合。
6.根据权利要求1所述的一种面向深度学习编译器的高效算子优化方法,其特征在于:硬件融合结点是根据中间表示中的Graph和Node数据结构把多个算子合成一个算子,降低硬件计算的计算时间,从而实现高效运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011519732.3A CN112598121A (zh) | 2020-12-21 | 2020-12-21 | 一种面向深度学习编译器的高效算子优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011519732.3A CN112598121A (zh) | 2020-12-21 | 2020-12-21 | 一种面向深度学习编译器的高效算子优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112598121A true CN112598121A (zh) | 2021-04-02 |
Family
ID=75199760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011519732.3A Pending CN112598121A (zh) | 2020-12-21 | 2020-12-21 | 一种面向深度学习编译器的高效算子优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112598121A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703775A (zh) * | 2021-08-31 | 2021-11-26 | 上海阵量智能科技有限公司 | 一种编译方法、装置、设备及存储介质 |
CN115408568A (zh) * | 2021-05-26 | 2022-11-29 | 中科寒武纪科技股份有限公司 | 一种对神经网络的算子进行融合的方法和相关产品 |
WO2023029944A1 (zh) * | 2021-08-30 | 2023-03-09 | 华为云计算技术有限公司 | 联邦学习的方法和装置 |
CN116301904A (zh) * | 2023-05-18 | 2023-06-23 | 之江实验室 | 一种用于深度学习编译器的算子优化加速方法及装置 |
CN116501509A (zh) * | 2023-06-29 | 2023-07-28 | 南京邮电大学 | 一种面向微控制器的深度学习内存优化方法 |
US11803360B2 (en) | 2020-11-03 | 2023-10-31 | Tsinghua University | Compilation method, apparatus, computing device and medium |
CN116991564A (zh) * | 2023-09-28 | 2023-11-03 | 之江实验室 | 面向异构双核mcu的算子内并行加速方法 |
WO2023221406A1 (zh) * | 2022-05-19 | 2023-11-23 | 北京百度网讯科技有限公司 | 深度学习编译器的运行方法、装置及电子设备 |
-
2020
- 2020-12-21 CN CN202011519732.3A patent/CN112598121A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11803360B2 (en) | 2020-11-03 | 2023-10-31 | Tsinghua University | Compilation method, apparatus, computing device and medium |
CN115408568A (zh) * | 2021-05-26 | 2022-11-29 | 中科寒武纪科技股份有限公司 | 一种对神经网络的算子进行融合的方法和相关产品 |
WO2022247880A1 (zh) * | 2021-05-26 | 2022-12-01 | 中科寒武纪科技股份有限公司 | 一种对神经网络的算子进行融合的方法和相关产品 |
CN115408568B (zh) * | 2021-05-26 | 2024-04-05 | 中科寒武纪科技股份有限公司 | 一种对神经网络的算子进行融合的方法和相关产品 |
WO2023029944A1 (zh) * | 2021-08-30 | 2023-03-09 | 华为云计算技术有限公司 | 联邦学习的方法和装置 |
CN113703775B (zh) * | 2021-08-31 | 2023-11-28 | 上海阵量智能科技有限公司 | 一种编译方法、装置、设备及存储介质 |
CN113703775A (zh) * | 2021-08-31 | 2021-11-26 | 上海阵量智能科技有限公司 | 一种编译方法、装置、设备及存储介质 |
WO2023221406A1 (zh) * | 2022-05-19 | 2023-11-23 | 北京百度网讯科技有限公司 | 深度学习编译器的运行方法、装置及电子设备 |
CN116301904B (zh) * | 2023-05-18 | 2023-08-22 | 之江实验室 | 一种用于深度学习编译器的算子优化加速方法及装置 |
CN116301904A (zh) * | 2023-05-18 | 2023-06-23 | 之江实验室 | 一种用于深度学习编译器的算子优化加速方法及装置 |
CN116501509B (zh) * | 2023-06-29 | 2023-09-08 | 南京邮电大学 | 一种面向微控制器的深度学习内存优化方法 |
CN116501509A (zh) * | 2023-06-29 | 2023-07-28 | 南京邮电大学 | 一种面向微控制器的深度学习内存优化方法 |
CN116991564A (zh) * | 2023-09-28 | 2023-11-03 | 之江实验室 | 面向异构双核mcu的算子内并行加速方法 |
CN116991564B (zh) * | 2023-09-28 | 2024-01-09 | 之江实验室 | 面向异构双核mcu的算子内并行加速方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112598121A (zh) | 一种面向深度学习编译器的高效算子优化方法 | |
CN107977704B (zh) | 权重数据存储方法和基于该方法的神经网络处理器 | |
CN109800883A (zh) | 量子机器学习框架构建方法、装置及量子计算机 | |
CN107016175A (zh) | 适用神经网络处理器的自动化设计方法、装置及优化方法 | |
Song | On the weight convergence of Elman networks | |
CN109508784B (zh) | 一种神经网络激活函数的设计方法 | |
CN115659281B (zh) | 一种自适应加速算子融合的方法及装置 | |
CN112068798B (zh) | 一种实现网络节点重要性排序的方法及装置 | |
US20230334292A1 (en) | Node fusion method for computational graph and device | |
CN112001496A (zh) | 神经网络结构搜索方法及系统、电子设备及存储介质 | |
Addanki et al. | Placeto: Efficient progressive device placement optimization | |
CN115659275A (zh) | 非结构化人机交互环境中的实时准确轨迹预测方法及系统 | |
CN110851654A (zh) | 基于张量化数据降维的工业设备故障检测分类方法 | |
CN109670582B (zh) | 一种全定点化神经网络的设计方法 | |
CN113660676A (zh) | 基站流量预测方法、系统、存储介质及设备 | |
Michel et al. | Weak interaction and strong interaction in agent based simulations | |
CN117744760A (zh) | 文本信息的识别方法、装置、存储介质及电子设备 | |
CN113691993A (zh) | 基于图神经网络的5g连通簇基站群流量预测方法及系统 | |
CN117149410A (zh) | 一种基于ai智能模型训练调度指挥监控系统 | |
CN114372539B (zh) | 基于机器学习框架的分类方法及相关设备 | |
CN114358318B (zh) | 基于机器学习框架的分类方法及相关装置 | |
CN113051148A (zh) | 一种基于双基因链遗传算法的组合测试用例生成方法 | |
CN115719478A (zh) | 一种独立于无关信息的加速强化学习的端到端自动驾驶方法 | |
Kusiak | Data mining and decision making | |
CN113206712A (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 |