[发明专利]用于管理嵌套执行流的方法和系统有效
申请号: | 201310167916.1 | 申请日: | 2013-05-09 |
公开(公告)号: | CN103425533B | 公开(公告)日: | 2017-05-03 |
发明(设计)人: | 卢克·杜兰特 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市磐华律师事务所11336 | 代理人: | 徐丁峰,魏宁 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 管理 嵌套 执行 方法 系统 | ||
1.一种用于处理正由第一组线程所执行并存储在多个任务元数据描述符队列TMDQ内的多个任务的计算机实现的方法,所述方法包括:
接收包括在所述多个任务中的第一任务已完成的通知;
在协处理单元内确定是否包括在所述多个任务的子集中并且与第一TMDQ相关联的所有任务已执行;
如果并非包括在所述多个任务的所述子集中的所有任务已执行,那么启动包括在所述多个任务中的第二任务;并且
如果包括在所述多个任务的所述子集中的所有任务已执行,那么:
更新与所述第一TMDQ相关联的第一数据结构中的指针;
确定包括在所述多个任务中的第三任务即将在所述第一TMDQ中排队;以及
执行所述第三任务。
2.一种用于处理正由第一组线程所执行并存储在多个任务元数据描述符队列TMDQ内的多个任务的子系统,包括:
任务管理单元,其配置为实施以下步骤:
接收包括在所述多个任务中的第一任务已完成的通知;
在协处理单元内确定是否包括在所述多个任务的子集中并且与第一TMDQ相关联的所有任务已执行;
如果并非包括在所述多个任务的所述子集中的所有任务已执行,那么启动包括在所述多个任务中的第二任务;并且
如果包括在所述多个任务的所述子集中的所有任务已执行,那么:
更新与所述第一TMDQ相关联的第一数据结构中的指针;
确定包括在所述多个任务中的第三任务即将在所述第一TMDQ中排队;以及
执行所述第三任务。
3.根据权利要求2所述的子系统,进一步包括在接收所述第一任务已完成的所述通知之后递减与包括在所述多个任务中的未完成任务的数量相关的计数器。
4.根据权利要求3所述的子系统,进一步包括基于具有零值的所述计数器来确定正由所述第一组线程所执行的所有任务已完成。
5.根据权利要求2所述的子系统,其中执行所述第三任务进一步包括等待第二数据结构内的与所述第三任务相关联的存储器位置被更新以反映所述第三任务位于何处。
6.根据权利要求2所述的子系统,其中所述第一TMDQ已应在所述第一任务之前所生成并与第二组线程相关联的任务的请求而创建。
7.根据权利要求2所述的子系统,其中所述第一任务由在所述第一任务之前所生成并与第二组线程相关联的任务插入到所述第一TMDQ中。
8.根据权利要求2所述的子系统,其中所述第一TMDQ包括与包括在所述第一组线程中的第一线程相对应的第一任务集,并且第二TMDQ包括与包括在所述第一组线程中的第二线程相对应的第二任务集。
9.根据权利要求2所述的子系统,其中所述第一TMDQ包括与包括在所述第一组线程中的第一线程相对应的第一任务集以及与包括在所述第一组线程中的第二线程相对应的第二任务集。
10.根据权利要求2所述的子系统,其中确定是否包括在所述多个任务的所述子集中的所有任务已执行包括确定是否指向存储在所述第一TMDQ中的最后任务的指针指向所述第一任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310167916.1/1.html,转载请声明来源钻瓜专利网。