(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211177797.3
(22)申请日 2022.09.27
(71)申请人 之江实验室
地址 311121 浙江省杭州市余杭区之江实
验室南湖总部
(72)发明人 王宏升 陈光 曾令仿 潘爱民
(74)专利代理 机构 北京志霖恒远知识产权代理
有限公司 1 1435
专利代理师 戴莉
(51)Int.Cl.
G06F 9/38(2006.01)
G06F 9/30(2006.01)
G06F 17/16(2006.01)
G06N 3/04(2006.01)
G06N 3/063(2006.01)
(54)发明名称
一种用于图计算的指令执 行方法及装置
(57)摘要
本发明公开了一种用于图计算的指令执行
方法及装置, 包括以下步骤: 步骤S1: 将用于神经
网络计算的计算图中每个节点的算子下发到算
子解释器; 步骤S2: 算子解释器构建运行时的指
令; 步骤S3: 定义指令依赖关系; 步骤S4: 构建指
令依赖关系图; 步骤S5: 构建并行指令的拓扑顺
序; 步骤S6: 将并行指令调度到硬件资源上; 步骤
S7: 构建并行指令的最短调度: 在硬件资源限制
的条件下并行指令执行所需的最短时间; 步骤
S8: 释放已经执行完的指令。 本发明从全局角度
分析计算图执行过程中节点所包含指令之间的
依赖关系以及基于依赖关系推导全局计算图中
可并行执行指令的拓扑顺序, 提供了将并行指令
最快地调度到硬件资源上的方法和装置, 优化了
计算图的编译效率。
权利要求书1页 说明书9页 附图9页
CN 115269016 A
2022.11.01
CN 115269016 A
1.一种用于图计算的指令执 行方法, 其特 征在于, 包括以下步骤:
步骤S1: 将用于神经网络计算的计算图中每 个节点的算子下发到算子解释器;
步骤S2: 算子解释器构建运行时的指令;
步骤S3: 定义指令依赖关系;
步骤S4: 构建指令依赖关系图;
步骤S5: 构建并行指令的拓扑顺序;
步骤S6: 将并行指令调度到硬件资源上;
步骤S7: 构建并行指令的最短调度: 在硬件资源限制的条件下并行指令执行所需的最
短时间;
步骤S8: 释放已经 执行完的指令 。
2.如权利要求1所述的一种用于图计算的指令执行方法, 其特征在于, 所述步骤S3所述
指令依赖关系包括写读强依赖关系 、 读写弱依赖关系和写 写弱依赖关系。
3.如权利要求2所述的一种用于图计算的指令执行方法, 其特征在于, 所述写读强依赖
关系为: 根据指 令操作先写寄存器, 后 读同一寄存器, 且后读同一寄存器的指 令操作依赖先
写寄存器的指令操作。
4.如权利要求2所述的一种用于图计算的指令执行方法, 其特征在于, 所述读写弱依赖
关系为: 根据指 令操作先读寄存器, 后写同一寄存器, 且后写同一寄存器的指 令操作依赖先
读寄存器的指令操作。
5.如权利要求2所述的一种用于图计算的指令执行方法, 其特征在于, 所述写写弱依赖
关系为: 根据指 令操作先写寄存器, 后写同一寄存器, 且后写同一寄存器的指 令操作依赖先
写寄存器的指令操作。
6.如权利要求1所述的一种用于图计算的指令执行方法, 其特征在于, 所述步骤S4的具
体步骤为: 根据计算图的拓扑结构依 次遍历每个节点, 并通过分析每个节点指令与其后继
节点指令的依赖关系, 构建每 个节点的依赖关系边构成指令依赖关系图。
7.如权利要求1所述的一种用于图计算的指令执行方法, 其特征在于, 所述步骤S5的具
体步骤为: 根据计算图的拓扑结构依 次遍历每个计算节点, 同时根据所述指令依赖关系图
获得执行流中每一 步并行执行指令, 得到并行指令的拓扑顺序。
8.如权利要求1所述的一种用于图计算的指令执行方法, 其特征在于, 所述步骤S6的具
体步骤为: 根据所述指令依赖关系图的拓扑顺序, 将每一步并行执行指令调度到对应的硬
件资源上。
9.一种用于图计算的指令执行装置, 其特征在于, 包括存储器和一个或多个处理器, 所
述存储器中存储有可执行代码, 所述一个或多个处理器执行所述可执行代码时, 用于实现
权利要求1 ‑8中任一项所述的一种用于图计算的指令执 行方法。
10.一种计算机可读存储介质, 其特征在于, 其上存储有程序, 该程序被处理器执行时,
实现权利要求1 ‑8中任一项所述的一种用于图计算的指令执 行方法。权 利 要 求 书 1/1 页
2
CN 115269016 A
2一种用于图计算的指令 执行方法及装置
技术领域
[0001]本发明涉及 一种基于特定计算模型的计算机系统技术领域, 尤其涉及 一种用于图
计算的指令执 行方法及装置 。
背景技术
[0002]随着近几年神经网络模型的落地, 面向神经网络编译的技术变得越来越重要。 已
有的计算图编译技术仍未从全局角度分析计算图执行过程中节点所包含指令之间的依赖
关系以及基于依赖 关系推导全局计算图中可并行执行指令的拓扑顺序。 本发明通过分析计
算图执行过程中指令之间的依赖关系, 构建并行指令拓扑顺序, 提供了将并行指令最快地
调度到硬件资源上的方法和装置, 提供了一种用于图计算的指 令执行方法及装置的编译技
术。
发明内容
[0003]本发明的目的在于提供一种用于图计算的指令执行方法及装置, 解决了如何从全
局角度分析计算图执行过程中节点所包含指令之间的依赖关系以及基于依赖关系推导全
局计算图中可并行 执行指令的拓扑顺序, 将并行指令最快地调度到硬件资源上的问题。
[0004]本发明采用的技 术方案如下:
一种用于图计算的指令执 行方法, 包括以下步骤:
步骤S1: 将用于神经网络计算的计算图中每 个节点的算子下发到算子解释器;
步骤S2: 算子解释器构建运行时的指令;
步骤S3: 定义指令依赖关系;
步骤S4: 构建指令依赖关系图;
步骤S5: 构建并行指令的拓扑顺序;
步骤S6: 将并行指令调度到硬件资源上;
步骤S7: 构建并行指令的最短调度: 在硬件资源限制的条件下并行指令执行所需
的最短时间;
步骤S8: 释放已经 执行完的指令 。
[0005]进一步地, 所述步骤S3所述指令依赖关系包括写读强依赖关系、 读写弱依赖关系
和写写弱依赖关系。
[0006]进一步地, 所述写读强依赖关系为: 根据指令操作先写寄存器, 后读同一寄存器,
且后读同一寄存器的指令操作依赖先写寄存器的指令操作。
[0007]进一步地, 所述读写弱依赖关系为: 根据指令操作先读寄存器, 后写同一寄存器,
且后写同一寄存器的指令操作依赖先读寄存器的指令操作。
[0008]进一步地, 所述写写弱依赖关系为: 根据指令操作先写寄存器, 后写同一寄存器,
且后写同一寄存器的指令操作依赖先写寄存器的指令操作。
[0009]进一步地, 所述步骤S 4的具体步骤为: 根据计算图的拓扑结构依次遍历每个节点,说 明 书 1/9 页
3
CN 115269016 A
3
专利 一种用于图计算的指令执行方法及装置
文档预览
中文文档
20 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共20页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 05:45:04上传分享