一种GPU共享控制方法、GPU共享控制装置及存储介质制造方法及图纸

技术编号:32481205 阅读:10 留言:0更新日期:2022-03-02 09:45
本发明专利技术提供一种GPU共享控制方法、GPU共享控制装置及存储介质。GPU共享控制方法包括:响应于各深度学习任务的启动,将各深度学习任务分为主任务或次任务,主任务的数量不大于一个。确定各深度学习任务的运行阶段信息,运行阶段信息分为占用GPU运行阶段和不占用GPU运行阶段。判断主任务是否处于占用GPU运行阶段。当主任务处于占用GPU运行阶段,控制GPU运行主任务。当主任务不处于占用GPU运行阶段,控制GPU运行次任务。通过本发明专利技术提供的方法,能够根据各深度学习任务的运行阶段信息,优先保障当主任务处于占用GPU运行阶段时,能够控制GPU优先主任务,进而保障主任务的Qos。同时,当主任务不处于占用GPU运行阶段时,也可以充分利用GPU算力,提高GPU的利用率。提高GPU的利用率。提高GPU的利用率。

【技术实现步骤摘要】
一种GPU共享控制方法、GPU共享控制装置及存储介质


[0001]本专利技术涉及计算机控制
,具体涉及一种GPU共享控制方法、 GPU共享控制装置及存储介质。

技术介绍

[0002]在人工智能大数据时代,随着数据量的不断增大以及深度学习算法的发展,对算力的需求也越来越高,深度学习任务与GPU的结合应用于各行各业。但在执行深度学习任务的过程中,对GPU算力的需求具有波动性,且根据GPU底层上下文中内核(kernel)的执行逻辑,导致单个深度学习任务往往不能时刻利用GPU的算力,进而造成GPU算力的浪费。
[0003]在相关技术中,可以将多个深度学习任务调度到同一个GPU上,采用共享GPU的算力的方式,控制多个深度学习任务在GPU上进行运行,进而提高GPU的算力利用率。但采用该种方式,不仅没有提高GPU集群利用率,还会影响指定(主)任务的服务质量(Quality of service,Qos)。目前针对GPU的共享方案,是基于虚拟化技术的硬件方案,由于GPU厂商的底层实现是黑盒,例如NVIDIA,采用此类方案通常需要逆向并修改GPU 的驱动来控制对显存和算力的访问,导致此类方案的实现难度非常大,且与GPU驱动版本耦合性强。

技术实现思路

[0004]因此,本专利技术要解决的技术问题在于克服现有技术中在进行GPU共享时,GPU算力利用率低,导致算力浪费的缺陷,从而提供一种GPU共享控制方法、GPU共享控制装置及存储介质。
[0005]根据第一方面,本专利技术提供一种GPU共享控制方法,所述方法包括:
[0006]响应于各深度学习任务的启动,将各所述深度学习任务分为主任务或次任务,所述主任务的数量不大于一个;
[0007]确定各所述深度学习任务的运行阶段信息,所述运行阶段信息分为占用GPU运行阶段和不占用GPU运行阶段;
[0008]判断所述主任务是否处于占用GPU运行阶段;
[0009]当所述主任务处于占用GPU运行阶段,控制所述GPU运行所述主任务;
[0010]当所述主任务不处于占用GPU运行阶段,控制所述GPU运行所述次任务。
[0011]在该方式中,能够根据各深度学习任务的运行阶段信息,优先保障当主任务处于占用GPU运行阶段时,能够控制GPU优先主任务,进而保障主任务的Qos。同时,当主任务不处于占用GPU运行阶段时,也可以充分利用GPU算力,提高GPU的利用率。
[0012]结合第一方面,在第一方面的第一实施方式中,当所述次任务包括多个时,所述控制所述GPU运行所述次任务,包括:
[0013]根据各所述次任务占用GPU运行阶段的先后确定顺序,确定所述GPU 控制运行的第一次任务,所述第一次任务为最先获取到且处于占用GPU运行阶段的次任务;
[0014]控制所述GPU运行所述第一次任务。
[0015]在该方式中,可以根据确定各次任务占用GPU运行阶段的先后时间顺序,将最先获取到且处于占用GPU运行阶段的次任务确定为GPU需要控制运行的第一次任务,进而控制GPU运行该第一次任务,有助于减少GPU 的空闲时间。
[0016]结合第一方面或第一方面的第一实施方式,在第一方面的第二实施方式中,所述方法还包括:
[0017]根据深度学习任务需要占用GPU算力的运行过程,将所述深度学习任务划分为多个运行阶段;
[0018]针对不同运行阶段,对应设置不同运行阶段的阶段标志信号,所述阶段标志信号用于确定所述深度学习任务的运行阶段信息;
[0019]在确定各所述深度学习任务的运行阶段信息之前,所述方法还包括:
[0020]获取各所述深度学习任务的阶段标志信号。
[0021]在该方式中,可以根据深度学习任务需要占用GPU的变化规律,将深度学习任务划分为多个运行阶段,进而根据运行阶段对应的阶段标志信号确定各深度学习任务即将开始的运行阶段,从而合理控制GPU的算力,保证主任务能够顺利运行的同时,减少GPU算力的空闲时间。
[0022]结合第一方面的第二实施方式,在第一方面的第三实施方式中,所述当所述主任务处于占用GPU运行阶段,控制所述GPU运行所述主任务,包括:
[0023]判断所述GPU当前是否运行次任务;
[0024]若所述GPU当前未运行次任务,则控制所述GPU运行所述主任务;
[0025]若所述GPU当前运行次任务,则通过控制所述GPU上处于运行状态的次任务的操作符分发频率,暂停所述处于运行状态的次任务,并控制所述GPU运行所述主任务。
[0026]在该方式中,通过控制次任务的操作符的分发频率,能够保证主任务需要GPU的算力时,可以快速停止次任务对GPU算力的竞争,进而保证主任务的顺利运行。
[0027]结合第一方面,在第一方面的第四实施方式中,所述方法还包括:
[0028]当所述主任务或者所述次任务运行完成,删除所述主任务或者所述次任务的运行阶段信息。
[0029]在该方式中,有助于避免运行完成后的运行阶段信息干扰GPU算力的占用控制。
[0030]结合第一方面的第四实施方式,在第一方面的第五实施方式中,若所述主任务的数量为零,则所述方法还包括:
[0031]根据确定各所述次任务处于占用GPU运行阶段的时间顺序,控制所述 GPU依序运行各所述次任务。
[0032]在该方式中,不仅可以保证深度学习主任务的Qos,同时还可以利用 GPU上共享的次任务,填充GPU算力的空闲期,提高整体GPU的利用率,同时,有助于减少各深度学习任务间对GPU算力的竞争以及上下文切换的开销。
[0033]结合第一方面,在第一方面的第六实施方式中,所述占用GPU运行阶段包括:前向传播和反向传播阶段、或者更新阶段;所述不占用GPU运行阶段包括:准备阶段或者归约阶段。
[0034]根据第二方面,本专利技术提供一种GPU共享控制装置,所述装置包括:
[0035]分类单元,用于响应于各深度学习任务的启动,将各所述深度学习任务分为主任
务或次任务,所述主任务的数量不大于一个;
[0036]确定单元,用于各所述深度学习任务的运行阶段信息,所述运行阶段信息分为占用GPU运行阶段和不占用GPU运行阶段;
[0037]判断单元,判断所述主任务是否处于占用GPU运行阶段;
[0038]第一控制单元,用于当所述主任务处于占用GPU运行阶段,控制所述 GPU运行所述主任务;
[0039]第二控制单元,用于当所述主任务不处于占用GPU运行阶段,控制所述GPU运行所述次任务。
[0040]结合第二方面,在第二方面的第一实施方式中,当所述次任务包括多个时,所述第二控制单元包括:
[0041]次任务确定单元,用于根据各所述次任务占用GPU运行阶段的先后确定顺序,确定所述GPU控制运行的第一次任务,所述第一次任务为最先获取到且处于占用GPU运行阶段的次任务;
[0042]控制子单元,用于控制所述GP本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种GPU共享控制方法,其特征在于,所述方法包括:响应于各深度学习任务的启动,将各所述深度学习任务分为主任务或次任务,所述主任务的数量不大于一个;确定各所述深度学习任务的运行阶段信息,所述运行阶段信息分为占用GPU运行阶段和不占用GPU运行阶段;判断所述主任务是否处于占用GPU运行阶段;当所述主任务处于占用GPU运行阶段,控制所述GPU运行所述主任务;当所述主任务不处于占用GPU运行阶段,控制所述GPU运行所述次任务。2.根据权利要求1所述的方法,其特征在于,当所述次任务包括多个时,所述控制所述GPU运行所述次任务,包括:根据各所述次任务占用GPU运行阶段的先后确定顺序,确定所述GPU控制运行的第一次任务,所述第一次任务为最先获取到且处于占用GPU运行阶段的次任务;控制所述GPU运行所述第一次任务。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:根据深度学习任务需要占用GPU算力的运行过程,将所述深度学习任务划分为多个运行阶段;针对不同运行阶段,对应设置不同运行阶段的阶段标志信号,所述阶段标志信号用于确定所述深度学习任务的运行阶段信息;在确定各所述深度学习任务的运行阶段信息之前,所述方法还包括:获取各所述深度学习任务的阶段标志信号。4.根据权利要求3所述的方法,其特征在于,所述当所述主任务处于占用GPU运行阶段,控制所述GPU运行所述主任务,包括:判断所述GPU当前是否运行次任务;若所述GPU当前未运行次任务,则控制所述GPU运行所述主任务;若所述GPU当前运行次任务,则通过控制所述GPU上处于运行状态的次任务的操作符分发频率,暂停所述处于运行状态的次任务,并控制所述GPU运行所述主任务。...

【专利技术属性】
技术研发人员:刘慧兴王超
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1