Method and apparatus for intermediate thread preemption involving software assisted context switching is described. In an embodiment, in response to a request for preemption of one or more threads executed on a graphics processing unit (GPU), the one or more threads are stopped at the instruction level granularity. In response to the completion of one or more threads and / or one or more instructions in the instruction level granularity, the context data of the one or more threads is copied to the memory. Other embodiments are also disclosed and claimed.
【技术实现步骤摘要】
【国外来华专利技术】
概括地说,本公开内容涉及电子领域。更具体地说,实施例涉及利用软件辅助上下文切换的中间线程抢占。
技术介绍
当正在运行GPGPU(图形处理单元上的通用计算)工作负载并且硬件对于其它工作负载是必需的时,可以使用一种机制来抢占(pre-empt)或中断GPGPU工作负载。这通常要求响应于中断来完成硬件中的所有现有的或正在执行的线程。这种机制对于期望在短时间内完成的线程效果很好。但是,当线程无限期或长时间运行时,在上下文切换中的响应时间可能非常长,有时甚至导致页面错误。附图说明参考附图提供了具体实施方式。在附图中,附图标记的最左边的位标识该附图标记首次出现的附图。相同的附图标记在不同的附图中的使用指示相似或相同的项目。图1和图6-图8示出了可以用于实现本文中讨论的各个实施例的计算系统的实施例的框图。图2示出了根据一些实施例的用于处理抢占的示例情况。图3示出了根据实施例的图形逻辑单元的组件的框图。图4示出了根据实施例的用于保存和恢复图形逻辑单元的上下文的预先确定的存储器映射。图5和图5A示出了根据一些实施例的流程图。具体实施方式在下面的描述中,阐述了大量具体细节以便提供各个实施例的透彻理解。然而,可以在不使用这些具体细节的情况下实施各个实施例。在其它实例中,没有对公知的方法、过程、组件和电路进行详细描述,以防止模糊具体实施例。另外,实施例的各个方面可以使用各种模块来执行,诸如集成半导体电路(“硬件”)、被组织成一个或多个程序的计算机可读指令(“软件”)、或者硬件和软件的某种组合。为了本公开内容的目的,对“逻辑单元”的提及应该意指硬件、软件、固件或者它们的某种组合。 ...
【技术保护点】
一种装置,其包括:逻辑单元,所述逻辑单元至少部分地包括硬件逻辑单元,所述硬件逻辑单元用于响应于对在图形处理单元(GPU)上执行的一个或多个线程进行抢占的请求而使所述一个或多个线程以指令级粒度停止,其中,响应于以所述指令级粒度完成所述一个或多个线程,所述一个或多个线程的上下文数据被复制到存储器。
【技术特征摘要】
【国外来华专利技术】2014.07.23 US 14/338,7291.一种装置,其包括:逻辑单元,所述逻辑单元至少部分地包括硬件逻辑单元,所述硬件逻辑单元用于响应于对在图形处理单元(GPU)上执行的一个或多个线程进行抢占的请求而使所述一个或多个线程以指令级粒度停止,其中,响应于以所述指令级粒度完成所述一个或多个线程,所述一个或多个线程的上下文数据被复制到存储器。2.根据权利要求1所述的装置,还包括共享本地存储器(SLM),其用于在所述上下文数据被复制到所述存储器之前对所述上下文数据进行存储。3.根据权利要求2所述的装置,其中,所述逻辑单元还将所述上下文数据从所述SLM复制到所述存储器。4.根据权利要求3所述的装置,其中,用于复制所述上下文数据的所述逻辑单元包括直接存储器访问(DMA)逻辑单元。5.根据权利要求1所述的装置,其中,响应于一个或多个软件指令,所述一个或多个线程的所述上下文数据被复制到所述存储器。6.根据权利要求1所述的装置,其中,所述逻辑单元用于响应于所述请求而使在所述GPU上执行的所有线程以所述指令级粒度停止。7.根据权利要求1所述的装置,其中,所述一个或多个线程或与抢占请求相对应的线程作为所述GPU上的图形处理单元上的通用计算(GPGPU)而被执行。8.根据权利要求1所述的装置,包括线程孵化器逻辑单元,其孵化所述一个或多个线程。9.根据权利要求1所述的装置,其中,处理器包括所述逻辑单元。10.根据权利要求1所述的装置,其中,下列各项中的一项或多项在单个集成电路管芯上:具有一个或多个处理器核心的处理器、所述逻辑单元或所述存储器。11.一种方法,其包括:响应于对在图形处理单元(GPU)上执行的一个或多个线程进行抢占的请求而使所述一个或多个线程以指令级粒度停止,其中,响应于以所述指令级粒度完成所述一个或多个线程,所述一个或多个线程的上下文数据被复制到存储器。12.根据权利要求11所述的方法,还包括:响应于一个或多个软件指令,使所述一个或多个线程的所述上下文数据被复制到所述存储器。13.根据权利要求11所述的方法,还包括:响应于所述请求而使在...
【专利技术属性】
技术研发人员:B·D·劳赫富斯,N·R·马塔姆,M·K·德怀尔,A·纳瓦勒,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。