CN114936015A - 一种基于硬件计算图的深度学习编译器 - Google Patents
一种基于硬件计算图的深度学习编译器 Download PDFInfo
- Publication number
- CN114936015A CN114936015A CN202210625568.7A CN202210625568A CN114936015A CN 114936015 A CN114936015 A CN 114936015A CN 202210625568 A CN202210625568 A CN 202210625568A CN 114936015 A CN114936015 A CN 114936015A
- Authority
- CN
- China
- Prior art keywords
- computation graph
- hardware
- software
- node
- graph
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/37—Compiler construction; Parser generation
-
- 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/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- 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/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
-
- 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/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/457—Communication
-
- 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于硬件计算图的深度学***台。
Description
技术领域
本发明涉及一种基于硬件计算图的深度学习编译器,属于深度学习编译器的硬件资源利用技术领域,实现深度学习模型的自动化部署。
背景技术
近些年来,深度学***台的资源数量进行优化之后,生成硬件代码。
然而,随着深度学***台进行有限的支持,极大地提高了部署成本。
发明内容
发明目的:目前深度学***台来提高性能。并且随着模型拓扑复杂度的不断提高,这些方式并不能保证部署的成功。本发明提供了一种基于硬件计算图的深度学习编译器,能够使用更少的硬件资源对复杂拓扑的模型进行部署,并有效提高了硬件资源的利用效率。
技术方案:一种基于硬件计算图的深度学习编译器,包括软件计算图生成模块,硬件计算图生成模块,软件计算图优化模块,硬件计算图优化模块,以及代码生成模块;
所述软件计算图生成模块用于将外部框架定义的深度学习模型转化为内部软件计算图;
所述软件计算图优化模块用于对软件计算图进行优化;
所述硬件计算图生成模块,在软件计算图的指导下,先生成基础节点集合,再使用贪心搜索对节点集合调整直到满足整个深度学习模型所需的计算要求,最后生成硬件计算图的边;
所述硬件计算图优化模块,用于对硬件计算图进行优化;
代码生成模块用于生成深度学习模型对应的硬件代码以及仿真代码。
所述软件计算图生成模块中,根据硬件的实现效率,定义软件计算图中的节点类型与边;对模型文件进行解析并转换;软件计算图中的节点为个深度学***均池化、全局池化、加法、拼接等算子;软件计算图中的边代表节点之间传递的数据。
所述硬件计算图生成模块中,硬件计算图中的节点类型与软件计算图节点类型一一对应,但硬件计算图中的一个节点代表硬件平台上的一个处理单元,即节点和边分别代表芯片内部的模块与硬连线。并且在实际实现时,在节点的每个输入端口以及输出端口处分别添加一个多路选择器和多路分配器。其中多路选择器用于选择当前硬件节点的前继节点,多路分配器用于选择当前硬件节点的后继节点。在硬件计算图生成模块中,软件计算图节点到硬件计算图节点的映射方式为:基于多核处理器的思想,本发明能够在二者之间进行一对多的映射。对于软件计算图中的某个卷积节点,当现有硬件计算图中的任一卷积节点都无法满足计算要求时,则对该软件计算图中的卷积节点权重的输出通道维度进行分割(OCP),将该卷积节点的权重数据分发到多个硬件节点(硬件计算图中的节点)进行计算;对于软件计算图中的某个池化节点,当现有硬件计算图中的任一池化节点都无法满足计算要求时,则对软件计算图中的所述池化节点的输入数据的宽度维度进行分割(IWP)。加上不需要对节点进行分割(NP)的情况,提出了9种硬件计算图节点之间的连接方式,分别是:
NP→NP,当前软件计算图节点及其前继节点都不需要分割;
NP→IWP,当前软件计算图节点需要在输入数据的宽度维度进行分割,前继节点不需要分割;
NP→OCP,前继软件计算图节点不需要分割,当前软件计算图节点需要在权重数据的输出通道维度进行分割;
IWP→NP,当前软件计算图节点不需要分割,前继软件计算图节点需要在输入数据的宽度维度进行分割;
IWP→IWP,当前软件计算图节点和前继软件计算图节点都需要在输入数据的宽度维度进行分割;
IWP→OCP,当前软件计算图节点在权重数据的输出通道维度进行分割,前继软件计算图节点都需要在输入数据的宽度维度进行分割;
OCP→NP,当前软件计算图节点不需要分割,前继软件计算图节点需要在权重数据的输出通道维度进行分割;
OCP→IWP,当前软件计算图节点在权重数据的输出通道维度进行分割,前继软件计算图节点需要在权重数据的输出通道维度进行分割;
以及OCP→OCP,当前软件计算图节点和前继软件计算图节点都需要在权重数据的输出通道维度进行分割。
并且将这9种连接方式划分为2个步骤进行实现,例如对于OCP→IWP,在前继软件计算图节点所需要的所有硬件模块的输出端口添加OCP→IWP后端模块,在当前层所需要的硬件模块的输入端口添加OCP→IWP前端模块;其余连接方式按照相同的机制分别在相应的硬件模块的输入或输出端口添加前端模块或后端模块。
所述将外部框架定义的模型转化为内部的软件计算图的具体步骤为:输入由外部框架定义且训练完成的模型,解析其中的算子;基于深度优先的原则,对节点进行重排序。
所述软件计算图优化模块对软件计算图进行优化的具体步骤为:对软件计算图中含有超过2个输入端口的节点,分别使用多个2输入的节点进行实现并替换;对含有超过2个输出端口的节点,在其末端添加Duplicate算子,用来进行数据的广播;对含有超过2个输出端口的Duplicate算子,使用多个2输出的Duplicate算子进行实现并替代。
所述生成硬件计算图的步骤具体为:根据软件计算图中节点的种类以及使用硬件资源的数量,对软件计算图的节点进行频度统计,根据频度对节点分配硬件资源(例如,内存大小,计算资源等)。随后基于贪心搜索的思想,综合考虑目标硬件平台的资源总数,并在软件计算图的指导下,生成能够满足整个模型计算要求的硬件计算图节点集合,硬件计算图节点是对软件计算图节点分配的硬件资源,硬件计算图节点是用来表示硬件资源的一种数据结构。接着根据软件计算图与硬件计算图的节点集合,生成硬件计算图的边,用于体现硬件计算图节点之间的互联关系。在生成硬件计算图边的同时,将软件计算图分割成多个子图,子图之间通过片外存储器进行数据的通信;对这些子图之间的数据进行片外存储的资源分配,使用动态规划进行实现。硬件计算图中的每一个节点都代表一个处理单元,但每次运行时,部分处理单元需要从片外存储器获取数据。
所述硬件计算图优化模块中对硬件计算图进行优化的具体步骤为:遍历硬件计算图中的每一条边,对功能重复的边进行裁剪。
有益效果:与现有技术相比,本发明提供的基于硬件计算图的深度学***台。
附图说明
图1为本发明实施例的工作流程图;
图2为本发明实施例的软件计算图的生成流程图;
图3为本发明实施例的软件计算图的优化流程图;
图4为本发明实施例的硬件计算图的第一阶段生成流程图;
图5为本发明实施例的硬件计算图的第二阶段生成流程图;
图6为本发明实施例的硬件计算图的边生成流程。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
当以FPGA为目标硬件平台,基于硬件计算图的深度学习编译器,硬件计算图生成模块,软件计算图优化模块,硬件计算图优化模块,以及代码生成模块;工作流程为:软件计算图生成(图2),软件计算图优化(图3),硬件计算图生成(图4),硬件计算图优化(图5)以及代码生成。
软件计算图优化模块实现的软件计算图的生成流程如下:(步骤2.0)初始化当前外部深度学习框架定义的模型中算子索引cur为0,(步骤2.1)判断目前编译器是否支持第cur个算子的类型,(步骤2.2)如果编译器不支持当前算子则直接报错退出程序,(步骤2.3)反之根据***所输入模型中的算子创建其编译器的内部表示节点(也即软件计算图的节点),(步骤2.4)cur递增指向下一个算子,(步骤2.5)重复步骤2.1-步骤2.4,直到模型中所有的算子都被遍历,(步骤2.6)在所输入模型的指导下,确定每个软件计算图节点的前继和后继节点,由此生成软件计算图的边。
软件计算图优化模块中,软件计算图的优化流程如下:(步骤3.0)初始化当前软件计算图中算子索引cur为0,(步骤3.1)统计当前节点输入边的数量n以及输出边的数量m,(步骤3.2)当n小于或等于2时,不进行处理,(步骤3.3)当n大于2时,对输入进行拆分,通过(n-1)个2输入节点进行替换,(步骤3.4)当m小于2时,不进行处理,(步骤3.5)当m大于或等于2时,在当前节点的末端***一个Duplicate算子,该算子的输入为当前节点,输出为当前节点的所有输出边,同时删除当前节点原本的输出边,(步骤3.6)统计当前Duplicate节点输出边的数量k,(步骤3.7)当k等于2时,不进行处理,(步骤3.8)当k大于2时,使用(k-1)个Duplicate节点进行替换,(步骤3.9)cur递增指向下一个节点,(步骤3.10)重复步骤3.1-步骤3.9,直到软件计算图中所有的节点都被遍历,(步骤3.11)对所有的节点进行深度优先排序。
硬件计算图生成模块中,硬件计算图的生成流程包括基础节点生成、节点集合调整、边的生成以及片外存储的分配。
基础节点生成,实现根据频度对节点分配硬件资源,基础节点生成流程如下:(步骤4.0)初始化频次统计字典dict,key为节点对象,value为节点频度(即节点出现的次数),初始化当前软件节点(软件计算图中的节点)索引cur为0,(步骤4.1)计算第cur个软件节点所需要的片上存储器大小ram_size,(步骤4.2)通过存储器大小ram_size与当前软件节点的类型生成软件节点的key,(步骤4.3)key对应的频度递增,(步骤4.4)cur指向下一个软件节点,(步骤4.5)重复步骤4.1-步骤4.4,直到软件计算图中所有的节点都被遍历,(步骤4.6)通过将频次统计字典dict中的频度除以软件计算图节点的总数量,得到频率统计字典dict_freq,(步骤4.7)初始化当前key索引cur_k为0,(步骤4.8)获取dict_freq中的第cur_k个key k,(步骤4.9)使用当前key对应的频率dict_freq[k]乘以目标硬件平台的总资源数量,得到分配给当前key的硬件资源,(步骤4.10)cur_k指向下一个key,(步骤4.13)重复步骤4.8-步骤4.10,直到dict_freq中所有的key都被遍历,即得到所有的基础硬件节点。
节点集合调整流程如下:(步骤5.0)初始化当前硬件计算图节点索引cur为0,(步骤5.1)从当前节点开始生成设定数量(为防止程序运行时间过长,最多为20)的软件计算子图候选项(也即软件计算图中的一段连续节点集合),(步骤5.2)根据本发明所提出的9种节点之间的连接方式,计算每个子图候选项在当前的硬件计算图节点集合下,所需要的硬件模块类型(例如,卷积,池化等)、配置以及数量,(步骤5.3)根据步骤5.2中的结果,将当前硬件计算图节点集合与输入模型实际需要的节点集合相减,得到二者之间的差距,(步骤5.4)在不超过目标硬件平台的资源总数量的情况,从候选子网络中选择长度最长的一项,(步骤5.5)cur增加到下一轮迭代的起始点,(步骤5.6)对现有的硬件节点集合进行补充,也即根据(步骤5.4)中所选择的子图候选项所需要的硬件节点构建新的硬件计算图节点,并添加到现有硬件节点集合中,(步骤5.7)重复步骤5.1-步骤5.6,直到完成整个软件计算图的遍历。
边的生成流程如下:(步骤6.0)初始化软件计算图中当前子图索引cur_g为0以及当前子图中节点索引cur_n为0,(步骤6.1)找出第cur_g个子网络中的第cur_n个节点所需要的硬件计算图节点集合,(步骤6.2)初始化当前软件节点中的输入节点索引cur_input为0,(步骤6.4)若当前输入软件计算图节点同样包含在当前子图中,则为这两个软件计算图节点所需要硬件计算图节点添加边,(步骤6.5)若当前输入软件计算图节点不包含在当前子图中,则为FPGA的片外存储通信模块的读端口与当前软件计算图节点所需要的硬件计算图节点之间添加边,(步骤6.6)cur_input递增指向下一个输入端口,(步骤6.7)重复步骤6.3-步骤6.6,直到当前软件计算图节点所有的输入端口都被遍历,(步骤6.8)初始化当前软件计算图节点中的输入节点索引cur_output为0,(步骤6.10)若当前输出软件计算图节点同样包含在当前子图中,则为这两个软件计算图节点所需要硬件计算图节点添加边,(步骤6.11)若当前输出节点不包含在当前子图中,则为片外存储通信模块的写端口与当前节点之间添加边,(步骤6.12)cur_output递增指向下一个输出端口,(步骤6.13)重复步骤6.9-步骤6.12,直到当前节点所有的输出端口都被遍历,(步骤6.14)cur_n递增指向软件计算图的下一个节点,(步骤6.15)重复步骤6.1-步骤6.14,直到软件计算图中的所有节点都被遍历。
硬件计算图优化模块中,硬件计算图的优化流程如下:(步骤7.0)对硬件计算图中的所有硬件节点进行遍历,(步骤7.1)对每个硬件节点的每个输出边进行遍历,(步骤7.2)统计当前硬件节点所有输出边中功能相同的边,(步骤7.3)删去功能重复的输出边。
Claims (8)
1.一种基于硬件计算图的深度学习编译器,其特征在于,包括软件计算图生成模块,硬件计算图生成模块,软件计算图优化模块,硬件计算图优化模块,以及代码生成模块;
所述软件计算图生成模块用于将外部框架定义的深度学习模型转化为内部软件计算图;
所述软件计算图优化模块用于对软件计算图进行优化;
所述硬件计算图生成模块,在软件计算图的指导下,先生成基础节点集合,再使用贪心搜索对节点集合调整直到满足整个深度学习模型所需的计算要求,最后生成硬件计算图的边;
所述硬件计算图优化模块,用于对硬件计算图进行优化;
代码生成模块用于生成深度学习模型对应的硬件代码以及仿真代码。
2.根据权利要求1所述的基于硬件计算图的深度学习编译器,其特征在于,所述软件计算图生成模块中,根据硬件的实现效率,定义软件计算图中的节点类型与边;对模型文件进行解析并转换;软件计算图中的节点为个深度学习模型的运算单元;软件计算图中的边代表节点之间传递的数据。
3.根据权利要求1所述的基于硬件计算图的深度学***台上的一个处理单元,即节点和边分别代表芯片内部的模块与硬连线;
并且在实际实现时,在节点的每个输入端口以及输出端口处分别添加一个多路选择器和多路分配器;其中多路选择器用于选择当前硬件节点的前继节点,多路分配器用于选择当前硬件节点的后继节点。
4.根据权利要求1所述的基于硬件计算图的深度学习编译器,其特征在于:对软件计算图中含有超过2个输入端口的节点,分别使用多个2输入的节点进行实现并替换;对含有超过2个输出端口的节点,在节点的末端添加广播节点;使用多个只有2个输出端口的广播节点替换包含有多于2个输出端口的广播节点;基于深度优先的原则,对节点进行重排序。
5.根据权利要求1所述的基于硬件计算图的深度学习编译器,其特征在于:所述根据软件计算图生成硬件计算图的具体步骤为:在软件计算图的指导下,先生成基础节点集合,再使用贪心搜索对节点集合调整直到满足整个模型所需的计算要求,最后生成硬件计算图的边。
6.根据权利要求4所述的基于硬件计算图的深度学习编译器,其特征在于:所述生成基础节点集合的具体步骤为:根据软件计算图中节点的类别以及所需要的片上资源的数量,对节点进行聚类;对出现频繁的节点,优先进行资源的分配。
7.根据权利要求4所述的基于硬件计算图的深度学***台的资源数量;使用贪心搜索的策略,对软件计算图的节点进行遍历,生成一些候选的子网络;计算每个子网络在现有的硬件下,所需要的模块数量以及配置;计算每个子网络在现有的硬件下,缺少的模块数量以及配置;在不超过目标硬件平台资源数量的情况下,选取长度最大的子网络输出;重复上述步骤直到所有的节点都被遍历。
8.根据权利要求1所述的基于硬件计算图的深度学习编译器,其特征在于:所述在硬件计算图上进行优化的具体步骤为:遍历硬件计算图中每个节点的边,对硬件计算图中功能相同的边进行裁剪。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210625568.7A CN114936015A (zh) | 2022-06-02 | 2022-06-02 | 一种基于硬件计算图的深度学习编译器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210625568.7A CN114936015A (zh) | 2022-06-02 | 2022-06-02 | 一种基于硬件计算图的深度学习编译器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114936015A true CN114936015A (zh) | 2022-08-23 |
Family
ID=82865681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210625568.7A Pending CN114936015A (zh) | 2022-06-02 | 2022-06-02 | 一种基于硬件计算图的深度学习编译器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114936015A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116306856A (zh) * | 2023-05-17 | 2023-06-23 | 之江实验室 | 一种基于搜索的深度学习模型部署方法及装置 |
CN116301904A (zh) * | 2023-05-18 | 2023-06-23 | 之江实验室 | 一种用于深度学习编译器的算子优化加速方法及装置 |
-
2022
- 2022-06-02 CN CN202210625568.7A patent/CN114936015A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116306856A (zh) * | 2023-05-17 | 2023-06-23 | 之江实验室 | 一种基于搜索的深度学习模型部署方法及装置 |
CN116306856B (zh) * | 2023-05-17 | 2023-09-05 | 之江实验室 | 一种基于搜索的深度学习模型部署方法及装置 |
CN116301904A (zh) * | 2023-05-18 | 2023-06-23 | 之江实验室 | 一种用于深度学习编译器的算子优化加速方法及装置 |
CN116301904B (zh) * | 2023-05-18 | 2023-08-22 | 之江实验室 | 一种用于深度学习编译器的算子优化加速方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114186633B (zh) | 模型的分布式训练方法、装置、设备以及存储介质 | |
CN114936015A (zh) | 一种基于硬件计算图的深度学习编译器 | |
CN113703775B (zh) | 一种编译方法、装置、设备及存储介质 | |
US6817013B2 (en) | Program optimization method, and compiler using the same | |
CN112232497A (zh) | 一种编译ai芯片的方法、***、设备及介质 | |
CN113283613B (zh) | 深度学习模型的生成方法、优化方法、装置、设备及介质 | |
CN113220457A (zh) | 模型部署方法、模型部署装置、终端设备及可读存储介质 | |
CN111860816A (zh) | 神经网络模型的编译方法、装置、设备及存储介质 | |
Han et al. | Legodnn: block-grained scaling of deep neural networks for mobile vision | |
Moreira et al. | Graph partitioning with acyclicity constraints | |
Fang et al. | Optimizing DNN computation graph using graph substitutions | |
CN116368494A (zh) | 一种神经网络编译优化方法和相关装置 | |
CN114443559A (zh) | 可重构算子单元、处理器、计算方法、装置、设备及介质 | |
CN115423082A (zh) | 一种硬件特性相关的深度模型计算图自动优化方法 | |
Ranaweera et al. | Scheduling of periodic time critical applications for pipelined execution on heterogeneous systems | |
KR20230120850A (ko) | 이종 컴퓨팅 플랫폼 지원 딥러닝 컴파일러 및 그 방법 | |
Chiu et al. | A fast algorithm for reliability-oriented task assignment in a distributed system | |
CN108334532B (zh) | 一种基于Spark的Eclat并行化方法、***及装置 | |
Ara et al. | Scalable analysis for multi-scale dataflow models | |
Doerr et al. | Island models meet rumor spreading | |
Gupta et al. | Map-based graph analysis on MapReduce | |
CN115208954B (zh) | 用于分布式数据处理***的并行策略预置***及其方法 | |
CN106933665B (zh) | 预测mpi程序运行时间的方法 | |
US20220066834A1 (en) | Memory-bound scheduling | |
Lombardi et al. | Graph contraction on attribute-based coloring |
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 |