[发明专利]用于保存和恢复线程组操作状态的技术无效
申请号: | 201310676477.7 | 申请日: | 2013-12-11 |
公开(公告)号: | CN103870247A | 公开(公告)日: | 2014-06-18 |
发明(设计)人: | 王若凡;兰基·V·姗;格拉尔德·F·路易斯;菲利普·亚历山大·夸德拉;卢克·杜兰特;瑟利斯·加德雷 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 董巍;谢栒 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 保存 恢复 线程 操作 状态 技术 | ||
技术领域
本发明总地涉及单指令、多数据处理(SIMD),并且更具体地,涉及用于保存和恢复线程组操作状态的技术。
背景技术
在常规SIMD架构中,并行处理单元(PPU)可以同时执行多个线程组,其中组内的每个线程对输入数据的不同部分执行相同的指令。给定的线程在执行指令时典型地依赖各种存储器资源,包括本地存储器、共享存储器、寄存器等等。这些存储器资源的状态被称为线程的“操作状态”。
在一些环境下,PPU可以保存给定线程组的操作状态以将由这些线程消耗的存储器资源重新分配给另一个线程组。当这类情况发生时,常规PPU可以仅将线程组中的每个线程的操作状态拷贝到存储器。随后,PPU然后可以通过将每个线程的操作状态从存储器拷贝回到相对应的存储器资源来重新发起线程组。利用该方法,PPU能够“暂停”线程组中部执行(mid-execution)以发起所消耗资源与“所暂停的”线程组相同的另一个线程组。
然而,上述方法是有问题的,因为给定线程的操作状态可被拷贝的速度取决于该操作状态的大小。当给定线程组包括大量线程并且每个线程的操作状态相对大时,将用于该线程组内的每个线程的操作状态拷贝多次可能要求大量的计算资源。因此,PPU的总处理吞吐量可能急剧降低。
因此,本领域需要的是用于在并行处理系统中保存和恢复与不同线程组相关联的操作状态的更高效的技术。
发明内容
本发明的一个实施例阐述了用于保存与执行在处理器上的线程组相关联的操作状态的计算机实现方法,包括确定分配到第一线程组的存储器的第一部分驻留在第一存储器区域内,将存储器的第二部分分配在第二存储器区域内,将存储器的第一部分拷贝到存储器的第二部分,以及记录指向存储器的第二部分的指针,其中处理引擎配置为基于指向存储器的第二部分的指针实施与第一线程组相关联的存储器访问操作。
所公开的技术的一个优势在于,当恢复线程组的操作状态时,不要求处理引擎将与线程组相关联的本地存储器拷贝回到先前与线程组相关联的本地存储器资源,从而节省与处理引擎相关联的计算资源。
第二个优势在于,随后的保存操作可以重新使用存储器的第二部分,保存随后的保存操作期间的拷贝。
附图说明
因此,可以详细地理解本发明的上述特征,并且可以参考实施例得到对如上面所简要概括的本发明更具体的描述,其中一些实施例在附图中示出。然而,应当注意的是,附图仅示出了本发明的典型实施例,因此不应被认为是对其范围的限制,本发明可以具有其他等效的实施例。
图1是示出了配置为实现本发明的一个或多个方面的计算机系统的框图;
图2是根据本发明的一个实施例的、用于图1的计算机系统的并行处理子系统的框图;
图3是根据本发明的一个实施例的、图2的通用处理集群内的流多处理器的一部分的框图;以及
图4是根据本发明的一个实施例的、更详细地示出了图3的流多处理器的示意图;
图5是根据本发明的一个实施例的、用于保存线程组的操作状态的方法步骤的流程图;以及
图6是根据本发明的一个实施例的、用于恢复线程组的操作状态的方法步骤的流程图。
具体实施方式
在下面的描述中,将阐述大量的具体细节以提供对本发明更透彻的理解。然而,本领域的技术人员应该清楚,本发明可以在没有一个或多个这些具体细节的情况下得以实践。
系统概述
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310676477.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种指令集仿真缓冲区动态自适应技术
- 下一篇:医药冷链箱