【技术实现步骤摘要】
计算图执行方法、计算机设备及存储介质
本申请涉及信息处理
,尤其涉及一种计算图执行方法、计算机设备及存储介质。
技术介绍
深度学习框架是整个深度学习生态体系中直面应用的第一层。早期在Caffe中,Layer被当做是构建卷积神经网络的基本元素,而在之后的深度学习框架,例如TensorFlow、MXNet中,虽然采用了不同的称呼,比如Operator,但与Caffe的Layer在核心思想上依旧是相似的,都是将神经网络计算进一步拆分为各类常见的面向张量数据的算子,使用者通过组合算子与数据来构建神经网络模型。以上是深度学习框架面向更上层的应用的接口设计思想,同时也是深度学习框架向下对接的思想。在神经网络处理器或者专用加速器兴起前,深度学习领域中主流的计算设备是CPU和GPU,深度学习框架需要将上层应用通过图结构所表达的深度学习任务具体化成可以在CPU或者GPU执行的指令和数据。在这个过程中,深度学习框架采用算子作为落实计算任务的具体元素。具体来说,深度学习框架对作为“积木”来搭建网络的每个算子都提供了其在CPU或者GPU上执行的核函数(Kernel),根据上层应用给出的抽象计算图,深度学习框架调度执行图结构中每个算子对应的核函数,完成整个神经网络的计算。算子在向设备上的具体实现的映射过程中,最简单的方法是通过编程语言来实现。这种方式的好处是灵活度高,对于CPU和提出了CUDA编程架构后的GPU来说,算法的开发者可以使用编程语言来完成特定算子的实现。但另一方面,算子的实现可能并不能够完全挖掘硬件设备的性能 ...
【技术保护点】
1.一种计算图执行方法,其特征在于,包括:/n通用处理器对具有融合算子的计算图进行编译时,根据所述融合算子的操作指令获得所述计算图对应人工智能处理器执行的二进制指令;其中,所述融合算子的操作指令获得步骤包括:/n通用处理器根据原始计算图中算子的执行设备对所述算子进行第一次划分,获得原始子图;其中,所述执行设备包括通用处理器和人工智能处理器;/n所述通用处理器根据所述人工智能处理器的学习库中算子的规则对所述原始子图中的算子进行检查,根据检查结果对所述原始子图作第二次划分,获得目标子图;/n所述通用处理器对所述目标子图进行编译,获得所述融合算子对应的操作指令。/n
【技术特征摘要】
1.一种计算图执行方法,其特征在于,包括:
通用处理器对具有融合算子的计算图进行编译时,根据所述融合算子的操作指令获得所述计算图对应人工智能处理器执行的二进制指令;其中,所述融合算子的操作指令获得步骤包括:
通用处理器根据原始计算图中算子的执行设备对所述算子进行第一次划分,获得原始子图;其中,所述执行设备包括通用处理器和人工智能处理器;
所述通用处理器根据所述人工智能处理器的学习库中算子的规则对所述原始子图中的算子进行检查,根据检查结果对所述原始子图作第二次划分,获得目标子图;
所述通用处理器对所述目标子图进行编译,获得所述融合算子对应的操作指令。
2.如权利要求1所述的方法,其特征在于,获得原始子图的步骤包括:
获取所述原始计算图,从所述原始计算图中确定第一类算子;其中,所述第一类算子对应的操作指令能够运行在人工智能处理器上;
根据所述原始计算图中算子之间具有的有向边,获取所述第一类算子构成的计算图,在所述第一类算子构成的计算图中提取原始子图;其中,所述原始子图包含多个输入算子和/或多个输出算子;所有原始子图构成原始子图集合。
3.如权利要求1或2所述的方法,其特征在于,获得目标子图的步骤包括:
所述通用处理器根据所述人工智能处理器的学习库中算子的规则对所述原始子图中的算子进行检查,获得检查结果;
利用检查结果,对所述原始子图中没有通过检查的算子删除,将所述原始子图中剩余算子构成的计算图进行剪枝,得到对应的目标子图;其中,所述目标子图包含一个输入算子和一个输出算子。
4.如权利要求3所述的方法,其特征在于,将所述原始子图中剩余算子构成的计算图进行剪枝的步骤包括:
所述原始子图中剩余算子构成的计算图中包含一个输入算子和多个输出算子、多个输入算子和一个输出算子、多个输入算子和多个输出算子中的至少一种的情况下,对所述原始子图中剩余算子构成的计算图进行迭代剪枝,得到目标子图。
5.根据权利要求4所述的方法,其特征在于,在满足所述原始子图中剩余算子构成的计算图包含一个输入算子和多个输出算子的情况下,对所述原始子图中剩余算子构成的计算图进行剪枝,包括:
根据所述原始子图中剩余算子构成的计算图中算子之间具有的有向边,在同一所述原始子图中剩余算子构成的计算图中,以所述原始子图中剩余算子构成的计算图的输出算子为起始点,反向遍历对应所述原始子图中剩余算子构成的计算图,遍历到其他的输出算子作为遍历终止条件;在满足反向遍历到的算子构成的计算图为目标子图的情况下,停止迭代剪枝。
6.根据权利要求4所述的方法,其特征在于,在满足所述原始子图中剩余算子构成的计算图包含多个输入算子和一个输出算子的情况下,对所述原始子图中剩余算子构成的计算图进行剪枝,包括:
根据所述原始子图中剩余算子构成的计算图中算子之间具有的有向边,在同一原始子图中剩余算子构成的计算图中,以所述原始子图中剩余算子构成的计算...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:上海寒武纪信息科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。