分配图形处理器的方法和装置制造方法及图纸

技术编号:21453671 阅读:20 留言:0更新日期:2019-06-26 04:42
本发明专利技术实施例提出一种分配图形处理器的方法和装置,其中方法包括:确定多个空闲图形处理器及获取每两个空闲图形处理器间的链路带宽;确定至少两个待选择图形处理器组,其中每个待选择图形处理器组中包含的空闲图形处理器的数量等于运行任务所需的图形处理器的数量;根据每两个空闲图形处理器间的链路带宽,计算至少两个待选择图形处理器组各自的链路带宽和;根据链路带宽和,将至少两个待选择图形处理器组中的一个待选择图形处理器组分配给任务。本发明专利技术实施例能够根据链路带宽和为任务分配图形处理器组,用于运行任务;因此无需了解各图形处理器间的详细链路连接关系,从而减少了为任务分配图形处理器的时间。

【技术实现步骤摘要】
分配图形处理器的方法和装置
本专利技术涉及计算机
,尤其涉及一种分配图形处理器的方法和装置。
技术介绍
人工智能计算等应用领域中越来越依赖并行结构,各行各业中的多GPU(GraphicsProcessingUnit,图形处理器)和多CPU(CentralProcessingUnit,中央处理器)系统愈发普及。然而,在多GPU系统层面,AI(ArtificialIntelligence,人工智能)计算性能瓶颈在于通信带宽,因此需要高效的链路感知技术为任务分配通信最优的GPU。在
技术介绍
中,GPU的分配策略为按照各GPU的使用状态,将空闲的各GPU顺序分配给任务。因此,为了实现该分配策略则需要完全了解各GPU的链路连接关系,从而才能够确定如何分配各GPU处理任务。然而,当GPU数量较多且链路连接关系复杂时,完全了解各GPU的链路连接关系则较为困难,因此增加了为任务分配GPU的时间。在
技术介绍
中公开的上述信息仅用于加强对本专利技术的背景的理解,因此其可能包含没有形成为本领域普通技术人员所知晓的现有技术的信息。
技术实现思路
本专利技术实施例提供一种分配图形处理器的方法和装置,以解决现有技术中的一个或多个技术问题。第一方面,本专利技术实施例提供了一种分配图形处理器的方法,包括:确定多个空闲图形处理器及获取每两个空闲图形处理器间的链路带宽;确定至少两个待选择图形处理器组,其中每个所述待选择图形处理器组中包含的所述空闲图形处理器的数量等于运行任务所需的图形处理器的数量;根据所述每两个空闲图形处理器间的链路带宽,计算所述至少两个待选择图形处理器组各自的链路带宽和;根据所述链路带宽和,将所述至少两个待选择图形处理器组中的一个待选择图形处理器组分配给所述任务。在一个实施方式中,确定多个空闲图形处理器,包括:检测各个图形处理器的当前工作状态,其中,当前工作状态的可能取值包括正在运行任务和未在运行任务;将所述当前工作状态为未在运行任务的图形处理器确定为所述空闲图形处理器。在一个实施方式中,获取两个空闲图形处理器间的链路带宽,包括:所述两个空闲图形处理器中的第一图形处理器向第二图形处理器发送第一数据;获取所述第一数据发送完成所用的第一时长;基于所述第一时长及所述第一数据的数据量,确定所述第一图形处理器向第二图形处理器的链路带宽;和/或,所述第二图形处理器向第一图形处理器发送第二数据;获取所述第二数据发送完成所用的第二时长;基于所述第二时长及所述第二数据的数据量,确定所述第二图形处理器向第一图形处理器的链路带宽。在一个实施方式中,确定至少两个待选择图形处理器组,包括:基于所述运行任务所需的图形处理器的数量,将各所述空闲图形处理器按所有可能的组合方式进行组合,将每种组合确定为一个所述待选择图形处理器组。在一个实施方式中,计算待选择图形处理器组的链路带宽和,包括:获取所述待选择图形处理器组中任意两个图形处理器间的链路带宽;将获取的链路带宽相加,得到所述待选择图形处理器组的链路带宽和。在一个实施方式中,根据所述链路带宽和,将所述至少两个待选择图形处理器组中的一个待选择图形处理器组分配给所述任务,包括:基于每个所述待选择图形处理器组的链路带宽和,选择其中链路带宽和最高的待选择图形处理器组;将所述链路带宽和最高的待选择图形处理器组中的各空闲图形处理器分配给所述任务。第二方面,本专利技术实施例提供了一种分配图形处理器的装置,包括:带宽获取模块,用于确定多个空闲图形处理器及获取每两个空闲图形处理器间的链路带宽;确定模块,用于确定至少两个待选择图形处理器组,其中每个所述待选择图形处理器组中包含的所述空闲图形处理器的数量等于运行任务所需的图形处理器的数量;计算模块,用于根据所述每两个空闲图形处理器间的链路带宽,计算所述至少两个待选择图形处理器组各自的的链路带宽和;分配模块,用于根据所述链路带宽和,将所述至少两个待选择图形处理器组中的一个待选择图形处理器组分配给所述任务。在一个实施方式中,所述带宽获取模块包括:检测子模块,用于检测各个图形处理器的当前工作状态,其中,当前工作状态的可能取值包括正在运行任务和未在运行任务;确定子模块,用于将所述当前工作状态为未在运行任务的图形处理器确定为所述空闲图形处理器。在一个实施方式中,所述带宽获取模块包括:链路带宽子模块,用于控制所述两个空闲图形处理器中的第一图形处理器向第二图形处理器发送第一数据;获取所述第一数据发送完成所用第一时长;基于所述第一时长及所述第一数据的数据量,确定所述第一图形处理器向第二图形处理器的链路带宽;和/或,用于控制所述第二图形处理器向第一图形处理器发送第二数据;获取所述第二数据发送完成所用第二时长;基于所述第二时长及所述第二数据的数据量,确定所述第二图形处理器向第一图形处理器的链路带宽。在一个实施方式中,所述确定模块,用于基于所述运行任务所需的图形处理器的数量,将各所述空闲图形处理器按所有可能的组合方式进行组合,将每种组合确定为一个所述待选择图形处理器组。在一个实施方式中,所述计算模块包括:获取子模块,用于获取所述待选择图形处理器组中任意两个图形处理器间的链路带宽;计算子模块,用于将获取的所述链路带宽相加,得到所述待选择图形处理器组的链路带宽和。在一个实施方式中,所述分配模块包括:选择子模块,用于基于每个所述待选择图形处理器组的带宽和,选择其中带宽和最高的待选择图形处理器组;分配子模块,用于将所述带宽和最高的待选择图形处理器组中的各空闲图形处理器分配给所述任务。第三方面,本专利技术实施例提供了一种分配图形处理器的终端,包括:所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,分配图形处理器的终端的结构中包括处理器和存储器,所述存储器用于存储支持分配图形处理器的终端执行上述第一方面中分配图形处理器的方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。分配图形处理器的终端还可以包括通信接口,用于分配图形处理器的终端与其他设备或通信网络通信。第四方面,本专利技术实施例提供了一种计算机可读存储介质,用于存储分配图形处理器的终端所用的计算机软件指令,其包括用于执行上述第一方面中分配图形处理器的方法为分配图形处理器的终端所涉及的程序。上述技术方案中的一个技术方案具有如下优点或有益效果:本专利技术实施例能够根据链路带宽和为任务分配图形处理器组运行任务,因此无需了解各图形处理器间的详细链路连接关系,从而减少了为任务分配图形处理器的时间。上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本专利技术进一步的方面、实施方式和特征将会是容易明白的。附图说明在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本专利技术公开的一些实施方式,而不应将其视为是对本专利技术范围的限制。图1为本专利技术实施方式提供的分配图形处理器的方法的流程图。图2为本专利技术另一实施方式提供的分配图形处理器的方法的流程图。图3为本专利技术另一实施方式提供的分配图形处理器的方法的流程图。图4为本专利技术另一实施方式提本文档来自技高网...

【技术保护点】
1.一种分配图形处理器的方法,其特征在于,包括:确定多个空闲图形处理器及获取每两个空闲图形处理器间的链路带宽;确定至少两个待选择图形处理器组,其中每个所述待选择图形处理器组中包含的所述空闲图形处理器的数量等于运行任务所需的图形处理器的数量;根据所述每两个空闲图形处理器间的链路带宽,计算所述至少两个待选择图形处理器组各自的链路带宽和;根据所述链路带宽和,将所述至少两个待选择图形处理器组中的一个分配给所述任务。

【技术特征摘要】
1.一种分配图形处理器的方法,其特征在于,包括:确定多个空闲图形处理器及获取每两个空闲图形处理器间的链路带宽;确定至少两个待选择图形处理器组,其中每个所述待选择图形处理器组中包含的所述空闲图形处理器的数量等于运行任务所需的图形处理器的数量;根据所述每两个空闲图形处理器间的链路带宽,计算所述至少两个待选择图形处理器组各自的链路带宽和;根据所述链路带宽和,将所述至少两个待选择图形处理器组中的一个分配给所述任务。2.如权利要求1所述的方法,其特征在于,确定多个空闲图形处理器,包括:检测各个图形处理器的当前工作状态,其中,当前工作状态的可能取值包括正在运行任务和未在运行任务;将所述当前工作状态为未在运行任务的图形处理器确定为所述空闲图形处理器。3.如权利要求1所述的方法,其特征在于,获取两个空闲图形处理器间的链路带宽,包括:所述两个空闲图形处理器中的第一图形处理器向第二图形处理器发送第一数据;获取所述第一数据发送完成所用的第一时长;基于所述第一时长及所述第一数据的数据量,确定所述第一图形处理器向第二图形处理器的链路带宽;和/或,所述第二图形处理器向第一图形处理器发送第二数据;获取所述第二数据发送完成所用的第二时长;基于所述第二时长及所述第二数据的数据量,确定所述第二图形处理器向第一图形处理器的链路带宽。4.如权利要求1所述的方法,其特征在于,确定至少两个待选择图形处理器组,包括:基于所述运行任务所需的图形处理器的数量,将各所述空闲图形处理器按所有可能的组合方式进行组合,将每种组合确定为一个所述待选择图形处理器组。5.如权利要求1所述的方法,其特征在于,计算待选择图形处理器组的链路带宽和,包括:获取所述待选择图形处理器组中任意两个图形处理器间的链路带宽;将获取的链路带宽相加,得到所述待选择图形处理器组的链路带宽和。6.如权利要求1至5任一项权利要求所述的方法,其特征在于,根据所述链路带宽和,将所述至少两个待选择图形处理器组中的一个待选择图形处理器组分配给所述任务,包括:基于每个所述待选择图形处理器组的链路带宽和,选择其中链路带宽和最高的待选择图形处理器组;将所述链路带宽和最高的待选择图形处理器组中的各空闲图形处理器分配给所述任务。7.一种分配图形处理器的装置,其特征在于,包括:带宽获取模块,用于确定多个空闲图形处理器及获取每两个空闲图形处理器间的链路带宽;确定模块,用于确定至少两个待选择图形处理器组,其中每个所述待...

【专利技术属性】
技术研发人员:曾李志张恒华刘传秀
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1