基于有向无环图的算子调度方法、装置和系统制造方法及图纸

技术编号:36730433 阅读:23 留言:0更新日期:2023-03-04 09:56
本公开涉及计算机技术领域,公开了一种基于有向无环图的算子调度方法、装置和系统,所述有向无环图基于多个算子以及所述多个算子之间的数据流建立形成,所述方法包括:接收用户输入的待处理的有向无环图,并根据所述有向无环图索引出对应的算子;基于预处理接口,接收用户输入的预处理接口调用参数,以对所述对应的算子进行预处理;根据所述预处理的结果,对所述对应的算子进行调度。本公开能够在对有向无环图中的算子进行调度时,根据用户的细粒度处理需求,从用户输入的有向无环图中索引出需要进行调度的算子,之后利用预处理接口对索引出的算子进行预处理,根据预处理的结果对算子进行调度,从而使算子调度更灵活、更细粒度。更细粒度。更细粒度。

【技术实现步骤摘要】
基于有向无环图的算子调度方法、装置和系统


[0001]本公开涉及计算机
,特别涉及一种基于有向无环图的算子调度方法、装置和系统。

技术介绍

[0002]近年来,基于tensor(张量)计算的DSL(Domain Specific Language,领域专用语言)在深度学习领域得到了广泛应用。很多深度学习软件框架(如TensorFlow和PyTorch)均提供了通过DSL构建计算图程序的机制,以方便用户基于张量这一抽象层次的对象描述深度学习模型结构。这种DSL构建的程序通常会被转换为一种DAG(Directed Acyclic Graph,有向无环图)的IR(Intermediate Representation,中间表示),用于表示程序中的数据流关系。DAG中的节点表示一个具有特定计算逻辑的算子,DAG中的有向边表示算子之间的数据流依赖关系。编译器可以基于这种DAG的IR对程序进行自动优化。
[0003]现代计算机体系结构中,程序局部性对性能有非常重要的影响,尤其是在存储带宽受限的硬件架构上,如果不能充分发掘计算程序中的局部性,则本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于有向无环图的算子调度方法,其特征在于,所述有向无环图基于多个算子以及所述多个算子之间的数据流建立形成,所述方法包括:接收用户输入的待处理的有向无环图,并根据所述有向无环图索引出对应的算子;基于预处理接口,接收用户输入的预处理接口调用参数,以对所述对应的算子进行预处理;根据所述预处理的结果,对所述对应的算子进行调度。2.根据权利要求1所述的方法,其特征在于,所述预处理接口包括分组接口;所述基于预处理接口,接收用户输入的预处理接口调用参数,以对所述对应的算子进行预处理,包括:接收用户输入的分组接口调用参数,所述分组接口调用参数包括待分组的输出算子和多个输入算子;根据所述分组接口调用参数,调用所述分组接口,以对所述对应的算子进行分组,得到所述待分组的输出算子和多个输入算子的组对象;向用户输出所述组对象;所述根据所述预处理的结果,对所述对应的算子进行调度,包括:根据所述组对象,对所述对应的算子进行调度。3.根据权利要求2所述的方法,其特征在于,所述预处理接口还包括调度子图划分接口;所述基于预处理接口,接收用户输入的预处理接口调用参数,以对所述对应的算子进行预处理,还包括:接收用户输入的调度子图划分接口调用参数,所述调度子图划分接口调用参数包括多个所述组对象;根据所述调度子图划分接口调用参数,调用所述调度子图划分接口,以对所述多个所述组对象中的算子进行划分,得到每个所述组对象分别对应的调度子图;所述根据所述预处理的结果,对所述对应的算子进行调度,还包括:根据所述调度子图,对所述对应的算子进行调度。4.根据权利要求3所述的方法,其特征在于,所述预处理接口还包括子图拆分接口;所述基于预处理接口,接收用户输入的预处理接口调用参数,以对所述对应的算子进行预处理,还包括:接收用户输入的子图拆分接口调用参数,所述子图拆分接口调用参数包括预设拆分维度和预设拆分个数;根据所述子图拆分接口调用参数,调用所述子图拆分接口,以对多个所述调度子图进行处理得到每个调度子图的计算子图;其中,每个所述计算子图的计算结果数据量不超过为其分配的计算核的本地内存存储容量;所述根据所述预处理的结果,对所述对应的算子进行调度,还包括:根据所述计算子图,对所述对应的算子进行调度。5.根据权利要求1

4任一项所述的方法,其特征在于,所述根据所述预处理的结果,对所述对应的算子进行调度,包括:接收...

【专利技术属性】
技术研发人员:刘雷淡孝强谢启凯王寓卿
申请(专利权)人:北京希姆计算科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1