算子融合方法及装置、电子设备、计算机可读介质制造方法及图纸

技术编号:39175835 阅读:11 留言:0更新日期:2023-10-27 08:23
本公开提供了一种算子融合方法及装置、电子设备、计算机可读介质,该方法包括:根据预设的算子融合模式集合,从指定计算图的多个子图中确定出目标子图;获取目标子图的执行信息;根据与目标子图对应的算子融合模式、目标子图的执行信息和预设的融合执行机制,确定目标子图的执行策略。根据本公开的实施例能够快捷地识别出需要进行算子融合的目标子图,并准确地确定目标子图的执行策略,以便处理核心在根据该执行策略生成的指令执行子图的计算任务时,减少对片上存储资源的占用,加快对计算任务的执行速度,从而有效提高处理能力。从而有效提高处理能力。从而有效提高处理能力。

【技术实现步骤摘要】
算子融合方法及装置、电子设备、计算机可读介质


[0001]本公开涉及计算机
,特别涉及一种算子融合方法及装置、电子设备、计算机可读介质。

技术介绍

[0002]计算图(Computational Graph)是一种用于描述函数的有向图,已经被广泛应用在各类深度学习框架(例如,tensorflow和onnx等)中。通常情况下,计算图需要经过编译,才能生成可以在硬件上运行的指令流。
[0003]在相关技术中,编译器在划分子图之后,还可以通过人工方式对子图中的某些算子进行融合,将融合后的子图作为一个执行单元执行相应的指令,以达到减少片上存储、加快执行速度的目的。
[0004]然而,由于算子种类较多,算子的组合方式复杂多样,且算子参数存在多种选择,通过人工方式进行组合编译效率较低,且无法保障获得较优的处理能力。

技术实现思路

[0005]本公开提供一种基于众核系统的算子融合方法及装置、电子设备、计算机可读介质。
[0006]第一方面,本公开提供了一种算子融合方法,该算子融合方法包括:根据预设的算子融合模式集合,从指定计算图的多个子图中确定出目标子图,所述算子融合模式集合中包括至少一种算子融合模式,所述目标子图包括待融合的多个第一算子;获取所述目标子图的执行信息,所述目标子图的执行信息表征与所述目标子图的执行过程相关联的信息;根据与所述目标子图对应的算子融合模式、所述目标子图的执行信息和预设的融合执行机制,确定所述目标子图的执行策略;其中,所述执行策略用于生成指示处理核心执行所述目标子图的指令;所述执行策略包括融合子块的信息、所述融合子块的执行顺序和所述融合子块对应的处理核心的信息,所述融合子块是根据对应的算子融合模式对多个所述第一算子进行融合形成的融合算子进行划分获得的子块。
[0007]第二方面,本公开提供了一种算子融合装置,该算子融合装置包括:子图确定模块,被配置为根据预设的算子融合模式集合,从指定计算图的多个子图中确定出目标子图,所述算子融合模式集合中包括至少一种算子融合模式,所述目标子图包括待融合的多个第一算子;获取模块,被配置为获取所述目标子图的执行信息,所述目标子图的执行信息表征与所述目标子图的执行过程相关联的信息;策略确定模块,被配置为根据与所述目标子图对应的算子融合模式、所述目标子图的执行信息和预设的融合执行机制,确定所述目标子图的执行策略;其中,所述执行策略用于生成指示处理核心执行所述目标子图的指令;所述执行策略包括融合子块的信息、所述融合子块的执行顺序和所述融合子块对应的处理核心的信息,所述融合子块是根据对应的算子融合模式对多个所述第一算子进行融合形成的融合算子进行划分获得的子块。
[0008]第三方面,本公开提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的算子融合方法。
[0009]第四方面,本公开提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述的算子融合方法。
[0010]本公开所提供的实施例,通过预设的算子融合模式集合,能够快捷地识别出需要进行算子融合的目标子图,进而根据目标子图对应的算子融合模式、融合执行机制以及目标子图的执行信息,能准确地确定目标子图的执行策略,该方案在确定目标子图的执行策略过程中,实现了对目标子图中的第一算子的自动融合,处理核心在根据该执行策略生成的指令执行子图的计算任务时,减少对片上存储资源的占用,加快对计算任务的执行速度,从而有效提高处理能力。
[0011]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0012]附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
[0013]图1为本公开实施例提供的一种算子融合方法的流程图;
[0014]图2为本公开实施例提供的一种算子融合方法的流程图;
[0015]图3为本公开实施例提供的一种策略生成模型的训练过程的示意图;
[0016]图4为本公开实施例提供的一种算子融合方法的处理过程的示意图;
[0017]图5为本公开实施例提供的一种算子融合装置的框图;
[0018]图6为本公开实施例提供的一种编译器的框图;
[0019]图7为本公开实施例提供的一种电子设备的框图。
具体实施方式
[0020]为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0021]在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
[0022]如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
[0023]本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、
组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
[0024]除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
[0025]机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学逼近论、凸分析、算法复杂度理论等多门学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
[0026]在实际应用中,可以使用计算图来表示深度学习模型对应的神经网络。在计算图中,计算被表示成有向图,其中定义了数据的流向方式、数据的计算方式以及各种计算之间的关系等。通常情况下,计算图包括两类基本要素,分别为节本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种算子融合方法,其特征在于,包括:根据预设的算子融合模式集合,从指定计算图的多个子图中确定出目标子图,所述算子融合模式集合中包括至少一种算子融合模式,所述目标子图包括待融合的多个第一算子;获取所述目标子图的执行信息,所述目标子图的执行信息表征与所述目标子图的执行过程相关联的信息;根据与所述目标子图对应的算子融合模式、所述目标子图的执行信息和预设的融合执行机制,确定所述目标子图的执行策略;其中,所述执行策略用于生成指示处理核心执行所述目标子图的指令;所述执行策略包括融合子块的信息、所述融合子块的执行顺序和所述融合子块对应的处理核心的信息,所述融合子块是根据对应的算子融合模式对多个所述第一算子进行融合形成的融合算子进行划分获得的子块。2.根据权利要求1所述的算子融合方法,其特征在于,所述目标子图的执行信息包括算子特征信息、算子计算量信息,以及可用核心信息,所述可用核心信息指示用于执行所述指定计算图的众核系统中可用的核心;所述根据与所述目标子图对应的算子融合模式、所述目标子图的执行信息和预设的融合执行机制,确定所述目标子图的执行策略,包括:根据与所述目标子图对应的算子融合模式,对所述目标子图的第一算子进行融合,获得所述融合算子;根据所述第一算子的算子特征信息和与所述目标子图对应的算子融合模式匹配的融合执行机制,对所述融合算子进行划分与排序,获得所述融合子块和所述融合子块的执行顺序;根据所述第一算子的算子计算量信息,确定所述融合子块的计算量信息;根据所述融合子块的计算量信息、所述融合子块的执行顺序和所述可用核心信息,确定所述融合子块对应的处理核心的信息。3.根据权利要求1所述的算子融合方法,其特征在于,所述目标子图还包括:不进行融合的第二算子;所述目标子图的执行策略还包括:所述第二算子的执行顺序和所述第二算子对应的处理核心的信息。4.根据权利要求1

3中任意一项所述的算子融合方法,其特征在于,所述目标子图的执行策略由预设的策略生成模型根据与所述目标子图对应的算子融合模式、所述目标子图的执行信息和所述融合执行机制生成;其中,所述策略生成模型是经过训练获得的、具有生成执行策略能力的模型。5.根据权利要求1所述的算子融合方法,其特征在于,所述根据预设的算子融合模式集合,从指定计算图的多个子图中确定出目标子图,包括:根据所述算子融合模式集合,通过子图匹配的方式遍历所述指定计算图的多个子图,确定所述多个子图中的目标子图。6.根据权利要求1所述的算子融合方法,其特征在于,所述根据与所述目标子图对应的算子融合模式、所述目标子图的执行信息和预设的融合...

【专利技术属性】
技术研发人员:徐茂轩薛冰
申请(专利权)人:北京灵汐科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1