【技术实现步骤摘要】
有效执行经由任务图指定的工作负载
技术介绍
不同实施例的领域本公开的实施例一般涉及并行处理系统,并且更具体地,涉及有效地执行经由任务图指定的工作负载。相关技术的描述并行处理单元(PPU)能够使用在专用可编程硬件处理单元上并行执行的大量线程来实现非常高的处理性能。一些PPU提供应用程序编程接口(“API”),使开发人员能够将工作负载指定为称为“任务图”的依赖关系图。任务图中的每个节点都是由一个或更多个硬件处理单元执行的任务。任务图中的每个边都指定生产者任务和依赖于生产者任务的消费者任务之间的关系。依赖性可以是数据依赖性和/或执行依赖性(即,生产者任务“在消费者任务之前发生”,但是消费者任务不一定消耗生产者任务的任何输出)。依赖于多个生产者任务的任务称为“连接任务(jointask)”,而具有多个依赖消费者任务的任务称为“分支(fork)任务”。通常,执行任务的所有线程必须在任何线程开始执行任何依赖消费者任务之前完成。依赖任务执行的一个属性是完成生产者任务的执行与启动相关消费者任务的执行之间的等待时间(称为“依赖性解析 ...
【技术保护点】
1.一种计算机实现的方法,所述方法包括:/n确定第一任务正在启动,以及第二任务依赖于所述第一任务;/n在执行所述第一任务之前,启动从存储器中检索与所述第二任务相关联的任务描述符;以及/n在至少执行所述第一任务之后,基于与所述第二任务相关联的所述任务描述符启动所述第二任务。/n
【技术特征摘要】
20190624 US 16/450,5081.一种计算机实现的方法,所述方法包括:
确定第一任务正在启动,以及第二任务依赖于所述第一任务;
在执行所述第一任务之前,启动从存储器中检索与所述第二任务相关联的任务描述符;以及
在至少执行所述第一任务之后,基于与所述第二任务相关联的所述任务描述符启动所述第二任务。
2.如权利要求1所述的方法,还包括:确定与所述第一任务相关联的任务描述符指定针对所述第二任务启用了预取功能。
3.如权利要求1所述的方法,还包括:在启动所述第二任务之前,启动从所述存储器检索与所述第二任务相关联的一个或更多个指令。
4.如权利要求1所述的方法,还包括:在启动所述第二任务之前,启动从所述存储器中检索与所述第二任务相关联的一个或更多个常量。
5.如权利要求1所述的方法,还包括:在至少执行所述第一任务之后,重新初始化与所述第一任务相关联的依赖性跟踪器,以使得能够重新执行所述第一任务。
6.如权利要求5所述的方法,其中所述重新初始化所述依赖性跟踪器包括:将与所述第一任务相关联的总依赖性计数复制到与所述第一任务相关联的当前计数。
7.如权利要求5所述的方法,其中所述第一任务包括在任务循环中,并且还包括:
随后更新所述依赖性跟踪器以指示已经完成第一任务所依赖的任务的重新执行;以及
重新执行所述第一任务。
8.如权利要求5所述的方法,还包括:在重新初始化所述依赖性跟踪器之前,确定与所述第一任务相关联的第一任务描述符指定对所述第一任务启用了重新初始化功能。
9.如权利要求1所述的方法,其中启动所述第一任务包括执行准备多个流式多处理器以执行所述第一任务的一个或更多个操作,以及执行所述第一任务包括使得包括在所述多个流式多处理器中的每个流式多处理器执行与所述第一任务相关联的一个或更多个线程。
10.如权利要求1所述的方法,其中所述第一任务和所述第二任务与任务图相关联。
11.一种系统,包括:
存储一个或更多个任务描述符的存储器;以及
耦合到所述存储器的任务管理...
【专利技术属性】
技术研发人员:广田源太郎,贝里安·帕里斯,杰夫·塔基,R·奥弗曼,S·琼斯,
申请(专利权)人:辉达公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。