System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() GPU资源调度方法及相关装置制造方法及图纸_技高网

GPU资源调度方法及相关装置制造方法及图纸

技术编号:40041854 阅读:7 留言:0更新日期:2024-01-16 19:51
本申请实施例提供一种GPU资源调度方法及相关装置,GPU资源调度方法包括:在检测到应用集中任一应用的任务请求时,向任务请求调用的CUDA AP I插入特权AP I,以实现对任务请求的拦截,任务请求用于请求使用GPU的资源,应用集包括至少两个应用;然后获取GPU的执行状态,执行状态包括GPU正在执行的任务请求;依据执行状态确定目标任务请求集,目标任务请求集包括至少两个被拦截且未被执行的任务请求;按照预设规则对应用集对应的目标任务请求集中的至少两个任务请求进行排序,以确定GPU下一个执行的任务请求,通过对任务请求进行拦截并对拦截的任务请求进行排序以实现对GPU资源的调度,调度过程不依赖GPU硬件,调度灵活性较强。

【技术实现步骤摘要】

本申请涉及图形处理器gpu,尤其涉及一种gpu资源调度方法及相关装置。


技术介绍

1、图形处理器(graphics processing unit,gpu),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。gpu凭借其强大的计算能力,被广泛运用于视频转码、物理模拟、地球表层测绘以及网络安全等热门研究领域,但是由于gpu硬件成本较高,需要通过多个应用共享gpu以实现gpu资源效率提升和成本优化。

2、为了实现多个应用共享gpu,需要控制每个应用在gpu上的运行时间,现有技术中大多通过gpu厂商提供的寄存器清单实现,但是多大gpu厂商并未公开其寄存器清单,通过寄存器控制应用在gpu上的运行时间不具有通用性,且无法依据用户需求调整多个应用使用gpu资源的顺序。


技术实现思路

1、本申请提供一种gpu资源调度方法及相关装置,在检测到应用的任务请求时,通过对任务请求调用的cuda api进行拦截实现对任务请求的拦截,然后依据gpu的执行状态调整被拦截的任务请求的执行顺序,以实现对gpu资源的调度,调度过程不依赖于gpu硬件,调度灵活性比较强。

2、为达到上述目的,本申请采用如下技术方案:

3、第一方面,提供一种gpu资源调度方法,所述方法包括:检测到应用集中任一的任务请求,向所述任务请求调用的统一计算设备架构应用程序编程接口cuda api插入特权api,以实现对所述任务请求的拦截,所述任务请求用于请求使用所述gpu的资源,所述应用集包括至少两个应用;获取所述gpu的执行状态,所述执行状态包括所述gpu正在执行的任务请求或所述gpu正在执行的所述任务请求调用的cuda api;依据所述执行状态确定目标任务请求集,所述目标任务请求集包括至少两个被拦截且未被执行的任务请求;按照预设规则对所述应用集对应的目标任务请求集中的至少两个任务请求进行排序,以确定所述gpu下一个执行的任务请求。

4、采用上述技术方案,在检测应用集的至少两个应用中任一应用的任务请求时,向任务请求调用的cuda api插入特权api,以实现对向gpu传输的任务请求的拦截,避免任务请求被直接传递给gpu,然后依据gpu的执行状态确定当前时刻被拦截且未被gpu执行的目标任务请求集,然后对目标任务请求集中多个任务请求进行排序,以确定gpu下一个执行的任务请求,上述gpu资源调度方法是基于cuda侧程序代码实现,调度过程不依赖于gpu硬件,即在将任务请求传递给gpu之前,通过软件方式对任务请求或任务请求调用的cuda api进行排序,并依据排序结果确定下一个执行的任务请求,并将下一个执行的任务请求或任务请求调用的cuda api向gpu进行传递,以使gpu在当前执行的任务请求或cuda api执行完成之后,开始执行确定的下一个任务请求对应的cuda api。即本申请的gpu资源调度方法通过在gpu硬件自身进行调度之前,完成多个任务请求的占用时间或执行顺序的调度,调度灵活性比较强,可满足用户对于多个应用的任务请求的多样化需求。

5、进一步地,可通过gpu的执状态确定gpu当前执行的任务请求释放gpu资源的时间,然后通过该时间确定下一个任务请求抢占该gpu资源的时机。在该时间向gpu传递确定待执行的任务请求,由于当前实际该gpu仅具有一个可执行的任务请求,gpu硬件无需对任务请求进行先入先出方式的调度,仅需对被传递的任务请求进行执行,从而实现确定的下一个任务请求对gpu资源的抢占。

6、进一步地,gpu资源调度系统中可包括多个gpu,则gpu执行状态包括多种gpu的执行状态,由于每种gpu可提供的gpu资源不同,在确定对应的gpu的执行状态之后,还可依据gpu的执行状态确定gpu可提供的gpu资源,然后依据可提供的gpu资源确定当前被拦截且未执行的任务请求的目标任务请求,即提供的gpu资源满足的所有任务请求,然后依据预设规则对满足所有任务请求进行排序,以确定下一个执行的任务请求。

7、在第一方面的一些实施例中,每个应用的任务请求至少调用一个cuda api;所述向所述任务请求调用的cuda api插入特权api,包括:向所述任务请求调用的预设数量的cuda api插入所述特权api。

8、采用上述技术方案,在检测到应用集中的应用的任务请求时,通过向预设数量的被调用的cuda api插入特权api,以实现对任务请求的拦截,且通过每个特权api拦截预设数量的cuda api且实现对预设数量的cuda api的定位,在确定gpu待执行的任务请求时,可通过特权api选择任务请求对应的至少预设数量的cuda api作为gpu将要执行的cuda api,实现将预设数量的cuda api作为gpu资源调度的粒度,提升调度的灵活性。

9、在第一方面的一些实施例中,每个应用的任务请求至少调用一个cuda api;所述向所述任务请求调用的cuda api插入特权api,包括:获取调度时间;依据调度时间确定每个特权api所拦截的cuda api的目标数量;向所述任务请求调度的所述目标数量的cudaapi插入所述特权api。

10、采用上述技术方案,依据预设的调度时间确定每个特权api拦截的cuda api的目标数量,从而将目标数量的cuda api作为gpu调度的粒度,既满足对调度时间的需求,又可基于目标数量的cuda api,调度灵活性较强。

11、在第一方面的一些实施例中,所述获取所述gpu的执行状态,包括:调用第一gpu驱动接口,以获取所述gpu的执行状态。

12、采用上述技术方案,通过调度gpu驱动接口以获取接口提供的信息,依据接口提供的信息确定gpu当前执行的任务请求或gpu当前执行的cuda api,便于实现。进一步地,通过接口信息获取gpu的执行状态,从而可推断gpu即将释放的gpu资源和释放时间,从而依据该信息从被拦截的任务请求中选取下一个执行的任务请求。

13、在第一方面的一些实施例中,每个所述特权api具有标识信息,所述调用第一gpu驱动接口,以获取所述gpu的执行状态,包括:依据所述标识信息调用所述第一gpu驱动接口,以获取所述gpu的执行状态。

14、采用上述技术方案,在调用gpu驱动接口时,可依据标识信息识别调用接口获取的信息,从而可快速确定gpu正在执行的任务请求的cuda api,以提升gpu的执行状态的获取速度。

15、在第一方面的一些实施例中,所述调用第一gpu驱动接口,以获取所述gpu的执行状态,包括:调用第一gpu驱动接口和第二gpu驱动接口,以获取所述gpu的执行状态。

16、采用上述技术方案,由于不同的gpu驱动接口提供的信息可能不同,通过调用不同的两个接口以获取两个接口的信息,通过结合两个接口的信息确定gpu的执行状态,以提升gpu的执行状态确定的准确性。本文档来自技高网...

【技术保护点】

1.一种图形处理器GPU资源调度方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,每个应用的任务请求至少调用一个CUDAAP I;

3.根据权利要求1所述的方法,其特征在于,每个应用的任务请求至少调用一个CUDAAP I;

4.根据权利要求1所述的方法,其特征在于,每个应用的任务请求至少调用一个CUDAAP I;

5.根据权利要求1至4任一项所述的方法,其特征在于,所述获取所述GPU的执行状态,包括:

6.根据权利要求5所述的方法,其特征在于,每个所述特权AP I具有标识信息,所述调用第一GPU驱动接口,以获取所述GPU的执行状态,包括:

7.根据权利要求5或6所述的方法,其特征在于,所述调用第一GPU驱动接口,以获取所述GPU的执行状态,包括:

8.根据权利要求1至7任一项所述的方法,其特征在于,所述按照预设规则对所述目标任务请求集的至少两个任务请求进行排序,包括:

9.根据权利要求1至8任一项所述的方法,其特征在于,每个应用的任务请求至少调用一个CUDA AP I;

10.根据权利要求1至9任一项所述的方法,其特征在于,所述执行状态还包括所述GPU上一个执行完成的任务请求或上一个执行完成的CUDA AP I。

11.一种GPU资源调度装置,其特征在于,包括:

12.一种计算机可读存储介质,其特征在于,包括程序或指令,当其被处理器执行时实现如权利要求1-10任一项所述的GPU资源调度方法。

...

【技术特征摘要】

1.一种图形处理器gpu资源调度方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,每个应用的任务请求至少调用一个cudaap i;

3.根据权利要求1所述的方法,其特征在于,每个应用的任务请求至少调用一个cudaap i;

4.根据权利要求1所述的方法,其特征在于,每个应用的任务请求至少调用一个cudaap i;

5.根据权利要求1至4任一项所述的方法,其特征在于,所述获取所述gpu的执行状态,包括:

6.根据权利要求5所述的方法,其特征在于,每个所述特权ap i具有标识信息,所述调用第一gpu驱动接口,以获取所述gpu的执行状态,包括:

7.根据权利要求5或6所述的方法,其特征...

【专利技术属性】
技术研发人员:范恒龙
申请(专利权)人:深圳华为云计算技术有限公司
类型:发明
国别省市:

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

1