一种基于CUDA的GPU资源分配方法、系统、终端及存储介质技术方案

技术编号:26504285 阅读:23 留言:0更新日期:2020-11-27 15:31
本发明专利技术提供一种基于CUDA的GPU资源分配方法、系统、终端及存储介质,包括:对共享GPU资源的集群启用CUDA平台的统一内存机制;通过所述统一内存机制截取所述集群的每个节点的内存管理接口;设置所述统一内存机制的隔离阈值,根据所述隔离阈值通过所述内存管理接口占用节点的内存;将占用的节点内存作为同节点上GPU的显存资源分配给GPU任务。本发明专利技术通过CUDA统一内存与共享GPU资源机制设置相结合,提高GPU利用率和使用效率,提高AI平台进行训练任务的规模并保证平台高效运行。

【技术实现步骤摘要】
一种基于CUDA的GPU资源分配方法、系统、终端及存储介质
本专利技术涉及AI平台
,具体涉及一种基于CUDA的GPU资源分配方法、系统、终端及存储介质。
技术介绍
随着用于AI平台及深度学习任务的数据量的增加以及对于训练速度要求的提高,资源配置及算力要求也越来越高。此外,随着AI平台GPU服务器集群的整体规模逐步扩大,集群中使用率较高,且较为稀缺的资源,GPU的利用率通常决定了深度学习任务训练的整体效率。所以如何更加有效的使用GPU资源,提升GPU资源利用率显得尤为重要。目前大部分深度学习训练在使用GPU资源的时候,是以单块GPU卡为最小的资源使用粒度。但是单个训练任务占用一个GPU卡的情况下,训练过程中占用的GPU显存远远低于单块GPU显存大小,从而导致GPU资源利用率较低。为了提交GPU资源利用率,对训练任务占用GPU显存规模进行分析后,按照一定粒度拆分GPU显存从而使得一个GPU卡被多个任务使用,就显得很有必要。现有技术已经存在定义显存粒度,隔离出多个GPU显存,来实现GPU共享的方式。但该方法只将GPU资源显存信息(单块GPU卡显存目前主流是32G)进行划分隔离,当GPU显存不够时,会直接报出OOM错误,导致任务运行失败,并且根据显存粒度划分的GPU复用情况较低。
技术实现思路
针对现有技术的上述不足,本专利技术提供一种基于CUDA的GPU资源分配方法、系统、终端及存储介质,以解决上述技术问题。第一方面,本专利技术提供一种基于CUDA的GPU资源分配方法,包括:对共享GPU资源的集群启用CUDA平台的统一内存机制;通过所述统一内存机制截取所述集群的每个节点的内存管理接口;设置所述统一内存机制的隔离阈值,根据所述隔离阈值通过所述内存管理接口占用节点的内存;将占用的节点内存作为同节点上GPU的显存资源分配给GPU任务。进一步的,所述根据隔离阈值通过所述内存管理接口占用节点的内存,包括:获取节点上的单张GPU的显存容量;计算所述显存容量与所述隔离阈值的乘积,所述隔离阈值为所述显存容量的倍数,计算所述乘积与所述显存容量的差值,将所述差值作为需要占用的内存容量输出。进一步的,所述将占用的节点内存作为同节点上GPU的显存资源分配给GPU任务,包括:预先设置显存粒度;将所述乘积作为单张GPU的总显存,计算所述总显存除以显存粒度的商,将所述商作为复用情况输出;根据所述复用情况控制调度器向GPU调度相应数量的容器。进一步的,所述方法还包括:将集群各节点上GPU信息保存至GPU信息表,并创建GPU显存信息表;建立已分配容器任务ID与运行节点上的GPU的UUID对应关系,并建立已分配容器ID与GPU显存的对应关系;判断运行在GPU的容器执行任务时的显存利用最大值是否持续超过所述显存粒度:若是,则结束所述容器执行的任务,并释放相应的GPU资源和显存资源。第二方面,本专利技术提供一种基于CUDA的GPU资源分配系统,包括:机制启用单元,配置用于对共享GPU资源的集群启用CUDA平台的统一内存机制;接口定义单元,配置用于通过所述统一内存机制截取所述集群的每个节点的内存管理接口;内存占用单元,配置用于设置所述统一内存机制的隔离阈值,根据所述隔离阈值通过所述内存管理接口占用节点的内存;资源分配单元,配置用于将占用的节点内存作为同节点上GPU的显存资源分配给GPU任务。进一步的,所述内存占用单元包括:显存获取模块,配置用于获取节点上的单张GPU的显存容量;容量计算模块,配置用于计算所述显存容量与所述隔离阈值的乘积,所述隔离阈值为所述显存容量的倍数,计算所述乘积与所述显存容量的差值,将所述差值作为需要占用的内存容量输出。进一步的,所述资源分配单元包括:粒度设置模块,配置用于预先设置显存粒度;复用计算模块,配置用于将所述乘积作为单张GPU的总显存,计算所述总显存除以显存粒度的商,将所述商作为复用情况输出;开发调度模块,配置用于根据所述复用情况控制调度器向GPU调度相应数量的容器。进一步的,所述系统还包括:信息保存单元,配置用于将集群各节点上GPU信息保存至GPU信息表,并创建GPU显存信息表;映射建立单元,配置用于建立已分配容器任务ID与运行节点上的GPU的UUID对应关系,并建立已分配容器ID与GPU显存的对应关系;显存监控单元,配置用于判断运行在GPU的容器执行任务时的显存利用最大值是否持续超过所述显存粒度;任务管理单元,配置用于若运行在GPU的容器执行任务时的显存利用最大值持续超过所述显存粒度,则结束所述容器执行的任务,并释放相应的GPU资源和显存资源。第三方面,提供一种终端,包括:处理器、存储器,其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。本专利技术的有益效果在于,本专利技术提供的基于CUDA的GPU资源分配方法、系统、终端及存储介质,通过CUDA统一内存相配合的GPU显存分配控制方法,可以在不影响服务器提供服务的情况下,将集群节点上的GPU资源最大程度的进行复用,并通过CUDA统一内存与显存粒度设置相结合,提高GPU利用率和使用效率,提高AI平台进行训练任务的规模并保证平台高效运行。此外,本专利技术设计原理可靠,结构简单,具有非常广泛的应用前景。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一个实施例的方法的示意性流程图。图2是本专利技术一个实施例的方法的示意性流程图。图3是本专利技术一个实施例的系统的示意性框图。图4为本专利技术实施例提供的一种终端的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。下面对本专利技术中出现的关键术语进行解释。英文全称:Memorygranularity、UnifiedMemory、GPUmemoryallocation中文全称:显存粒度、统一内存、GPU显存资源分配图1是本专利技术一个实施例的方法的示意性流程图。其中,图1执行主体可以为一本文档来自技高网
...

【技术保护点】
1.一种基于CUDA的GPU资源分配方法,其特征在于,包括:/n对共享GPU资源的集群启用CUDA平台的统一内存机制;/n通过所述统一内存机制截取所述集群的每个节点的内存管理接口;/n设置所述统一内存机制的隔离阈值,根据所述隔离阈值通过所述内存管理接口占用节点的内存;/n将占用的节点内存作为同节点上GPU的显存资源分配给GPU任务。/n

【技术特征摘要】
1.一种基于CUDA的GPU资源分配方法,其特征在于,包括:
对共享GPU资源的集群启用CUDA平台的统一内存机制;
通过所述统一内存机制截取所述集群的每个节点的内存管理接口;
设置所述统一内存机制的隔离阈值,根据所述隔离阈值通过所述内存管理接口占用节点的内存;
将占用的节点内存作为同节点上GPU的显存资源分配给GPU任务。


2.根据权利要求1所述的方法,其特征在于,所述根据隔离阈值通过所述内存管理接口占用节点的内存,包括:
获取节点上的单张GPU的显存容量;
计算所述显存容量与所述隔离阈值的乘积,所述隔离阈值为所述显存容量的倍数,计算所述乘积与所述显存容量的差值,将所述差值作为需要占用的内存容量输出。


3.根据权利要求2所述的方法,其特征在于,所述将占用的节点内存作为同节点上GPU的显存资源分配给GPU任务,包括:
预先设置显存粒度;
将所述乘积作为单张GPU的总显存,计算所述总显存除以显存粒度的商,将所述商作为复用情况输出;
根据所述复用情况控制调度器向GPU调度相应数量的容器。


4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将集群各节点上GPU信息保存至GPU信息表,并创建GPU显存信息表;
建立已分配容器任务ID与运行节点上的GPU的UUID对应关系,并建立已分配容器ID与GPU显存的对应关系;
判断运行在GPU的容器执行任务时的显存利用最大值是否持续超过所述显存粒度:
若是,则结束所述容器执行的任务,并释放相应的GPU资源和显存资源。


5.一种基于CUDA的GPU资源分配系统,其特征在于,包括:
机制启用单元,配置用于对共享GPU资源的集群启用CUDA平台的统一内存机制;
接口定义单元,配置用于通过所述统一内存机制截取所述集群的每个节点的内存管理接口;
内存占用单元,配置用于设置所述统一内存机制...

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

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

1