用于工作负载处理的任务图调度制造技术

技术编号:36586420 阅读:18 留言:0更新日期:2023-02-04 17:49
本发明专利技术提供了用于在处理设备上针对任务图调度操作的技术。该技术包括:接收任务图,该任务图指定一个或多个通道、一个或多个资源,以及通道和资源之间的一个或多个有向边缘;识别该任务图的独立通道和相关通道;基于该处理设备的性能标准,调度命令以执行该通道;以及将已调度命令传输到该处理设备以用于按调度执行。执行。执行。

【技术实现步骤摘要】
【国外来华专利技术】用于工作负载处理的任务图调度
[0001]相关申请的交叉引用
[0002]本申请要求2020年5月29日提交的美国非临时专利申请号16/888,540的权益,该专利申请以引用方式并入,如同在本文完整阐述一样。

技术介绍

[0003]三维(“3D”)图形处理管线执行一系列步骤以将输入几何形状转换成二维(“2D”)图像以用于在屏幕上显示。在一些示例中,这些步骤被指定为由主机(诸如运行应用程序的中央处理单元)执行的命令。许多渲染工作负载需要大命令序列,并且因此生成和处理这些序列是复杂任务。
附图说明
[0004]可以从以下描述中获得更详细的理解,通过示例结合附图给出,其中:
[0005]图1是可实现本公开的一个或多个特征的示例设备的框图;
[0006]图2示出了根据一个示例的图1的设备的细节;
[0007]图3是展示了图2所示的图形处理管线的另外细节的框图;
[0008]图4A至图4C示出了用于生成任务图并且在处理设备(诸如图2的加速处理设备)上调度工作负载的任务图指定处理器402和命令调度器404的配置;
[0009]图5示出了示例性任务图;
[0010]图6A至图6B示出了根据示例性技术的从任务图指定程序生成任务图;
[0011]图7A和图7B示出了根据另一个示例性技术的从任务图指定程序生成任务图;
[0012]图8A和图8B示出了根据任务图的在处理设备上调度任务;
[0013]图9是用于从任务图指定程序生成任务图的方法的流程图;并且
>[0014]图10是用于根据任务图在处理设备上调度任务的方法的流程图。
具体实施方式
[0015]本专利技术提供了用于在处理设备上针对任务图调度操作的技术。该技术包括:接收任务图,该任务图指定一个或多个通道、一个或多个资源,以及通道和资源之间的一个或多个有向边缘;识别该任务图的独立通道和相关通道;基于该处理设备的性能标准,调度命令以执行该通道;以及将已调度命令传输到该处理设备以用于按调度执行。
[0016]图1是可实现本公开的一个或多个特征的示例设备100的框图。设备100可以是例如计算机、游戏设备、手持设备、机顶盒、电视、移动电话、平板计算机或其他计算设备中的一者但不限于这些项。设备100包括处理器102、存储器104、存储装置106、一个或多个输入设备108以及一个或多个输出设备110。设备100还包括一个或多个输入驱动器112和一个或多个输出驱动器114。输入驱动器112中的任一者具体体现为硬件、硬件与软件的组合或软件,并且用于控制输入设备112的目的(例如,控制操作、从输入驱动器112接收输入以及向输入驱动器提供数据)。类似地,输出驱动器114中的任一者具体体现为硬件、硬件与软件的
组合或软件,并且用于控制输出设备114的目的(例如,控制操作、从输出驱动器114接收输入以及向输出驱动器提供数据)。应当理解,设备100可包括图1中未示出的另外部件。
[0017]在各种另选方案中,处理器102包括中央处理单元(CPU)、图形处理单元(GPU)、位于同一管芯上的CPU和GPU、或一个或多个处理器核心,其中每个处理器核心可为CPU或GPU。在各种另选方案中,存储器104位于与处理器102相同的管芯上,或与处理器102分开定位。存储器104包括易失性或非易失性存储器,例如随机存取存储器(RAM)、动态RAM或高速缓存。
[0018]存储器106包括固定或可移动存储器,例如但不限于硬盘驱动器、固态驱动器、光盘或闪存驱动器。输入设备108包括但不限于键盘、小键盘、触摸屏、触摸板、检测器、麦克风、加速度计、陀螺仪、生物扫描仪或网络连接(例如,用于发射和/或接收无线IEEE 802信号的无线局域网卡)。输出设备110包括但不限于显示器、扬声器、打印机、触觉反馈设备、一个或多个灯、天线或网络连接(例如,用于发射和/或接收无线IEEE802信号的无线局域网卡)。
[0019]输入驱动器112和输出驱动器114包括被配置为分别与输入设备108和输出设备110交接并驱动它们的一个或多个硬件、软件和/或固件部件。输入驱动器112与处理器102和输入设备108通信,并允许处理器102从输入设备108接收输入。输出驱动器114与处理器102和输出设备110通信,并允许处理器102向输出设备110发送输出。输出驱动器114包括耦接到显示设备118的加速处理设备(“APD”)116,在一些示例中,显示设备是使用远程显示协议来显示输出的物理显示设备或模拟设备。APD 116被配置为从处理器102接收计算命令和图形渲染命令,处理那些计算和图形渲染命令,并将像素输出提供给显示设备118用于显示。如下文所详述,APD 116包括被配置为根据单指令多数据(“SIMD”)范式来执行计算的一个或多个并行处理单元。因此,尽管这里将各种功能描述为由APD 116执行或与其结合执行,但在各种另选方案中,被描述为由APD 116执行的功能另外地或另选地由具有类似能力的其他计算设备执行,该其他计算设备不由主机处理器(例如,处理器102)驱动并且被配置为向显示设备118提供图形输出。例如,可以设想根据SIMD范式执行处理任务的任何处理系统都可被配置为执行本文所述的功能。另选地,可以设想不根据SIMD范式执行处理任务的计算系统执行本文所述的功能。
[0020]图2示出了根据一个示例的设备100和APD 116的细节。处理器102(图1)执行操作系统120、驱动器122和应用程序126,并且还可另选地或另外地执行其他软件。操作系统120控制设备100的各个方面,诸如管理硬件资源、处理服务请求、调度并控制进程执行以及执行其他操作。APD驱动器122控制APD 116的操作,向APD 116发送诸如图形渲染任务的任务或其他作业以进行处理。APD驱动器122还包括即时编译器,该即时编译器编译程序以供APD 116的处理部件(诸如下文所详述的SIMD单元138)执行。
[0021]APD 116执行用于所选功能的命令和程序,诸如可适于并行处理的图形操作和非图形操作。APD 116可用于执行图形管线操作,诸如像素操作、几何计算和基于从处理器102接收的命令将图像呈现给显示设备118。APD 116还基于从处理器102接收的命令来执行与图形操作不直接相关的计算处理操作,诸如与视频、物理模拟、计算流体动力学或其他任务相关的操作。
[0022]APD 116包括计算单元132,该计算单元包括被配置为根据SIMD范式以并行方式在
处理器102(另一单元)的请求下执行操作的一个或多个SIMD单元138。SIMD范式是这样一种范式,其中多个处理元件共用单个程序控制流单元和程序计数器并由此执行相同的程序,但能够执行具有不同数据的该程序。在一个示例中,每个SIMD单元138包括十六个通道,其中每个通道与SIMD单元138中的其他通道同时执行相同的指令,但可执行具有不同数据的该指令。如果不是所有通道都需要执行给定指令,则可通过预测来本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于在处理设备上针对任务图调度操作的方法,所述方法包括:接收任务图,所述任务图指定一个或多个通道、一个或多个资源,以及通道和资源之间的一个或多个有向边缘;识别所述任务图的独立通道和相关通道;基于所述处理设备的性能标准,调度命令以执行所述通道;以及将已调度命令传输到所述处理设备以用于按调度执行。2.根据权利要求1所述的方法,其中:识别独立通道包括识别不具有对彼此的依赖性的通道的集合。3.根据权利要求2所述的方法,其中调度命令以执行所述通道包括:调度所述通道的集合中的至少两个通道以至少部分地同时执行。4.根据权利要求3所述的方法,其中响应于确定所述两个通道中的一者利用所述处理设备的低数量的资源并且所述两个通道中的另一者利用所述处理设备的高数量的所述资源,执行至少部分地同时调度所述两个通道。5.根据权利要求3所述的方法,其中所述性能标准包括减小所述处理设备的资源的利用的要求。6.根据权利要求5所述的方法,其中所述资源包括存储器利用或寄存器利用中的一者。7.根据权利要求5所述的方法,其中所述资源包括由所述两个通道读取的缓存的存储器利用,并且至少部分地同时调度所述两个通道减小所述缓存的寿命。8.根据权利要求1所述的方法,还包括识别取决于所述一个或多个通道中的第二通道的所述一个或多个通道中的第一通道。9.根据权利要求8所述的方法,还包括将屏障命令传输到所述处理设备以致使所述第一通道在所述第二通道完成之后执行。10.根据权利要求1所述的方法,其中所述调度由所述处理设备内的调度器执行,所述调度器能够从所述处理设备获得处理度量而无需由操作系统进行的干预。11.一种用于在处理设备上针对任务图调度操作的系统,所述系统包括:命令调度器,所述命令调度器被配置为:接收任务图,所述任务图指定一个或多个通道、一个或多个资源,以及通道和资源之间的一个...

【专利技术属性】
技术研发人员:史蒂文
申请(专利权)人:ATI科技无限责任公司
类型:发明
国别省市:

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

1