当前位置: 首页 > 专利查询>辉达公司专利>正文

用于处理嵌套流事件的方法和系统技术方案

技术编号:9642232 阅读:121 留言:0更新日期:2014-02-07 00:32
本公开的一个实施例阐述用于在诸如图形处理单元的并行处理子系统中强制实行交叉流依赖性的技术。技术涉及对等待事件进行排队以创建交叉流依赖性并且对信令事件进行排队以指示等待事件完成。调度器内核检查来自相应流的任务状况数据结构并且更新用于流内任务和事件的依赖性计数。当用于等待事件的每个任务依赖性被满足时,相关联的任务可以执行。

【技术实现步骤摘要】
用于处理嵌套流事件的方法和系统
本专利技术总地涉及多线程计算机架构,并且更具体地涉及用于处理嵌套(nested)流事件的方法和系统。
技术介绍
在具有中央处理单元(CPU)和图形处理单元(GPU)二者的常规计算系统中,CPU确定哪些具体的计算任务由GPU实施和以什么次序实施。GPU计算任务典型地包括跨并行数据集的高度并行的、高度相似的操作,该并行数据集诸如图像或图像集。在常规的GPU执行模型中,CPU通过选择相应的线程程序并且指导GPU执行线程程序的并行实例集来发起特定的计算任务。在常规的GPU执行模型中,仅CPU可以发起线程程序在GPU上的执行。在所有线程实例完成执行之后,GPU必须通知CPU并且等待另一个计算任务由CPU发出。通知CPU和等待下一个计算任务典型地是使GPU内的某些资源暂时闲置的阻塞型、序列化操作,从而降低整体系统性能。在某些场景下可以通过在入栈缓冲区中对顺序的计算任务进行排队来改善性能,GPU可以从该入栈缓冲区中拉取工作用于执行而不需要等待CPU。当CPU能够足够快地生成用于GPU的工作,使每次GPU能够开始新的任务时工作均在入栈缓冲区内挂起(pending)时,包括固定数据流处理管线的计算任务从该入栈缓冲区模型获益。然而,依赖于数据的计算任务仍然留有在GPU结果、CPU任务管理和随后的必须由CPU来启动的GPU任务执行之间的顺序依赖性。多线程计算模型常规地将工作组织为必须按已定义的次序完成的有序的任务流。在这类计算模型中,执行语义命令给定的任务必须在依赖任务可以执行之前完成。在简单的场景下,可以在入栈缓冲区内对任意的任务序列之间的串行依赖性进行排队用于由GPU有效率地执行。然而,某些计算模型允许潜在地跨两个或两个以上不同流的交叉流依赖性,依据该交叉流依赖性,一个流中的任务依赖于两个或两个以上不同任务完成。在这类场景下,CPU调度任务以避免死锁。在调度其他任务之前等待某些任务完成以避免死锁的过程在CPU和GPU任务执行之间创建附加的串行依赖性,这降低整体效率。如前所示,本领域需要的是使能更有效率的和语义上完整的GPU执行的技术。
技术实现思路
本专利技术的一个实施例阐述了用于处理跨一组线程的多个任务的计算机实现的方法,方法包括从队列检索第一项目、确定第一项目不包括任务、确定第一项目是否包括等待事件或信令事件;作为响应,递减计数以及从队列移除第一项目。本专利技术的其他实施例包括但不限于包括当由处理单元执行时使处理单元实施本文所描述的技术的指令的计算机可读存储介质,以及包括配置为实施本文所描述的技术的处理单元的计算设备。所公开的方法的一个优势是GPU可以正确地并且有效率地在具有交叉流依赖性的任务中强制实行执行次序而不需要CPU的干预。附图说明因此,可以详细地理解本专利技术的上述特征,并且可以参考实施例得到对如上面所简要概括的本专利技术更具体的描述,其中一些实施例在附图中示出。然而,应当注意的是,附图仅示出了本专利技术的典型实施例,因此不应被认为是对其范围的限制,本专利技术可以具有其他等效的实施例。图1是示出了配置为实现本专利技术的一个或多个方面的计算机系统的框图;图2是根据本专利技术的一个实施例的、用于图1的计算机系统的并行处理子系统的框图;图3A是根据本专利技术的一个实施例的、图2的前端的框图;图3B是根据本专利技术的一个实施例的、图2的并行处理单元之一内的通用处理集群的框图;图3C是根据本专利技术的一个实施例的、图3B的流多处理器的一部分的框图;图4示出了根据本专利技术的一个实施例的、在并行处理子系统上的嵌套任务执行;图5示出了根据本专利技术实施例的、用于父线程程序启动子网格的事件序列;图6示出了根据本专利技术的一个实施例的、用于嵌套执行子系统的系统元件;图7示出了根据本专利技术的一个实施例的、包括相关联的任务元数据描述符队列和任务的示例性层次执行图;图8示出了根据本专利技术的另一个实施例的、包括相关联的任务元数据描述符队列和任务的相关层次执行图;图9A示出了根据本专利技术的一个实施例的、具有交叉流依赖性的任务的示例性层次执行图;图9B示出了根据本专利技术的一个实施例的、用于在不同流中的依赖任务之间强制实行执行次序的任务和事件的等价层次执行图;图10示出了根据本专利技术的一个实施例的、包括与线程组相关联的参数和上下文信息的线程组上下文数据结构;图11A示出了根据本专利技术的一个实施例的、包括与计算任务相关联的参数的任务状况数据结构;图11B示出了根据本专利技术的一个实施例的、包括与信号事件相关联的参数的信号事件状况数据结构;图11C示出了根据本专利技术的一个实施例的、包括与计算任务相关联的参数的等待事件状况数据结构;以及图12是根据本专利技术的一个实施例的、用于确定任务执行依赖性已经被满足的方法步骤的流程图。具体实施方式在下面的描述中,将阐述大量的具体细节以提供对本专利技术更透彻的理解。然而,本领域的技术人员应该清楚,本专利技术可以在没有一个或多个这些具体细节的情况下得以实施。系统概述图1为示出了配置为实现本专利技术的一个或多个方面的计算机系统100的框图。计算机系统100包括经由可以包括存储器桥105的互连路径通信的中央处理单元(CPU)102和系统存储器104。存储器桥105可以是例如北桥芯片,经由总线或其他通信路径106(例如超传输(HyperTransport)链路)连接到I/O(输入/输出)桥107。I/O桥107,其可以是例如南桥芯片,从一个或多个用户输入设备108(例如键盘、鼠标)接收用户输入并且经由通信路径106和存储器桥105将该输入转发到CPU102。并行处理子系统112经由总线或第二通信路径113(例如外围部件互连(PCI)Express、加速图形端口或超传输链路)耦连到存储器桥105;在一个实施例中,并行处理子系统112是将像素传递到显示设备110(例如传统的基于阴极射线管或液晶显示器的监视器)的图形子系统。系统盘114也连接到I/O桥107。交换器116提供I/O桥107与诸如网络适配器118以及各种插卡120和121的其他部件之间的连接。其他部件(未明确示出),包括通用串行总线(USB)或其他端口连接、压缩光盘(CD)驱动器、数字视频光盘(DVD)驱动器、胶片录制设备及类似部件,也可以连接到I/O桥107。图1所示的各种通信路径包括具体命名的通信路径106和113可以使用任何适合的协议实现,诸如PCI-Express、AGP(加速图形端口)、超传输或者任何其他总线或点到点通信协议,并且如本领域已知的,不同设备间的连接可使用不同协议。在一个实施例中,并行处理子系统112包含经优化用于图形和视频处理的电路,包括例如视频输出电路,并且构成图形处理单元(GPU)。在另一个实施例中,并行处理子系统112包含经优化用于通用处理的电路,同时保留底层(underlying)的计算架构,本文将更详细地进行描述。在又一个实施例中,可以将并行处理子系统112与一个或多个其他系统元件集成在单个子系统中,诸如结合存储器桥105、CPU102以及I/O桥107,以形成片上系统(SoC)。应该理解,本文所示系统是示例性的,并且变化和修改都是可能的。连接拓扑,包括桥的数目和布置、CPU102的数目以及并行处理子系统112的数目,可根据需要修改。例如,在一些实施例中,系统存储器104本文档来自技高网
...
用于处理嵌套流事件的方法和系统

【技术保护点】
一种用于处理跨一组线程的多个任务的计算机实现的方法,所述方法包括:从队列检索第一项目;确定所述第一项目不包括任务;确定所述第一项目是否包括等待事件或信令事件;作为响应,递减计数;以及从所述队列移除所述第一项目。

【技术特征摘要】
2012.05.09 US 13/467,8041.一种用于处理跨一组线程的多个任务的计算机实现的方法,所述方法包括:从第一队列检索第一项目,所述第一项目包括处理任务、等待事件和信令事件,所述第一队列由第一线程执行;确定所述第一项目包括信令事件并且执行所述信令事件,其中第二队列中的等待事件依赖于所述信令事件,所述第二队列由第二线程执行;响应于执行所述信令事件,递减与所述第二队列中的所述等待事件相关联的依赖性计数;以及从所述第一队列移除所述第一项目,其中,所述第一线程和所述第二线程在图形处理子系统内执行并且所述图形处理子系统的至少一个线程生成存储在所述第一队列中的等待事件和信令事件中的至少一个。2.如权利要求1所述的方法,其中所述依赖性计数代表多个不同的其他任务或事件,所述第二队列中的所述等待事件在所述等待事件完成之前正在等待完成。3.如权利要求2所述的方法,进一步包括递归地遍历指向多个节点的多个指针,其中每个指针指向不同的节点,并且每个节点与所述不同的其他任务或事件之一相关联。4.如权利要求1所述的方法,其中所述第二队列中的所述等待事件进一步依赖于给定任务。5.如权利要求4所述的方法,其中所述第二队列中的所述等待事件起阻塞任何额外任务的执行的作用,直到所述给定任务被完成。6.如权利要求5所述的方法,其中额外任务驻留在所述等待事件后面的所述第二队列中。...

【专利技术属性】
技术研发人员:卢克·杜兰特
申请(专利权)人:辉达公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1