[发明专利]计算图的编译、调度方法及相关产品在审
申请号: | 202111291728.0 | 申请日: | 2021-11-01 |
公开(公告)号: | CN114035916A | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 寒武纪行歌(南京)科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F8/33;G06N3/04;G06N3/08 |
代理公司: | 北京维昊知识产权代理事务所(普通合伙) 11804 | 代理人: | 陈姗姗 |
地址: | 211100 江苏省南京市麒麟科技创*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算 编译 调度 方法 相关 产品 | ||
本披露公开了一种计算图的编译、调度方法及相关产品。执行计算图的调度的加速器可以实现为计算装置,包括在组合处理装置中,该组合处理装置还可以包括接口装置和其他处理装置。该计算装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与计算装置和其他处理装置连接,用于存储该计算装置和其他处理装置的数据。本披露的方案通过将动态信息与调度解耦,可以方便实现流水处理,从而提高机器的处理效率。
技术领域
本披露一般地涉及数据处理领域。更具体地,本披露涉及一种计算图的编译方法、运行时调度方法、编译器、加速器、芯片和板卡。
背景技术
深度神经网络(Deep Neural Network,DNN)在广泛的应用中展示出强大的力量,这些应用包括但不限于图像处理、自然语言处理和游戏等。同时,持续发展的DNN技术为特定领域的架构革新也带来了新的机遇。机器学习加速器的很多架构和系统研究致力于加速DNN的训练和推理以获得更好的计算能力、更高的功率效应。
近来,由于动态神经网络技术对具有动态控制流和可变数据尺寸的复杂网络架构具有强大的表达能力,其越来越受到研究人员的关注。随着动态神经网络在自然语言处理和语义分割中日趋重要,目前广泛使用的框架也开始支持动态神经网络技术。
然而,现有的基于神经网络加速器的优化工作通常关注于静态神经网络的优化,在编译时利用静态调度等方式实现对静态计算图的优化。目前仍缺乏一种系统完整的方案用于在神经网络加速器上高效执行动态神经网络。
发明内容
为了至少部分地解决背景技术中提到的一个或多个技术问题,本披露从多个方面提供了解决方案。一方面,提供了一种改进的加速器和计算图的运行时调度方法,其可以帮助实现有效地流水处理。另一方面,提供了一种编程接口或编译器以及相应的编译方法,其可以便于编程人员进行阶段优化,并为调度优化提供了高阶语义。
在第一方面中,本披露公开一种计算图的运行时调度方法,其中所述计算图是已编译计算图,并且所述已编译计算图中包括多个执行块,所述执行块表示所述计算图中各个节点的子操作,所述方法包括:
在运行所述已编译计算图时,响应于执行块的预备执行,存储所述已编译计算图中需要执行的执行块的信息以构建运行时计算图;以及根据依赖关系,基于所述运行时计算图对存储的所述执行块进行调度,以实现流水运算。
在第二方面中,本披露公开一种计算图的编译方法,包括:
将所述计算图中的各个节点拆分成若干执行块以生成已编译计算图,每个执行块表示对应节点的子操作,所述执行块用于在运行所述已编译计算图时,以所述执行块为单位构建运行时计算图并进行调度。
在第三方面中,本披露公开一种加速器,包括:
并行运算电路,用于并行执行运算;
上下文存储电路,用于在运行已编译计算图时,响应于执行块的预备执行,存储所述已编译计算图中需要执行的执行块的信息以构建运行时计算图,其中所述已编译计算图中包括多个执行块,所述执行块表示所述计算图中各个节点的子操作;以及
调度电路,用于根据依赖关系,基于所述运行时计算图调度存储的所述执行块以控制所述并行运算电路实现流水运算。
在第四方面中,本披露提供一种编译器,其包括处理电路,配置用于执行根据本披露第二方面描述的计算图的编译方法。
在第五方面中,本披露提供一种芯片,包括前述第三方面的加速器和/或第四方面的编译器。
在第六方面中,本披露提供一种板卡,包括前述第五方面的芯片。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于寒武纪行歌(南京)科技有限公司,未经寒武纪行歌(南京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111291728.0/2.html,转载请声明来源钻瓜专利网。