[发明专利]任务并行处理方法、存储介质、计算机设备、装置和系统有效
申请号: | 201711157341.X | 申请日: | 2017-11-20 |
公开(公告)号: | CN109814986B | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京华进京联知识产权代理有限公司 11606 | 代理人: | 孙岩 |
地址: | 200120 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 并行 处理 方法 存储 介质 计算机 设备 装置 系统 | ||
1.一种任务并行处理方法,其特征在于,包括:
根据需执行任务之间的依赖关系,构建任务有向无环图DAG;
根据所述任务有向无环图DAG,将各所述需执行任务分发至处理器的多个工作队列;
根据所述任务有向无环图DAG中各所述需执行任务的依赖关系,调控各所述工作队列中并行的需执行任务开始运行;
其中,所述根据所述任务有向无环图DAG,将各所述需执行任务分发至处理器的多个工作队列,包括:
对任务有向无环图DAG进行拓扑排序,获取任务拓扑排序序列;
根据各所述需执行任务的预设执行时间,对得到的所述拓扑排序序列进行排序,得到最长拓扑排序序列;
根据所述最长拓扑排序序列以及各所述需执行任务之间的依赖关系,分发各所述需执行任务至所述工作队列。
2.根据权利要求1所述的方法,其特征在于,所述根据需执行任务之间的依赖关系,构建任务有向无环图DAG的步骤之前包括:
根据程序中的操作节点和/或数据节点对程序进行拆分,获取所述需执行任务。
3.根据权利要求2所述的方法,其特征在于,所述根据程序中的操作节点对程序进行拆分,获取所述需执行任务的步骤包括:
若所述程序包括带模型的操作请求,则对所述带模型的操作请求的模型进行拆分和/或对所述模型的输入数据进行拆分,获取需执行任务。
4.根据权利要求3所述的方法,其特征在于,所述对所述带模型的操作请求的模型进行拆分,获取需执行任务的步骤包括:
设置拆分模型得到的各所述需执行任务对应的权值;
使用各所述权值,设置所述需执行任务的输入数据与输出数据的对应关系。
5.根据权利要求3所述的方法,其特征在于,所述对所述带模型的操作请求的模型进行拆分,获取需执行任务的步骤包括:
按照预设规则在模型的窗口方向和/或通道方向上拆分所述带模型的操作的模型,得到需执行任务。
6.根据权利要求3所述的方法,其特征在于,所述对所述带模型的操作请求的输入数据进行拆分,获取需执行任务的步骤包括:
按照预设规则在数据的窗口方向拆分所述带模型的操作的输入数据,得到需执行任务。
7.根据权利要求2所述的方法,其特征在于,所述根据程序中的操作节点对程序进行拆分,获取所述需执行任务的步骤包括:
若所述程序包括不带模型的操作请求,则对所述不带模型的操作请求的输入数据和/或输出数据进行拆分,获取需执行任务。
8.根据权利要求7所述的方法,其特征在于,所述对所述不带模型的操作请求的输入数据和/或输出数据进行拆分,获取需执行任务的在步骤包括:
按照预设规则在数据的窗口方向拆分所述输入数据和/或输出数据,得到需执行任务。
9.根据权利要求1所述的方法,其特征在于,所述根据需执行任务之间的依赖关系,构建任务有向无环图DAG的步骤包括:
根据获取的各所述需执行任务之间的依赖关系,确定所述任务有向无环图DAG中的并行结点与顺序结点;
根据所述并行结点与顺序结点构建任务有向无环图DAG。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述根据所述任务有向无环图DAG中各所述需执行任务的依赖关系,调控各所述工作队列中并行的需执行任务开始运行的步骤包括:
根据所述任务有向无环图DAG为各所述需执行任务设置引用计数;
若被依赖的需执行任务已执行,则修改需依赖的需执行任务的引用计数;
当所述需执行任务的引用计数达到预设值,控制各所述工作队列中引用计数达到预设值的需执行任务开始运行。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-10中任意一项所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711157341.X/1.html,转载请声明来源钻瓜专利网。