GPU最大连续资源块的获取方法技术

技术编号:38237921 阅读:11 留言:0更新日期:2023-07-25 18:02
本发明专利技术涉及一种GPU最大连续资源块的获取方法包括:步骤D1、读取待查资源的当前资源状态序列S0={d1,d2,

【技术实现步骤摘要】
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最大连续资源块的获取方法,能够快速准确地获取待查资源的当前最大连续资源块数,提高了资源调度的效率。
[0005]根据本专利技术,提供了一种GPU最大连续资源块的获取方法,包括以下步骤:
[0006]步骤D1、读取待查资源的当前资源状态序列S0={d1,d2,

d
N
},d
n
为待查资源的第n个资源块的状态标识,n的取值范围为1到N,N为待查资源的资源块总数;
[0007]步骤D2、并行获取S0向预设方向移动i位的状态序列S1、S2、

S
N
‑1,其中,S
i
为S0向预设方向移动i位,并将移动后的S0沿预设方向的尾部连续i位设置为已占用标识所得的序列,i的取值范围为0到N

1;
[0008]步骤D3、并行获取S0至S
i
进行按位与运算或者按位或运算的结果SA
i

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

【技术保护点】

【技术特征摘要】
1.一种GPU最大连续资源块的获取方法,其特征在于,包括以下步骤:步骤D1、读取待查资源的当前资源状态序列S0={d1,d2,

d
N
},d
n
为待查资源的第n个资源块的状态标识,n的取值范围为1到N,N为待查资源的资源块总数;步骤D2、并行获取S0向预设方向移动i位的状态序列S1、S2、

S
N
‑1,其中,S
i
为S0向预设方向移动i位,并将移动后的S0沿预设方向的尾部连续i位设置为已占用标识所得的序列,i的取值范围为0到N

1;步骤D3、并行获取S0至S
i
进行按位与运算或者按位或运算的结果SA
i
;步骤D4、将每一SA
i
进行自或运算或者自与后求反运算,确定所述待查资源的当前最大连续资源块数。2.根据权利要求1所述的方法,其特征在于,所述步骤D1中,所述状态标识包括已占用标识和未占用标识。3.根据权利要求1所述的方法,其特征在于,所述已占用标识为0,未占用标识为1,所述步骤D3中执行按位与运算,所述步骤D4中执行自或运算;或者,所述已占用标识为1,所述未占用标识为0,所述步骤D3中执行按位或运算,所述步骤D4中执行自与后求反运算。4.根据权利要求1所述的方法,其特征在于,所述步骤D2中,所述向预设方向...

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

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

1