基于LINUX系统的多GPU板卡bounding的系统、方法及介质技术方案

技术编号:29702867 阅读:26 留言:0更新日期:2021-08-17 14:31
本发明专利技术公开了一种基于LINUX系统的多GPU板卡bounding的系统、方法及介质;该系统包括:gbound内核驱动和gbound_slave用户工具;所述gbound内核驱动,包括gbound模块以及调度模块;其中,gbound模块,经配置为基于用户请求创建虚拟的GPU Master以及将待添加的GPU板卡添加至目标GPU Master所管理的GPU板卡列表中;调度模块,经配置为基于进程粒度为应用程序的处理任务在目标GPU Master所管理的GPU板卡中分配目标GPU板卡;并通过gbound_slave用户工具根据目标GPU Master所管理的GPU板卡列表向目标GPU板卡下发处理任务以执行。

【技术实现步骤摘要】
基于LINUX系统的多GPU板卡bounding的系统、方法及介质
本专利技术实施例涉及计算机硬件
,尤其涉及一种基于LINUX系统的多GPU板卡绑定bounding的系统、方法及介质。
技术介绍
由于图形处理器(GPU,GraphicsProcessingUnit)的超强计算能力,GPU在图像视频处理、物理、生物科学、化学、人工智能等需要高性能计算的领域发挥重要作用。当前,为了完成日益复杂的图形图像处理任务、通用计算任务和缩减计算时间,往往需要同时使用多GPU板卡进行计算。基于此,需要提供一种能够对多GPU板卡进行管理以及资源分配的方案。
技术实现思路
有鉴于此,本专利技术实施例期望提供一种基于LINUX系统的多GPU板卡bounding的系统、方法及介质;能够使用多GPU板卡并发处理任务的同时,可以灵活管理这些多GPU板卡以及资源,尽可能提高线程并发效率以及计算性能,实现高吞吐目的。本专利技术实施例的技术方案是这样实现的:第一方面,本专利技术实施例提供了一种基于LINUX系统的多GPU板卡bounding的系统,所述系统包括:gbound内核驱动和gbound_slave用户工具;所述gbound内核驱动,包括gbound模块以及调度模块;其中,所述gbound模块,经配置为基于用户请求创建虚拟的GPUMaster以及将待添加的GPU板卡添加至目标GPUMaster所管理的GPU板卡列表中;所述调度模块,经配置为基于进程粒度为应用程序的处理任务在所述目标GPUMaster所管理的GPU板卡中分配目标GPU板卡;并通过所述gbound_slave用户工具根据所述目标GPUMaster所管理的GPU板卡列表向所述目标GPU板卡下发处理任务以执行。第二方面,本专利技术实施例提供了一种基于LINUX系统的多GPU板卡bounding的方法,所述方法应用于第一方面所述的基于LINUX系统的多GPUbounding的系统,所述方法包括:通过gbound模块基于用户请求创建虚拟的GPUMaster以及将待添加的GPU板卡添加至目标GPUMaster所管理的GPU板卡列表中;通过调度模块基于进程粒度为应用程序的处理任务在目标GPUMaster所管理的GPU板卡中分配目标GPU板卡;并通过所述gbound_slave用户工具根据所述目标GPUMaster所管理的GPU板卡列表向目标GPU板卡下发处理任务以执行。第三方面,本专利技术实施例提供了一种计算机存储介质,所述计算机存储介质存储有基于LINUX系统的多GPU板卡bounding的程序,所述基于LINUX系统的多GPU板卡bounding程序被至少一个处理器执行时实现第二方面中所述基于LINUX系统的多GPU板卡bounding方法步骤。本专利技术实施例提供了一种基于LINUX系统的多GPU板卡bounding的系统、方法及介质;通过在LINUX系统中增加gbound内核驱动和gbound_slave用户工具,协助用户灵活管理当前的GPUbound设备,尽可能提高线程并发,实现高吞吐目的;此外,便于用户场景,灵活动态调整当前多GPU板卡的使用场景,不再局限于固定bounding场景,可以根据需要将GPU板卡作为别的用途;最后,通过进程为粒度进行GPU板卡绑定,解决存储与任务指令不在同一个GPU内执行的问题,避免出现NUMA现象,提高了计算性能。附图说明图1为能够应用本专利技术实施例技术方案的计算设备的系统框架示意图。图2为本专利技术实施例提供的软件模块和从机系统的实例实施方案的框图。图3为本专利技术实施例提供的任务分配的流程示意图。图4为本专利技术实施例提供的一种基于LINUX系统的多GPU板卡bounding的方法流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。目前在应用多GPU板卡执行具体的运算或处理任务时,常规方案通常会采用构造Ringbuffer页空间与多GPU板卡之间的映射关系来对多个GPU板卡的数据进行管理,但是并未从整体上提出对多GPU板卡的管理方案,无法根据业务场景灵活调整,缩限了多GPU板卡的应用范围;举例来说,当系统正常工作时,设定完成三张GPU板卡的绑定之后,那么用户只能一直强制占用这三张GPU板卡,如果想移除其中一张做别的功能使用,那么只能重启机器进行重新初始化绑定配置,无法根据业务需要动态调整显卡绑定。此外,也没有考虑存储分配与任务指令匹配问题,较易导致存储空间与任务指令不在同一个GPU内部,也就意味着GPU需要跨过设备总线去访问存储数据,从而出现非一致性内存访问(NUMA,NonUniformMemoryAccess)的存储问题,严重影响计算性能。基于此,本专利技术实施例期望提供一种在LINUX系统环境下多GPU板卡的动态管理方案,期望将多张GPU板卡绑定作为一个逻辑GPU板卡提供用户使用,即为多GPU板卡绑定,也可称之为多GPUbounding,从而能够灵活动态调整当前多GPU板卡的使用场景;此外,还解决存储与任务指令不在同一个GPU内的问题。参见图1,其示出了能够应用本专利技术实施例技术方案的计算设备的系统框架100的示意,如图1所示,该框架100可以包括主机系统1和从机系统2,所述主机系统1和从机系统2之间可以通过总线BUS3连接,该BUS支持两者之间的数据传输及访问等功能。对于主机系统1来说,可以包括CPU、主机内存以及直接内存访问(DMA,DirectMemoryAccess)等硬件模块11,此外还包括有能够基于前述硬件模块所执行的软件模块12。对于从机系统2来说,可以包括多个GPU板卡,如图1所示,这些GPU板卡可以分别被表示为:GPU1、GPU2、……、GPUN。对于主机系统1中的软件模块12来说,可以包括多个应用程序(以M个为例且分别被表示为应用程序1、应用程序2、……、应用程序M)、DRM、GPU内核模块以及基于LINUX系统环境下的gbound内核驱动121和gbound_slave用户工具122。在一些示例中,软件模块12可以通过硬件模块11中的CPU调用主机内存所存储的程序而被执行。参见图2所示的进一步详细说明图1中软件模块12和从机系统2的实例实施方案的框图。结合图1以及图2,本专利技术实施例提供了一种基于LINUX系统的多GPU板卡bounding的系统,在该系统中,采用类似于服务器-客户机(C/S,Client-Server)架构将多个GPU板卡绑定于虚拟的GPU主机(Master)上,从而通过GPUMaster对其所属的GPU板卡进行动态灵活的管理。该系统至少可以包括:gbound内核驱动121和gbound_slave用户工具122;所述gbound内核驱动121,包括gbound模块1211以及调度模块1212;其中,所述gbound模块1211,经配置为基于用户请求创建虚拟的GPUMaster以及将待添加的GPU板卡添加目标GPUMaster所管理的GPU板卡列本文档来自技高网...

【技术保护点】
1.一种基于LINUX系统的多GPU板卡 bounding 的系统,其特征在于,所述系统包括:gbound内核驱动和gbound_slave用户工具;所述gbound内核驱动,包括gbound模块以及调度模块;其中,所述gbound模块,经配置为基于用户请求创建虚拟的GPU Master以及将待添加的GPU板卡添加至目标GPU Master所管理的GPU板卡列表中;/n所述调度模块,经配置为基于进程粒度为应用程序的处理任务在所述目标GPU Master所管理的GPU板卡中分配目标GPU板卡;并通过所述gbound_slave用户工具根据所述目标GPU Master所管理的GPU板卡列表向所述目标GPU板卡下发处理任务以执行。/n

【技术特征摘要】
1.一种基于LINUX系统的多GPU板卡bounding的系统,其特征在于,所述系统包括:gbound内核驱动和gbound_slave用户工具;所述gbound内核驱动,包括gbound模块以及调度模块;其中,所述gbound模块,经配置为基于用户请求创建虚拟的GPUMaster以及将待添加的GPU板卡添加至目标GPUMaster所管理的GPU板卡列表中;
所述调度模块,经配置为基于进程粒度为应用程序的处理任务在所述目标GPUMaster所管理的GPU板卡中分配目标GPU板卡;并通过所述gbound_slave用户工具根据所述目标GPUMaster所管理的GPU板卡列表向所述目标GPU板卡下发处理任务以执行。


2.根据权利要求1所述多GPU板卡bounding的系统,其特征在于,所述gbound模块,经配置为基于用户发出的创建虚拟的GPUmaster请求,利用LINUX系统的DRM框架创建所述GPUMaster,并完成接口初始化后挂载于全局Master列表中。


3.根据权利要求1所述多GPU板卡bounding的系统,其特征在于,所述gbound模块,经配置为基于用户发出的GPU板卡添加请求,根据所述GPU板卡添加请求中所指定待添加的GPU板卡当前的工作状态将所述待添加的GPU板卡添加至目标GPUMaster所管理的GPU板卡列表中。


4.根据权利要求1所述多GPU板卡bounding的系统,其特征在于,所述gbound模块,还经配置为基于用户发出的删除GPU板卡请求,根据待删除的GPU板卡的工作状态将所述待删除的GPU板卡从所在的GPUMaster所管理的GPU板卡列表中删除。


5.根据权利要求1所述多GPU板卡bounding的系统,其特征在于,所述gbound模块,还经配置为基于用户发出的删除虚拟的GPUMaster请求,将待删除的GPUMaster所管理的GPU板卡列表中的GPU板卡依次删除后,清理所述待删除的GPUMaster的私有资源并将所述待删除的GPUMaster从全局Master列表中进行删除。


6.根据权利要求1所述多GPU板卡bounding的系统,其特征在于,所述调度模块,经配置为基于应用程序指定的GPUMaster所管理的GPU板卡性能,将所述应用程序的处理任务按照进程为基本单位分配至GPUMaster所管理的...

【专利技术属性】
技术研发人员:王世凯陈伟张凡路兰琦冯立彬
申请(专利权)人:西安芯瞳半导体技术有限公司
类型:发明
国别省市:陕西;61

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

1