CN116227566A - 应用于ai芯片的计算图可视化方法、装置、设备及介质 - Google Patents

应用于ai芯片的计算图可视化方法、装置、设备及介质 Download PDF

Info

Publication number
CN116227566A
CN116227566A CN202310221781.6A CN202310221781A CN116227566A CN 116227566 A CN116227566 A CN 116227566A CN 202310221781 A CN202310221781 A CN 202310221781A CN 116227566 A CN116227566 A CN 116227566A
Authority
CN
China
Prior art keywords
node
diagram
calculation
bidirectional
map
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
Application number
CN202310221781.6A
Other languages
English (en)
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.)
Shanghai Enflame Technology Co ltd
Original Assignee
Shanghai Enflame Technology Co ltd
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 Shanghai Enflame Technology Co ltd filed Critical Shanghai Enflame Technology Co ltd
Priority to CN202310221781.6A priority Critical patent/CN116227566A/zh
Publication of CN116227566A publication Critical patent/CN116227566A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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

Abstract

本发明公开了一种应用于AI芯片的计算图可视化方法、装置、设备及介质。该方法包括:获取算法模型在指定AI芯片下所对应的任意深度学习框架所生成的初始计算图;获取AI芯片信息,基于AI芯片信息构建与初始计算图所匹配的第一双向节点图结构体;根据第一双向节点图结构体获取计算图结构图、内存使用峰值和节点运行评估图。在双向节点图结构的基础上实现快速搜索,大型深度学习模型分级可视化,并将计算图结构图、内存使用峰值图和节点运行评估图进行可视化展示,在增加多种优化信息的同时实现计算图的可视化,并能够实现对不同深度学习框架的兼容,减少了AI芯片上算法模型优化分析的成本。

Description

应用于AI芯片的计算图可视化方法、装置、设备及介质
技术领域
本发明实施例涉及人工智能芯片技术,尤其涉及一种应用于AI芯片的计算图可视化方法、装置、设备及介质。
背景技术
现有的人工智能(Artificial Intelligence,AI)芯片通常会应用于神经网络模型等复杂多节点结构的计算,从而提高多节点结构所对应的算法模型的运算效率。
但是在应用AI芯片进行复杂多节点结构的计算时,需要使用可视化技术支持模型的分析与优化,但是由于算法模型计算图复杂度高,且神经网络模型框架繁多,现有的可视化方法无法兼容多样的网络模型架构,从而增加了算法模型分析优化的成本。
发明内容
本发明实施例提供一种应用于AI芯片的计算图可视化方法、装置、设备及介质,以实现对计算图的可视化展示。
第一方面,本发明实施例提供了一种应用于AI芯片的计算图可视化方法,包括:获取算法模型在指定AI芯片下所对应的任意深度学习框架所生成的初始计算图,其中,所述任意深度学习框架所生成的初始计算图中包括所述算法模型的节点和节点描述;
获取AI芯片信息,基于所述AI芯片信息构建与所述初始计算图所匹配的第一双向节点图结构体;
根据所述第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图,并将所述计算图结构图、所述内存使用峰值图和所述节点运行时间评估图进行可视化展示。
第二方面,本发明实施例提供了一种应用于AI芯片的计算图可视化装置,包括:初始计算图获取模块,用于获取算法模型在指定AI芯片下所对应的任意深度学习框架所生成的初始计算图,其中,所述任意深度学习框架所生成的初始计算图中包括所述算法模型的节点;
第一双向节点图结构体构建模块,用于获取AI芯片信息,基于所述AI芯片信息构建与所述初始计算图所匹配的第一双向节点图结构体;
可视化展示模块,用于根据所述第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图,并将所述计算图结构图、所述内存使用峰值图和所述节点运行时间评估图进行可视化展示。
第三方面,本发明实施例提供了计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法。
第四方面,本发明实施例提供了一种计算机可执行指令的存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法。
附图说明
图1是本发明实施例一提供的一种应用于AI芯片的计算图可视化方法的流程图;
图2是本发明实施例一提供的计算图结构图的示意图;
图3是本发明实施例一提供的内存使用峰值图的示意图;
图4是本发明实施例一提供的节点运行时间评估图的示意图;
图5是本发明实施例二提供的一种应用于AI芯片的计算图可视化方法的流程图;
图6是本发明实施例三提供的一种应用于AI芯片的计算图可视化装置的结构示意图;
图7是本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种应用于AI芯片的计算图可视化方法的流程图,本实施例可适用于对计算图进行可视化展示的情况,该方法可以由应用于AI芯片的计算图可视化装置来执行,该装置可以由软件和/或硬件的方式实现,方法包括:
步骤S101,获取算法模型在指定AI芯片下所对应的任意深度学习框架所生成的初始计算图。
其中,算法模型可以是神经网络模型或者贝叶斯模型,本实施方式中并不对算法模型的具体类型进行限定。并且在指定的AI芯片下,可以通过任意深度学习框架生成与算法模型所对应的初始计算图,而通过任意深度学习框架所生成的初始计算图中可以包括算法模型的节点和节点描述。此时所获取的初始计算图具体可以是一种中间表达源码的形式,例如:%22=“gather”(%arg60,%19){dimension_numbers=collapsed_slice_dims=dense<0>:tensor<1xi64>,index_vector_dim=1:i64,offset_dims=dense<1>:tensor<1xi64>,start_index_map=dense<0>:tenso r<1xi64>,indices_are_sorted=false,name=“gather.278”,op_id=7:i64,slice_size=dense<[1,1024]>:tensor<2xi64>,tensor_split=dense<[4,1]>:tensor<1x2xi32>,uniq ue_name=“common20_gather”}。其中,gather是节点的名称,而{}内所包含的内容为节点描述,当然,本实施方式中仅是举例说明,而并不对初始计算图中所包含的节点数量,以及节点描述内容进行具体限定。
步骤S102,获取AI芯片信息,基于AI芯片信息构建与初始计算图所匹配的第一双向节点图结构体。
可选的,基于AI芯片信息构建与初始计算图所匹配的第一双向节点图结构体,包括:对初始计算图中的各节点进行后向遍历获取节点依赖关系,并根据节点、节点描述和节点依赖关系构建第二双向节点图结构体;根据第二双向节点图结构体以及AI芯片信息获取与初始计算图所匹配的第一双向节点图结构体。
可选的,根据第二双向节点图结构体以及AI芯片信息获取与初始计算图所匹配的第一双向节点图结构体,包括:按照指定规则对第二双向节点图结构体进行简化,获取简化后的第三双向节点图结构体,其中,第三双向节点图结构体中包括简化后的节点、简化后的节点描述和节点依赖关系;确定AI芯片信息中所包含的硬件参数信息以及基于AI芯片的底层硬件算子信息;根据第三双向节点图结构体、硬件参数信息以及底层硬件算子信息获取与初始计算图所匹配的第一双向节点图结构体。
可选的,按照指定规则对第二双向节点图结构体进行简化,获取简化后的第三双向节点图结构体,包括:将第二双向节点图结构体中指定类型的节点进行删除,获取简化后的节点,其中,指定类型包括非计算类节点;将第二双向节点图结构中指定形式的节点描述进行删除,获取简化后的节点描述,其中,指定形式包括形状对应排布以及为了向下映射硬件所拥有的信息;根据简化后的节点、简化后的节点描述和节点依赖关系构建第三双向节点图结构体。
可选的,根据第三双向节点图结构体、硬件参数信息以及底层硬件算子信息获取与初始计算图所匹配的第一双向节点图结构体,包括:
根据硬件参数信息和底层硬件算子信息对第三双向节点图结构体进行节点遍历计算,获取各节点的节点运行信息,其中,节点运行信息包括预估运行时间、存储空间使用量、算力和带宽;根据简化后的节点、简化后的节点描述、节点依赖关系和节点运行信息构建第一双向节点图结构体。
具体的说,本实施方式中在获取到如上所示的初始计算图后,在构建与初始计算图所匹配的第一双向节点图结构体时,首先是对初始计算图中的各节点进行后项遍历获取节点依赖关系,例如,在初始计算图中包含四个节点,分别是节点a、节点b、节点c和节点d,以及四个节点的节点描述,则通过对各节点进行后项遍历可以获取节点依赖关系,如确定节点a的输入为节点b的输出,则确定节点a依赖于节点b,节点d的运行需要根据节点b和节点c,则节点d依赖于节点b和节点c,从而根据遍历结果可以获取到各节点的依赖关系,并根据已知的节点、节点描述和通过遍历所获取的节点依赖关系,构建出第二双向节点图结构体。
其中,在获取到第二双向节点图结构之后,在根据第二双向节点图机构体构建第一双向节点图结构体时,首先对所获取的第二双向节点图结构体按照指定规则进行简化,指定规则可以是将第二双向节点图结构体中指定类型的节点以及指定形式的节点描述进行删除,例如,针对包含四个节点:节点a、节点b、节点c和节点d,四个节点的节点描述,以及节点依赖关系的第二双向节点图结构体中,节点a、节点b和节点c是计算类节点,而节点d是非计算类节点,则可以按照指定规则将非计算类节点进行删除,从而获取简化后的节点:节点a、节点b和节点c。同时还可以按照指定规则将第二双向节点图结构体中节点描述进行删除以获取简化后的节点描述,例如,冗余的节点描述类似形状shape对应排布,以及特殊节点内部操作节点描述,类似删除部分为了向下映射硬件拥有的信息等,当然,本实施方式中仅是举例说明,而并不对指定规则的具体内容进行限定。从而根据简化后的节点、简化后的节点描述和节点依赖关系构建出第三双向节点图结构体。
需要说明的是,由于之前已经获取到AI芯片的硬件参数信息以及基于AI芯片的底层硬件算子信息,因此在根据第二双向节点图结构获取到简化后的第三双向节点图结构体之后,可以根据硬件参数信息和底层硬件算子信息对简化后的第三双向节点图结构体进行节点遍历计算,计算出各节点的节点运行参数,节点运行信息可以包括预估运行时间、存储空间使用量、算力和带宽等,由于硬件参数信息和底层硬件算子信息表明了各节点的运行环境信息,因此在运行环境信息已知的情况下,是可以求出上述各节点的运行环境信息的。从而根据已知的简化后的节点、简化后的节点描述和节点依赖关系,以及通过第三双向节点图结构体所获取的节点运行信息构建出第一双向节点图结构体。
步骤S103,根据第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图,并将计算图结构图、内存使用峰值图和节点运行时间评估图进行可视化展示。
可选的,根据第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图,包括:根据节点依赖关系将各简化后的节点进行顺序连接,获取初始结构图;将各简化后的节点描述和节点运行信息,添加到初始结构图中匹配的节点上,以构建计算图结构图;根据节点依赖关系获取各指定节点的相邻节点,并根据相邻节点的存储空间使用量和指定节点的存储空间使用量,计算各指定节点的内存使用峰值,根据各指定节点的内存使用峰值构建内存使用峰值图;根据各节点的预估运行时间确定同一名称节点的运行时间占比,并根据同一名称节点的运行时间占比构建节点运行时间评估图。
具体的说,本实施方式中当获取到第一双向节点图结构体之后,会根据节点依赖关系将各简化后的节点进行顺序连接,获取初始机构图,例如,当确定简化后的节点包括:节点a、节点b、节点c、节点d、节点e和节点f时,则根据所获取的六个节点的依赖关系进行顺序连接,获取初始结构图,当然,本实施方式中仅是以六个节点进行举例说明,而在实际应用中所获取的计算图结构图中通常包含大量的节点。同时将各简化后的节点描述和节点运行信息,添加到初始结构图中匹配的节点上,以构建计算图结构图,如图2所示为所获取的计算图结构图的示意图。
其中,本实施方式中还会根据节点依赖关系获取各指定节点的相邻节点,例如,节点b的相邻节点为节点a,同时根据各节点运行信息获取节点a的存储空间使用量10,以及节点b的存储空间使用量8,由于节点a是在节点b之前运行的节点,因此在计算节点b的内存使用峰值时具体是将节点b的存储空间使用量和节点a的存储空间使用量进行相加求和,从而计算出节点b的内存使用峰值为18。当然,本实施方式中仅是以计算节点b的存储空间使用量为例进行说明,对于求解其它节点的内存使用峰值的方式与此大致相同,本实施方式中不再进行赘述。并且根据所获取的各节点的内存使用峰值构建计算图结构体的内存使用峰值图,如图3所示为所获取的内存使用峰值图的示意图,当然,本实施方式中仅是举例说明,而并不对内存使用峰值图中各节点的内存使用峰值的具体数值进行限定。
其中,本实施方式中会根据各节点的节点运行信息获取节点运行状态列表,如下表1所示:
表1
Figure BDA0004116973420000081
Figure BDA0004116973420000091
其中,由于篇幅限制,表1中仅是以三个节点名称为例进行说明,并且在图2所示的计算图结构图中会包含多个同一名称的节点,本实施方式中并不对计算图结构图中所包含的同一名称节点的数量进行限制,例如,当确定包含83个convolution时,则最后一列的运行时间占比,指定是83个convolution节点总的运行时间占比,并且根据同一名称节点的运行时间占比可以构建如图4所示的节点运行时间评估图。
可选的,将计算图结构图、内存使用峰值图和节点运行时间评估图进行可视化展示,包括:接收针对计算图结构图的切分指令,其中,切分指令中包含节点数量;按照节点数量对计算图结构图顺次进行切分获取切分计算图结构图,其中,各切分计算图结构图分别用不同的标识进行标记;接收针对切分计算图结构图的可视化展示指令,其中,可视化展示指令中包含指定标识;根据可视化展示指令将与指定标识匹配的切分计算图结构、内存使用峰值图以及节点运行时间评估图进行可视化展示。
值得一提的是,本实施方式中可以采用将上述所获取的计算图结构图和内存使用峰值图直接进行展示,以实现计算图的可视化。另外,本实施方式中还可以使用切片技术,对计算图结构图进行隐藏展示。
在一个具体实现中,在获取到如图2所示的计算图结构图之后,接收针对计算图机构图的切分指令,在切分指令中包含节点数量,例如2。则终端会按照数量2对图2所示的计算图结构图顺次进行切分获取切分计算图结构图,例如,包含节点a和节点b的切分计算图结构图A,包含节点c和节点d的切分计算图结构图B,以及包含节点e和节点f的切分计算图结构图C。因此当所接收的针对切分计算图结构图的可视化展示指令中包括标识:A和B时,则可以根据指令仅展示切分计算图结构图A和切分计算图结构图B,即仅展示节点a、节点b、节点c和节点d,而将节点d和节点e进行隐藏,从而提高了计算图可视化的灵活性。
本申请通过获取算法模型在指定AI芯片下所对应的任意深度学习框架所生成的初始计算图,根据初始计算图所构建的结构体,获取可视化的计算图结构图和内存使用峰值图。从而在进行计算图的可视化时能够实现对不同深度学习框架的兼容,减少了算法模型分析优化的成本。
实施例二
图5为本申请实施例二提供的一种应用于AI芯片的计算图可视化方法的流程图,本实施例以上述实施例为基础,在将计算图结构图、内存使用峰值图和节点运行时间评估图进行可视化展示之后,还包括:接收用户的搜索指令,根据搜索指令对计算图结构图进行搜索获取关键节点在计算图结构图中的目标位置,并在目标位置对关键节点进行标记。
步骤S201,获取算法模型在指定AI芯片下所对应的任意深度学习框架所生成的初始计算图。
步骤S202,获取AI芯片信息,基于AI芯片信息构建与初始计算图所匹配的第一双向节点图结构体。
可选的,基于AI芯片信息构建与初始计算图所匹配的第一双向节点图结构体,包括:对初始计算图中的各节点进行后向遍历获取节点依赖关系,并根据节点、节点描述和节点依赖关系构建第二双向节点图结构体;根据第二双向节点图结构体以及AI芯片信息获取与初始计算图所匹配的第一双向节点图结构体。
可选的,根据第二双向节点图结构体以及AI芯片信息获取与初始计算图所匹配的第一双向节点图结构体,包括:按照指定规则对第二双向节点图结构体进行简化,获取简化后的第三双向节点图结构体,其中,第三双向节点图结构体中包括简化后的节点、简化后的节点描述和节点依赖关系;确定AI芯片信息中所包含的硬件参数信息以及基于AI芯片的底层硬件算子信息;根据第三双向节点图结构体、硬件参数信息以及底层硬件算子信息获取与初始计算图所匹配的第一双向节点图结构体。
步骤S203,根据第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图,并将计算图结构图、内存使用峰值图和节点运行时间评估图进行可视化展示。
可选的,根据第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图,包括:根据节点依赖关系将各简化后的节点进行顺序连接,获取初始结构图;将各简化后的节点描述和节点运行信息,添加到初始结构图中匹配的节点上,以构建计算图结构图;根据节点依赖关系获取各指定节点的相邻节点,并根据相邻节点的存储空间使用量和指定节点的存储空间使用量,计算各指定节点的内存使用峰值,根据各指定节点的内存使用峰值构建内存使用峰值图;根据各节点的预估运行时间确定同一名称节点的运行时间占比,并根据同一名称节点的运行时间占比构建节点运行时间评估图。
可选的,将计算图结构图和内存使用峰值图进行可视化展示,包括:接收针对计算图结构图的切分指令,其中,切分指令中包含节点数量;按照节点数量对计算图结构图顺次进行切分获取切分计算图结构图,其中,各切分计算图结构图分别用不同的标识进行标记;接收针对切分计算图结构图的可视化展示指令,其中,可视化展示指令中包含指定标识;根据可视化展示指令将与指定标识匹配的切分计算图结构、内存使用峰值图以及节点运行时间评估图进行可视化展示。
步骤S204,接收用户的搜索指令,根据搜索指令对计算图结构图进行搜索获取关键节点在计算图结构图中的目标位置,并在目标位置对关键节点进行标记。
具体的说,本实施方式中当将计算图结构图进行可视化展示之后,由于在计算图结构图中包含各节点名称,因此当接收到包含关键节点名称的搜索指令时,其中,在搜索指令中包括关键节点名称。例如,搜索指令包含节点a,则可以根据搜索指令对计算图结构图进行搜索,获取节点a在计算图结构图中的目标位置,并在目标位置对节点a进行标记,例如采用圆圈进行标记,或者使用星号进行标记,本实施方式中并不限定针对关键节点的具体标识方式,只要能够对要搜索的关键节点进行定位,则都是在本申请的保护范围内,本实施方式中并不对其进行限定。通过在计算图结构图中自动对关键节点进行定位,从而便于用户从结构复杂节点众多的计算图结构图中,快速查找出根据实际需求需要重点关注的节点,从而提高了用户的搜索效率。
本申请通过获取算法模型在指定AI芯片下所对应的任意深度学习框架所生成的初始计算图,根据初始计算图所构建的结构体,获取可视化的计算图结构图和内存使用峰值图。从而在进行计算图的可视化时能够实现对不同深度学习框架的兼容,减少了算法模型分析优化的成本。通过在计算图结构图中自动对关键节点进行定位,从而便于用户从结构复杂节点众多的计算图结构图中,快速查找出根据实际需求需要重点关注的节点,从而提高了用户的搜索效率。
实施例三
图6为本发明实施例三提供的一种应用于AI芯片的计算图可视化装置的结构示意图,该装置可以执行上述各实施例中涉及到的应用于AI芯片的计算图可视化方法。该装置可采用软件和/或硬件的方式实现,如图6所示,应用于AI芯片的计算图可视化装置,包括:初始计算图获取模块310、第一双向节点图结构体构建模块320和可视化展示模块330。
初始计算图获取模块310,用于获取算法模型在指定AI芯片下所对应的任意深度学习框架所生成的初始计算图,其中,任意深度学习框架所生成的初始计算图中包括算法模型的节点;
第一双向节点图结构体构建模块320,用于获取AI芯片信息,基于AI芯片信息构建与初始计算图所匹配的第一双向节点图结构体;
可视化展示模块330,用于根据第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图,并将计算图结构图、内存使用峰值图和节点运行时间评估图进行可视化展示。
可选的,第一双向节点图结构体构建模块,包括:
第二双向节点图结构体构建子模块,用于对初始计算图中的各节点进行后向遍历获取节点依赖关系,并根据节点、节点描述和节点依赖关系构建第二双向节点图结构体;
第一双向节点图结构体获取子模块,用于根据第二双向节点图结构体以及AI芯片信息获取与初始计算图所匹配的第一双向节点图结构体。
可选的,第一双向节点图结构体获取子模块,包括:
第三双向节点图结构体获取子单元,用于按照指定规则对第二双向节点图结构体进行简化,获取简化后的第三双向节点图结构体,其中,第三双向节点图结构体中包括简化后的节点、简化后的节点描述和节点依赖关系;
硬件信息确定子单元,用于确定AI芯片信息中所包含的硬件参数信息以及基于AI芯片的底层硬件算子信息;
第一双向节点图结构体获取子单元,用于根据第三双向节点图结构体、硬件参数信息以及底层硬件算子信息获取与初始计算图所匹配的第一双向节点图结构体。
可选的,第三双向节点图结构体获取子单元,用于将第二双向节点图结构体中指定类型的节点进行删除,获取简化后的节点,其中,指定类型包括非计算类节点;
将第二双向节点图结构中指定形式的节点描述进行删除,获取简化后的节点描述,其中,指定形式包括形状对应排布以及为了向下映射硬件所拥有的信息;
根据简化后的节点、简化后的节点描述和节点依赖关系构建第三双向节点图结构体。
可选的,第一双向节点图结构体获取子单元,用于根据硬件参数信息和底层硬件算子信息对第三双向节点图结构体进行节点遍历计算,获取各节点的节点运行信息,其中,节点运行信息包括预估运行时间、存储空间使用量、算力和带宽;
根据简化后的节点、简化后的节点描述、节点依赖关系和节点运行信息构建第一双向节点图结构体。
可选的,可视化展示模块,用于根据节点依赖关系将各简化后的节点进行顺序连接,获取初始结构图;
将各简化后的节点描述和节点运行信息,添加到初始结构图中匹配的节点上,以构建计算图结构图;
根据节点依赖关系获取各指定节点的相邻节点,并根据相邻节点的存储空间使用量和指定节点的存储空间使用量,计算各指定节点的内存使用峰值,根据各指定节点的内存使用峰值构建内存使用峰值图;
根据各节点的预估运行时间确定同一名称节点的运行时间占比,并根据同一名称节点的运行时间占比构建节点运行时间评估图。
可选的,可视化展示模块,还用于接收针对计算图结构图的切分指令,其中,切分指令中包含节点数量;
按照节点数量对计算图结构图顺次进行切分获取切分计算图结构图,其中,各切分计算图结构图分别用不同的标识进行标记;
接收针对切分计算图结构图的可视化展示指令,其中,可视化展示指令中包含指定标识;
根据可视化展示指令将与指定标识匹配的切分计算图结构以及内存使用峰值图进行可视化展示。
可选的,装置还包括定位模块,用于接收用户的搜索指令,其中,搜索指令中包括关键节点名称;
根据搜索指令对计算图结构图进行搜索获取关键节点在计算图结构图中的目标位置,并在目标位置对关键节点进行标记。
实施例四
图7为本发明实施例四提供的一种计算机设备的结构示意图,如图7所示,该计算机设备包括处理器610、存储器620、输入装置630和输出装置640;计算机设备中处理器610的数量可以是一个或多个,图7中以一个处理器610为例;计算机设备中的处理器610、存储器620、输入装置630和输出装置640可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器620作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的应用于AI芯片的计算图可视化方法对应的程序指令/模块。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的应用于AI芯片的计算图可视化。
应用于AI芯片的计算图可视化方法,包括:
获取算法模型在指定AI芯片下所对应的任意深度学习框架所生成的初始计算图,其中,任意深度学习框架所生成的初始计算图中包括算法模型的节点和节点描述;
获取AI芯片信息,基于AI芯片信息构建与初始计算图所匹配的第一双向节点图结构体;
根据第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图,并将计算图结构图、内存使用峰值图和节点运行时间评估图进行可视化展示。
存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种应用于AI芯片的计算图可视化方法;
获取算法模型在指定AI芯片下所对应的任意深度学习框架所生成的初始计算图,其中,任意深度学习框架所生成的初始计算图中包括算法模型的节点和节点描述;
获取AI芯片信息,基于AI芯片信息构建与初始计算图所匹配的第一双向节点图结构体;
根据第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图,并将计算图结构图、内存使用峰值图和节点运行时间评估图进行可视化展示。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的应用于AI芯片的计算图可视化方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
值得注意的是,上述实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (11)

1.一种应用于AI芯片的计算图可视化方法,其特征在于,包括:
获取算法模型在指定AI芯片下所对应的任意深度学习框架所生成的初始计算图,其中,所述任意深度学习框架所生成的初始计算图中包括所述算法模型的节点和节点描述;
获取AI芯片信息,基于所述AI芯片信息构建与所述初始计算图所匹配的第一双向节点图结构体;
根据所述第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图,并将所述计算图结构图、所述内存使用峰值图和所述节点运行时间评估图进行可视化展示。
2.根据权利要求1所述的方法,其特征在于,所述构建与所述初始计算图所匹配的第一双向节点图结构体,包括:
对所述初始计算图中的各节点进行后向遍历获取节点依赖关系,并根据所述节点、所述节点描述和所述节点依赖关系构建第二双向节点图结构体;
根据所述第二双向节点图结构体以及所述AI芯片信息获取与所述初始计算图所匹配的第一双向节点图结构体。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第二双向节点图结构体以及所述AI芯片信息获取与所述初始计算图所匹配的第一双向节点图结构体,包括:
按照指定规则对所述第二双向节点图结构体进行简化,获取简化后的第三双向节点图结构体,其中,所述第三双向节点图结构体中包括简化后的节点、简化后的节点描述和节点依赖关系;
确定所述AI芯片信息中所包含的硬件参数信息以及基于所述AI芯片的底层硬件算子信息;
根据所述第三双向节点图结构体、所述硬件参数信息以及所述底层硬件算子信息获取与所述初始计算图所匹配的第一双向节点图结构体。
4.根据权利要求3所述的方法,其特征在于,所述按照指定规则对所述第二双向节点图结构体进行简化,获取简化后的第三双向节点图结构体,包括:
将所述第二双向节点图结构体中指定类型的节点进行删除,获取所述简化后的节点,其中,所述指定类型包括非计算类节点;
将所述第二双向节点图结构中指定形式的节点描述进行删除,获取所述简化后的节点描述,其中,所述指定形式包括形状对应排布以及为了向下映射硬件所拥有的信息;
根据所述简化后的节点、所述简化后的节点描述和所述节点依赖关系构建所述第三双向节点图结构体。
5.根据权利要求3所述的方法,其特征在于,所述根据所述第三双向节点图结构体、所述硬件参数信息以及所述底层硬件算子信息获取与所述初始计算图所匹配的第一双向节点图结构体,包括:
根据所述硬件参数信息和所述底层硬件算子信息对所述第三双向节点图结构体进行节点遍历计算,获取各节点的节点运行信息,其中,所述节点运行信息包括预估运行时间、存储空间使用量、算力和带宽;
根据所述简化后的节点、所述简化后的节点描述、所述节点依赖关系和所述节点运行信息构建所述第一双向节点图结构体。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图,包括:
根据所述节点依赖关系将各所述简化后的节点进行顺序连接,获取初始结构图;
将各所述简化后的节点描述和所述节点运行信息,添加到所述初始结构图中匹配的节点上,以构建所述计算图结构图;
根据所述节点依赖关系获取各指定节点的相邻节点,并根据所述相邻节点的存储空间使用量和指定节点的存储空间使用量,计算各指定节点的内存使用峰值,根据各指定节点的所述内存使用峰值构建所述内存使用峰值图;
根据各节点的预估运行时间确定同一名称节点的运行时间占比,并根据同一名称节点的运行时间占比构建所述节点运行时间评估图。
7.根据权利要求1所述的方法,其特征在于,所述将所述计算图结构图、所述内存使用峰值图和所述节点运行时间评估图进行可视化展示,包括:
接收针对所述计算图结构图的切分指令,其中,所述切分指令中包含节点数量;
按照所述节点数量对所述计算图结构图顺次进行切分获取切分计算图结构图,其中,各所述切分计算图结构图分别用不同的标识进行标记;
接收针对所述切分计算图结构图的可视化展示指令,其中,所述可视化展示指令中包含指定标识;
根据所述可视化展示指令将与所述指定标识匹配的切分计算图结构、所述内存使用峰值图以及所述节点运行时间评估图进行可视化展示。
8.根据权利要求1所述的方法,其特征在于,所述根据所述第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图之后,还包括:
接收用户的搜索指令,其中,所述搜索指令中包括关键节点名称;
根据所述搜索指令对所述计算图结构图进行搜索获取关键节点在所述计算图结构图中的目标位置,并在所述目标位置对所述关键节点进行标记。
9.一种应用于AI芯片的计算图可视化装置,其特征在于,包括:
初始计算图获取模块,用于获取算法模型在指定AI芯片下所对应的任意深度学习框架所生成的初始计算图,其中,所述任意深度学习框架所生成的初始计算图中包括所述算法模型的节点;
第一双向节点图结构体构建模块,用于获取AI芯片信息,基于所述AI芯片信息构建与所述初始计算图所匹配的第一双向节点图结构体;
可视化展示模块,用于根据所述第一双向节点图结构体获取计算图结构图、内存使用峰值图和节点运行时间评估图,并将所述计算图结构图、所述内存使用峰值图和所述节点运行时间评估图进行可视化展示。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8中任一项所述的方法。
11.一种计算机可执行指令的存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一项所述方法。
CN202310221781.6A 2023-03-09 2023-03-09 应用于ai芯片的计算图可视化方法、装置、设备及介质 Pending CN116227566A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310221781.6A CN116227566A (zh) 2023-03-09 2023-03-09 应用于ai芯片的计算图可视化方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310221781.6A CN116227566A (zh) 2023-03-09 2023-03-09 应用于ai芯片的计算图可视化方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN116227566A true CN116227566A (zh) 2023-06-06

Family

ID=86572896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310221781.6A Pending CN116227566A (zh) 2023-03-09 2023-03-09 应用于ai芯片的计算图可视化方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116227566A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116484947A (zh) * 2023-06-25 2023-07-25 上海燧原科技有限公司 算子的自动生成方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116484947A (zh) * 2023-06-25 2023-07-25 上海燧原科技有限公司 算子的自动生成方法、装置、设备及介质
CN116484947B (zh) * 2023-06-25 2023-09-08 上海燧原科技有限公司 算子的自动生成方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US11854671B2 (en) Method and apparatus for identifying heterogeneous graph and property of molecular space structure and computer device
CN111460311A (zh) 基于字典树的搜索处理方法、装置、设备和存储介质
CN110825375A (zh) 一种量子程序的转化方法、装置、存储介质和电子装置
CN109839927B (zh) 用于机器人路径规划的方法及装置
Barták Constraint programming: What is behind
CN106875320A (zh) 云环境下船舶航行数据的高效可视分析方法
CN116227566A (zh) 应用于ai芯片的计算图可视化方法、装置、设备及介质
Strobbe et al. Toward a visual approach in the exploration of shape grammars
CN106202224B (zh) 搜索处理方法及装置
CN113901231A (zh) 一种知识图谱的演进分析方法、装置及介质
KR20210042861A (ko) 이미지를 처리하는 방법, 장치, 전자 기기, 저장 매체 및 프로그램
CN104615737A (zh) 一种基于搜索框的计算方法及装置
CN112100307B (zh) 数据处理方法、寻路处理方法、装置及电子设备
Wendt et al. GMPath-a path language for navigation, information query and modification of data graphs
CN111831863A (zh) 数据可视化方法和装置、计算机可读的存储介质
Nam et al. Qualitative spatial reasoning with directional and topological relations
CN111949534A (zh) 一种基于控制流启发式搜索策略的软件测试方法及系统
CN104484368A (zh) 一种基于MapReduce的大规模图数据关键词搜索算法
CN116187464B (zh) 盲量子计算处理方法、装置及电子设备
CN115309397B (zh) 一种数据解释模型的画布拓扑管理方法和系统
Timpf Geographic Activity Models.
CN115164914B (zh) 一种单兵作战用导航方法、系统、电子设备及介质
CN116187463B (zh) 量子测量模式至量子电路的编译方法、装置及电子设备
Hou et al. Path planning for mobile robots based on improved A* algorithm
CN114880242B (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
CB02 Change of applicant information

Country or region after: China

Address after: Room a-522, 188 Yesheng Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201306

Applicant after: Shanghai Suiyuan Technology Co.,Ltd.

Address before: Room a-522, 188 Yesheng Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201306

Applicant before: SHANGHAI ENFLAME TECHNOLOGY Co.,Ltd.

Country or region before: China

CB02 Change of applicant information