[发明专利]计算图的编译、调度方法及相关产品在审
申请号: | 202111291728.0 | 申请日: | 2021-11-01 |
公开(公告)号: | CN114035916A | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 寒武纪行歌(南京)科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F8/33;G06N3/04;G06N3/08 |
代理公司: | 北京维昊知识产权代理事务所(普通合伙) 11804 | 代理人: | 陈姗姗 |
地址: | 211100 江苏省南京市麒麟科技创*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算 编译 调度 方法 相关 产品 | ||
1.一种计算图的运行时调度方法,其中所述计算图是已编译计算图,并且所述已编译计算图中包括多个执行块,所述执行块表示所述计算图中各个节点的子操作,所述方法包括:
在运行所述已编译计算图时,响应于执行块的预备执行,存储所述已编译计算图中需要执行的执行块的信息以构建运行时计算图;以及
根据依赖关系,基于所述运行时计算图对存储的所述执行块进行调度,以实现流水运算。
2.根据权利要求1所述的方法,其中所述调度包括:
根据执行所述执行块的硬件模块依赖关系和/或数据依赖关系,确定所述运行时计算图的同一节点内和/或不同节点间能够并行执行的执行块。
3.根据权利要求1-2任一所述的方法,其中所述存储包括:
存储所述需要执行的执行块的上下文信息和程序计数器。
4.根据权利要求3所述的方法,其中所述上下文信息包括以下至少一项:数据源地址、数据目的地址、张量数据形状和计算配置。
5.根据权利要求3-4任一所述的方法,其中所述调度包括:
根据存储的所述程序计数器,调用对应的执行块。
6.根据权利要求5所述的方法,还包括:
被调用的执行块在执行时,加载存储的所述上下文信息以执行对应操作。
7.根据权利要求1-6任一所述的方法,其中所述已编译计算图中的各个节点是在编译时按如下方式被拆分成若干执行块:
将各个节点根据所涉及的硬件模块是否能够并行执行进行拆分。
8.根据权利要求7所述的方法,其中所述已编译计算图中的各个节点是在编译时进一步按如下方式被拆分成若干执行块:
将在同一硬件模块中执行的相邻代码划分至同一执行块。
9.根据权利要求1-8任一所述的方法,其中每个所述执行块具有块名称,用以指示执行当前执行块所涉及的硬件模块,以在调度时指示硬件模块依赖关系。
10.根据权利要求1-9任一所述的方法,其中,所述已编译计算图是动态计算图,所述运行时计算图是确定性计算图。
11.一种计算图的编译方法,包括:
将所述计算图中的各个节点拆分成若干执行块以生成已编译计算图,每个执行块表示对应节点的子操作,所述执行块用于在运行所述已编译计算图时,以所述执行块为单位构建运行时计算图并进行调度。
12.根据权利要求11所述的方法,还包括:
将各个节点根据所涉及的硬件模块是否能够并行执行来拆分成若干执行块。
13.根据权利要求12所述的方法,还包括:
将在同一硬件模块中执行的相邻代码划分至同一执行块。
14.根据权利要求11-13任一所述的方法,还包括:
为每个所述执行块定义块名称,用以指示执行当前执行块所涉及的硬件模块。
15.根据权利要求11-14任一所述的方法,还包括:
定制需要在运行时存储的执行块的相关信息和/或其存储格式。
16.根据权利要求15所述的方法,其中所述执行块的相关信息包括执行块的上下文信息和程序计数器。
17.根据权利要求16所述的方法,其中所述上下文信息包括以下至少一项:
数据源地址、数据目的地址、张量数据形状和计算配置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于寒武纪行歌(南京)科技有限公司,未经寒武纪行歌(南京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111291728.0/1.html,转载请声明来源钻瓜专利网。