[发明专利]一种用于图计算并行执行的中间表示方法及装置有效
| 申请号: | 202211177798.8 | 申请日: | 2022-09-27 |
| 公开(公告)号: | CN115268877B | 公开(公告)日: | 2022-12-13 |
| 发明(设计)人: | 王宏升;陈光;曾令仿;潘爱民 | 申请(专利权)人: | 之江实验室 |
| 主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06N3/04;G06T1/40 |
| 代理公司: | 北京志霖恒远知识产权代理有限公司 11435 | 代理人: | 戴莉 |
| 地址: | 311121 浙江*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 用于 计算 并行 执行 中间 表示 方法 装置 | ||
本发明公开了一种用于图计算并行执行的中间表示方法及装置,包括以下步骤:步骤S1:将神经网络编译为计算图;步骤S2:定义计算图中张量变量的分支状态;步骤S3:定义计算图中张量变量的数据依赖关系;步骤S4:定义计算图中张量变量的控制依赖关系;步骤S5:构建计算图中张量变量的数据依赖关系图;步骤S6:构建计算图中张量变量的控制依赖关系图;步骤S7:将控制依赖转换为数据依赖。本发明从全局角度分析计算图执行过程中计算图中不同分支线程的张量变量之间的依赖关系以及基于依赖关系推导全局计算图中可并行执行分支线程的并行计算方法,通过分析计算图执行过程中不同分支线程的张量变量之间的依赖关系,优化计算图的编译效率。
技术领域
本发明涉及一种基于特定计算模型的计算机系统技术领域,尤其涉及一种用于图计算并行执行的中间表示方法及装置。
背景技术
随着近几年神经网络模型的落地,面向神经网络编译的技术变得越来越重要。已有的计算图编译技术仍未从全局角度分析计算图执行过程中计算图中不同分支线程的张量变量之间的依赖关系以及基于依赖关系推导全局计算图中可并行执行分支线程的并行计算方法。
为此,我们提出一种用于图计算并行执行的中间表示方法及装置。
发明内容
本发明为了解决如何从全局角度分析计算图执行过程中计算图中不同分支线程的张量变量之间的依赖关系以及基于依赖关系推导全局计算图中可并行执行分支线程的并行计算方法,提升计算图在运行时的执行效率,优化计算图的编译效率的问题,提供一种用于图计算并行执行的中间表示方法及装置。
本发明采用的技术方案如下:
一种用于图计算并行执行的中间表示方法,包括以下步骤:
步骤S1:将神经网络编译为计算图;
步骤S2:定义计算图中张量变量的分支状态;
步骤S3:定义计算图中张量变量的数据依赖关系;
步骤S4:定义计算图中张量变量的控制依赖关系;
步骤S5:构建计算图中张量变量的数据依赖关系图;
步骤S6:构建计算图中张量变量的控制依赖关系图;
步骤S7:将控制依赖转换为数据依赖。
进一步地,所述步骤S2具体包括以下子步骤:
步骤S21:定义张量变量的发散的分支状态:当计算图中的张量变量在不同的并行线程中具有不同的值,则所述张量变量为发散的分支状态;
步骤S22:定义张量变量的统一的分支状态:当计算图中的张量变量在不同的并行线程中具有相同的值,则所述张量变量为统一的分支状态。
进一步地,所述步骤S3具体为:当计算图节点包含输出张量变量和输入张量变量的赋值关系为输出张量变量是关于输入张量变量之间的关系表达式,则输出张量变量的数据依赖于输入张量变量。
进一步地,所述步骤S4具体包括以下子步骤:
步骤S41:定义分支控制变量:所述分支控制变量为布尔类型变量,所述分支控制变量为包含分支指令操作分支跳转的计算节点,当分支控制变量的值为真时,则执行流跳转到子图分支,反之,则执行包含分支指令操作分支跳转的计算节点的后继节点;
步骤S42:定义控制依赖关系:当赋予张量变量的值依赖于由所述分支控制变量控制的子图分支,则所述张量变量是控制依赖于所述分支控制变量;
步骤S43:定义计算图子图分支之间的后支配关系:当且仅当执行流从子图Bi分支执行至计算图终止节点过程中的每条路径都经过子图Bj分支,则子图Bj分支后支配子图Bi分支;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于之江实验室,未经之江实验室许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211177798.8/2.html,转载请声明来源钻瓜专利网。





