GPU资源调度方法技术

技术编号:38246741 阅读:12 留言:0更新日期:2023-07-25 18:07
本发明专利技术涉及一种GPU资源调度方法,包括获取当前每一任务通道对应的待分发任务组;获取当前GPU中每一执行模块的当前剩余资源信息;为所述待分发任务组分配对应的GPU资源。本发明专利技术提高了任务处理效率,以及GPU的资源利用率和计算性能。和计算性能。和计算性能。

【技术实现步骤摘要】
GPU资源调度方法


[0001]本专利技术涉及计算机
,尤其涉及一种GPU资源调度方法。

技术介绍

[0002]图形处理器(Graphics Processing Unit,简称GPU),又称显示核心、视觉处理器、显示芯片,专为计算密集型、高度并行化的计算而设计。GPU中存在多种资源,在GPU执行任务过程中,如果对任何一种资源的分配不平衡,均可能造成GPU资源的浪费,从而降低GPU资源利用率和GPU的计算性能。因此,在GPU运行过程中,需要尽可能平衡调度每种GPU资源,使得每种GPU资源尽可能处于资源平衡状态,从而使得整个GPU的运行处于资源平衡状态,进而提高GPU的资源利用率和计算性能。
[0003]但是,GPU的资源种类多,数量大,现有技术中,GPU在执行任务时,尤其是在执行复杂的计算任务时,仍然很难实现GPU资源平衡调度,通常需要花费大量的时间来分配资源,且分配结果也无法保证资源平衡,可靠性差。由此可知,如何提供一种高效可靠的GPU资源平衡调度技术,合理为多路任务组分配对应的GPU资源,提高任务处理效率,提高GPU的资源利用率和计算性能,成为亟待解决的技术问题。

技术实现思路

[0004]本专利技术目的在于,提供一种GPU资源调度方法,提高了任务处理效率,以及GPU的资源利用率和计算性能。
[0005]根据本专利技术,提供了一种GPU资源调度方法,包括
[0006]获取当前每一任务通道对应的待分发任务组;
[0007]获取当前GPU中每一执行模块的当前剩余资源信息;
[0008]为所述待分发任务组分配对应的GPU资源。
[0009]本专利技术与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本专利技术提供的一种GPU资源调度方法可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
[0010]本专利技术提高了任务处理效率,以及GPU的资源利用率和计算性能。
[0011]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
[0012]图1为现有的多任务通道向GPU下发任务组示意图;
[0013]图2为实施例一提供的GPU资源调度方法流程图;
[0014]图3为实施例二提供的GPU资源调度方法流程图;
[0015]图4为实施例三提供的GPU资源调度方法流程图;
[0016]图5为实施例四提供的GPU最大连续资源块的获取方法流程图;
[0017]图6为实施例五提供的GPU最大连续资源块的获取方法流程图;
[0018]图7为实施例六提供的GPU最大连续资源块的获取方法流程图;
[0019]图8为实施例七提供的基于时分复用的GPU最大连续资源块的获取方法流程图;
[0020]图9为实施例八提供的GPU资源调度方法流程图;
[0021]图10为实施例九提供的GPU资源调度方法流程图;
[0022]图11为实施例十提供的GPU资源调度方法流程图。
具体实施方式
[0023]为更进一步阐述本专利技术为达成预定专利技术目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本专利技术提出的一种GPU资源调度方法的具体实施方式及其功效,详细说明如后。
[0024]如图1所述,现有的连接GPU的上层软件向GPU分发任务的场景中,通常通过多个任务通道W1‑
W
R
向GPU分发任务,每个任务通道相互独立,可以向GPU下发不同的任务包,每个任务包中包括不同的任务组(work group,简称WG),同一个任务包对应一个相同的进程,同一任务通道可以接收不同的进程下发的任务包。每一任务组中包括m个线程束(wave),m的取值范围为1到M,M为任务组中的最大wave数,每一wave中所包含的线程数相同。
[0025]现有的GPU结构中,通常包括P个执行模块(图1中用AP表示),每个执行模块中包括Q个执行单元(图1中用PEU表示),当多路任务组下发时,需要多路任务组尽可能平衡地分发至执行模块中,具体需要为每一任务组选择一个对应的执行模块,并尽可能将一个任务组中的wave平衡地分配到所选择的执行模块的Q个执行单元中,以保证GPU资源的平衡。
[0026]现有的GPU资源调度技术中,通常会为任务组标识优先级,当GPU接收到R路任务组时,优先为第一优先级的任务组寻找能够分配的执行模块,然后将第一优先级的任务组分配至该执行模块,然后再为第二优先级的任务组寻找能够分配其的执行模块,以此类推,第一优先级的级别高于第二优先级。
[0027]但是,现有的GPU资源调度技术至少存在以下问题:首先,针对每一任务通道的每一任务组均需要进行一次资源查找匹配,且对于每一需要连续的资源来说,现有技术中采用硬件基于多个时钟周期(clock)查找,或者通过软件方式查找,查找效率很低,需要耗费大量的GPU资源。其次,当高先级无法匹配到合适的执行模块时,会造成所有任务组通道的任务组堵塞,直至执行模块释放资源满足高优先级的任务组时,才能得到缓解,这样严重影响任务分发和处理效率。针对上述技术问题,本专利技术提出了下述多个实施例分别予以解决。
[0028]实施例一、
[0029]一种GPU资源调度方法,如图2所示,包括
[0030]步骤A1、获取当前每一任务通道对应的待分发任务组,读取每一待分发任务组的资源需求信息;
[0031]需要说明的是,每一任务组中携带有对各类GPU资源的需求信息,包括资源标识和对应的资源数量。直接采用现有技术通过硬件读取即可,在此不再赘述。
[0032]步骤A2、获取当前GPU中每一执行模块的当前剩余资源信息;
[0033]可以理解是,执行模块的当前剩余资源信息包括执行模块中每一资源当前对应的
剩余资源数量。
[0034]步骤A3、将每一待分发任务组的资源需求信息分别与所有执行模块的当前剩余资源信息进行匹配,若存在至少一个执行模块的当前剩余资源信息与待分发任务组的资源需求信息匹配,则将该待分发任务组加入候选任务组集合;
[0035]需要说明的是,当执行模块的每一资源的当前剩余量均大于或等于待分发任务组的对应的资源需求时,则表示匹配。
[0036]步骤A4、从所述候选任务组集合中选取优先级最高的一个待分发任务组作为目标任务组,并从与所述目标任务组匹配的执行模块中选取一个目标执行模块,将所述目标任务组分配至所述目标执行模块中。
[0037]其中,每一任务组中均携带有优先级标识信息,通过读取任务组对应的优先级标识信息,就可获取对应的优先级。
[0038]本实施例中,通过对多路任务组并行同步匹配,能够直接将所有符合需求的任务组筛选出来,再从候选的任务分组中选择最高优先级进行分配。可以理解的是,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种GPU资源调度方法,其特征在于,包括获取当前每一任务通道对应的待分发任务组;获取当前...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:沐曦集成电路上海有限公司
类型:发明
国别省市:

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

1