显存分配方法、装置、电子设备及存储介质.pdf

上传人:凯文 文档编号:9185508 上传时间:2021-05-09 格式:PDF 页数:16 大小:811.64KB
收藏 版权申诉 举报 下载
显存分配方法、装置、电子设备及存储介质.pdf_第1页
第1页 / 共16页
显存分配方法、装置、电子设备及存储介质.pdf_第2页
第2页 / 共16页
显存分配方法、装置、电子设备及存储介质.pdf_第3页
第3页 / 共16页
文档描述:

《显存分配方法、装置、电子设备及存储介质.pdf》由会员分享,可在线阅读,更多相关《显存分配方法、装置、电子设备及存储介质.pdf(16页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010144896.6 (22)申请日 2020.03.04 (71)申请人 杭州海康威视系统技术有限公司 地址 310051 浙江省杭州市滨江区阡陌路 555号1幢B楼19层 (72)发明人 陈兴友 (74)专利代理机构 北京柏杉松知识产权代理事 务所(普通合伙) 11413 代理人 丁芸马敬 (51)Int.Cl. G06F 9/50(2006.01) (54)发明名称 一种显存分配方法、 装置、 电子设备及存储 介质 (57)摘要 本申请的一种显存分配方法、 装置、 。

2、电子设 备及存储介质, 在当前应用申请显存时, 获取当 前应用申请的显存的数量, 得到待申请显存数 量; 读取当前应用对应的预设配置文件中的总分 配显存数量和已使用显存数量; 判断待申请显存 数量与已使用显存数量的和是否大于总分配显 存数量; 若待申请显存数量与已使用显存数量的 和不大于总分配显存数量, 则为当前应用分配待 申请显存数量的显存, 若待申请显存数量与已使 用显存数量的和大于总分配显存数量, 则向当前 应用发送指定格式的显存不足信息。 实现保证当 前应用显存使用的情况下, 防止出现申请显存的 数量超过GPGPU的全部显存, 导致出现争抢显存 的情况, 从而保证各应用的显存供应, 提。

3、高显存 的使用效率。 权利要求书2页 说明书9页 附图4页 CN 111400035 A 2020.07.10 CN 111400035 A 1.一种显存分配方法, 其特征在于, 包括: 在当前应用申请显存时, 获取所述当前应用申请的显存的数量, 得到待申请显存数量; 读取当前应用对应的预设配置文件中的总分配显存数量和已使用显存数量, 其中, 所 述总分配显存数量为预先设定的给所述当前应用分配的显存数量的上限, 所述已使用显数 量存为所述当前应用已经分配的显存数量; 判断所述待申请显存数量与所述已使用显存数量的和是否大于所述总分配显存数量; 若所述待申请显存数量与所述已使用显存数量的和不大于所。

4、述总分配显存数量, 则为 所述当前应用分配所述待申请显存数量的显存; 若所述待申请显存数量与所述已使用显存数量的和大于所述总分配显存数量, 则向所 述当前应用发送指定格式的显存不足信息。 2.根据权利要求1所述的方法, 其特征在于, 在当前应用申请显存时, 获取所述当前应 用申请的显存的数量, 得到待申请显存数量之前, 所述方法还包括: 启动所述当前应用, 创建所述当前应用配置文件, 其中, 所述配置文件包括总分配显存 数量和已使用显存数量, 所述总分配显存数量为给所述当前应用分配的显存数量的上限, 初始状态下所述已使用显存数量的值为零; 判断总可用显存数量是否大于所述总分配显存数量, 其中,。

5、 所述总可用显存数量为图 像处理器中尚未使用的显存数量; 若所述总可用显存数量大于所述总分配显存数量, 则判定所述当前应用配置文件配置 完成。 3.根据权利要求2所述的方法, 其特征在于, 所述判断总可用显存数量是否大于所述总 分配显存数量之后, 所述方法还包括: 若所述总可用显存数量不大于所述总分配显存数量, 将所述总可用显存数量的值赋予 所述总分配显存数量。 4.根据权利要求1所述的方法, 其特征在于, 所述为所述当前应用分配所述待申请显存 数量的显存之后, 所述方法还包括: 根据所述待申请显存数量对所述已使用显存数量进行更新。 5.根据权利要求1所述的方法, 其特征在于, 所述方法还包括。

6、: 在所述当前应用释放显存时, 获取所述当前应用的显存释放的数量, 得到显存释放数 量; 根据所述显存释放数量更新所述已使用显存数量。 6.一种显存分配装置, 其特征在于, 包括: 显存申请模块, 用于在当前应用申请显存时, 获取所述当前应用申请的显存的数量, 得 到待申请显存数量; 显存读取模块, 用于读取当前应用对应的预设配置文件中的总分配显存数量和已使用 显存数量, 其中, 所述总分配显存数量为预先设定的给所述当前应用分配的显存数量的上 限, 所述已使用显数量存为所述当前应用已经分配的显存数量; 显存判断模块, 用于判断所述待申请显存数量与所述已使用显存数量的和是否大于所 述总分配显存数。

7、量; 申请分配模块, 用于若所述待申请显存数量与所述已使用显存数量的和不大于所述总 权利要求书 1/2 页 2 CN 111400035 A 2 分配显存数量, 则为所述当前应用分配所述待申请显存数量的显存; 信息发送模块, 用于若所述待申请显存数量与所述已使用显存数量的和大于所述总分 配显存数量, 则向所述当前应用发送指定格式的显存不足信息。 7.根据权利要求6所述的装置, 其特征在于, 所述装置还包括: 文件创建模块, 用于启动所述当前应用, 创建所述当前应用配置文件, 其中, 所述配置 文件包括总分配显存数量和已使用显存数量, 所述总分配显存数量为给所述当前应用分配 的显存数量的上限, 。

8、初始状态下所述已使用显存数量的值为零; 数量判断模块, 用于判断总可用显存数量是否大于所述总分配显存数量, 其中, 所述总 可用显存数量为图像处理器中尚未使用的显存数量; 完成判定模块, 用于若所述总可用显存数量大于所述总分配显存数量, 则判定所述当 前应用配置文件配置完成。 8.根据权利要求7所述的装置, 其特征在于, 所述装置还包括: 显存赋值模块, 用于若所述总可用显存数量不大于所述总分配显存数量, 将所述总可 用显存数量的值赋予所述总分配显存数量。 9.根据权利要求6所述的装置, 其特征在于, 所述装置还包括: 显存更新模块, 用于根据所述待申请显存数量对所述已使用显存数量进行更新。 。

9、10.根据权利要求6所述的装置, 其特征在于, 所述装置还包括: 释放信息模块, 用于在所述当前应用释放显存时, 获取所述当前应用的显存释放的数 量, 得到显存释放数量; 数量更新模块, 用于根据所述显存释放数量更新所述已使用显存数量。 11.一种电子设备, 其特征在于, 包括处理器、 通信接口、 存储器和通信总线, 其中, 所述 处理器、 所述通信接口、 所述存储器通过所述通信总线完成相互间的通信; 存储器, 用于存放计算机程序; 处理器, 用于执行存储器上所存放的所述计算机程序时, 实现权利要求1-5任一所述的 方法步骤。 12.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介。

10、质内存储有计算机 程序, 所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。 权利要求书 2/2 页 3 CN 111400035 A 3 一种显存分配方法、 装置、 电子设备及存储介质 技术领域 0001 本申请涉及信息技术领域, 特别是涉及一种显存分配方法、 装置、 电子设备及存储 介质。 背景技术 0002 随深度学习等技术的快速发展, 模型的计算已经越来越被广泛的应用, 在训练模 型过程中需要大量显存和GPU(Graphics Processing Unit, 图形处理器)计算资源, 而再通 过训练好的模型进行实际使用时显存需求会降低很多。 并且通过模型压缩、 剪枝等技。

11、术, 前 后的差距可能会达到一两个数量级。 0003 然而, 目前进行显存的复用, 一般都是通过口头或书面协商等方式, 划分时段进行 显存的使用, 从而达到显存的复用的目的。 然而在同一时间段内, 多余的显存未进行使用, 则只会浪费掉, 同时还会促使主流深度学习软件尝试尽可能多地申请显存, 从而导致显存 的使用效率低。 0004 申请内容 0005 本申请实施例的目的在于提供一种显存分配方法、 装置、 电子设备及存储介质, 以 实现提高显存的使用效率的目的。 具体技术方案如下: 0006 第一方面, 本申请提供了一种显存分配方法, 包括: 0007 在当前应用申请显存时, 获取当前应用申请的显。

12、存的数量, 得到待申请显存数量; 0008 读取当前应用对应的预设配置文件中的总分配显存数量和已使用显存数量, 其 中, 总分配显存数量为预先设定的给当前应用分配的显存数量的上限, 已使用显数量存为 当前应用已经分配的显存数量; 0009 判断待申请显存数量与已使用显存数量的和是否大于总分配显存数量; 0010 若待申请显存数量与已使用显存数量的和不大于总分配显存数量, 则为当前应用 分配待申请显存数量的显存; 0011 若待申请显存数量与已使用显存数量的和大于总分配显存数量, 则向当前应用发 送指定格式的显存不足信息。 0012 可选的, 在在当前应用申请显存时, 获取当前应用申请的显存的数。

13、量, 得到待申请 显存数量之前, 上述方法还包括: 0013 启动当前应用, 创建当前应用配置文件, 其中, 配置文件包括总分配显存数量和已 使用显存数量, 总分配显存数量为给当前应用分配的显存数量的上限, 初始状态下已使用 显存数量的值为零; 0014 判断总可用显存数量是否大于总分配显存数量, 其中, 总可用显存数量为图像处 理器中尚未使用的显存数量; 0015 若总可用显存数量大于总分配显存数量, 则判定当前应用配置文件配置完成。 0016 可选的, 判断总可用显存数量是否大于总分配显存数量之后, 上述方法还包括: 0017 若总可用显存数量不大于总分配显存数量, 将总可用显存数量的值赋。

14、予总分配显 说明书 1/9 页 4 CN 111400035 A 4 存数量。 0018 可选的, 为当前应用分配待申请显存数量的显存之后, 上述方法还包括: 0019 根据待申请显存数量对已使用显存数量进行更新。 0020 可选的, 上述方法还包括: 0021 在当前应用释放显存时, 获取当前应用的显存释放的数量, 得到显存释放数量; 0022 根据显存释放数量更新已使用显存数量。 0023 第二方面, 本申请提供了一种显存分配装置, 包括: 0024 显存申请模块, 用于在当前应用申请显存时, 获取当前应用申请的显存的数量, 得 到待申请显存数量; 0025 显存读取模块, 用于读取当前应。

15、用对应的预设配置文件中的总分配显存数量和已 使用显存数量, 其中, 总分配显存数量为预先设定的给当前应用分配的显存数量的上限, 已 使用显数量存为当前应用已经分配的显存数量; 0026 显存判断模块, 用于判断待申请显存数量与已使用显存数量的和是否大于总分配 显存数量; 0027 申请分配模块, 用于若待申请显存数量与已使用显存数量的和不大于总分配显存 数量, 则为当前应用分配待申请显存数量的显存; 0028 信息发送模块, 用于若待申请显存数量与已使用显存数量的和大于总分配显存数 量, 则向当前应用发送指定格式的显存不足信息。 0029 可选的, 上述装置还包括: 0030 文件创建模块, 。

16、用于启动当前应用, 创建当前应用配置文件, 其中, 配置文件包括 总分配显存数量和已使用显存数量, 总分配显存数量为给当前应用分配的显存数量的上 限, 初始状态下已使用显存数量的值为零; 0031 数量判断模块, 用于判断总可用显存数量是否大于总分配显存数量, 其中, 总可用 显存数量为图像处理器中尚未使用的显存数量; 0032 完成判定模块, 用于若总可用显存数量大于总分配显存数量, 则判定当前应用配 置文件配置完成。 0033 可选的, 上述装置还包括: 0034 显存赋值模块, 用于若总可用显存数量不大于总分配显存数量, 将总可用显存数 量的值赋予总分配显存数量。 0035 可选的, 上。

17、述装置还包括: 0036 显存更新模块, 用于根据待申请显存数量对已使用显存数量进行更新。 0037 可选的, 上述装置还包括: 0038 释放信息模块, 用于在当前应用释放显存时, 获取当前应用的显存释放的数量, 得 到显存释放数量; 0039 数量更新模块, 用于根据显存释放数量更新已使用显存数量。 0040 根据本公开实施例的第三方面, 提供一种电子设备, 包括处理器、 通信接口、 存储 器和通信总线, 其中, 处理器、 通信接口、 存储器通过通信总线完成相互间的通信; 0041 存储器, 用于存放计算机程序; 0042 处理器, 用于执行存储器上所存放的计算机程序时, 实现上述任一显存。

18、分配的方 说明书 2/9 页 5 CN 111400035 A 5 法。 0043 根据本公开实施例的第四方面, 提供一种计算机可读存储介质, 0044 计算机可读存储介质内存储有计算机程序, 计算机程序被处理器执行时实现上述 任一显存分配的方法。 0045 本申请实施例提供的一种显存分配方法、 装置、 电子设备及存储介质, 在当前应用 申请显存时, 获取当前应用申请的显存的数量, 得到待申请显存数量; 读取当前应用对应的 预设配置文件中的总分配显存数量和已使用显存数量; 判断待申请显存数量与已使用显存 数量的和是否大于总分配显存数量; 若待申请显存数量与已使用显存数量的和不大于总分 配显存数。

19、量, 则为当前应用分配待申请显存数量的显存。 从而实现在根据应用的请求进行 显存的分配, 在保证当前应用的显存使用的情况下, 防止出现申请显存的数量超过GPGPU的 全部显存, 导致出现争抢显存的情况, 从而保证各应用的显存供应, 提高显存的使用效率。 当然, 实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。 附图说明 0046 为了更清楚地说明本申请实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 申请的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以 根据。

20、这些附图获得其他的附图。 0047 图1为本申请实施例的一种显存分配方法的一种流程图。 0048 图2为本申请实施例的一种配置文件创建方法的一种流程图。 0049 图3为本申请实施例的一种显存分配方法的另一种流程图。 0050 图4为本申请实施例的一种平台管理程序部分的流程示意图。 0051 图5为本申请实施例的一种显存分配方法的一种实例图。 0052 图6为本申请实施例的一种显存分配装置的一种结构示意图。 0053 图7为本申请实施例提供的电子设备的结构示意图。 具体实施方式 0054 下面将结合本申请实施例中的附图, 对本申请实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实。

21、施例仅仅是本申请一部分实施例, 而不是全部的实施例。 基于 本申请中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本申请保护的范围。 0055 为了实现提高显存的使用效率, 本申请实施例提供了一种显存方法、 装置、 电子设 备及存储介质, 以下分别进行详细说明。 0056 首先, 对本申请实施例中的专业术语进行解释: 0057 CGroup(Control Group, 控制组): 是一项对进程的处理器、 内存、 磁盘IO(磁盘的 输入/输出)、 网络等资源使用情况进行限制、 审计、 隔离的内核功能。 0058 GPGPU(General-purpo。

22、se computing on graphics processing units, 通用图形 处理器): 可以进行图形以外通用计算任务的图形处理器。 0059 CUDA(Compute Unified Device Architecture, 统一计算设备架构): NVIDIA(英 说明书 3/9 页 6 CN 111400035 A 6 伟达)推出的用于在GPU上进行并行通用计算的编程模型及软件开发包。 0060 容器: 借助Linux(一种操作系统)命名空间、 CGroup功能实现的操作系统层虚拟化 技术及软件。 0061 显存: GPGPU设备中的内存。 0062 图1为本申请实施例的。

23、一种显存分配方法的一种流程图, 包括以下步骤: 0063 在步骤S11中, 在当前应用申请显存时, 获取当前应用申请的显存的数量, 得到待 申请显存数量。 0064 本申请实施例的数据获取方法针对的是智能终端设备中的显存, 因此可以通过智 能终端设备执行, 具体的, 该智能终端设备可以为电脑或服务器等。 0065 其中, 上述当前应用申请显存可以为多种形式的应用进行显存的申请, 例如服务 器中的用于模型训练的应用, 在进行模型训练之前或模型训练的过程中申请用于执行该应 用的显存, 其申请显存的数量, 即上述待申请显存的数量。 其中, 当前应用为GPGPU中当前时 刻正在进行显存申请的任一应用,。

24、 例如上述用于模型训练的应用。 0066 在步骤S12中, 读取当前应用对应的预设配置文件中的总分配显存数量和已使用 显存数量。 0067 其中, 总分配显存数量为预先设定的给当前应用分配的显存数量的上限, 已使用 显数量存为当前应用已经分配的显存数量。 例如, 当前图像处理器的总显存为8GB, 而对于 服务器中某一应用通过预设规则设定分配显存的上限为500MB, 则总分配显存为500MB。 0068 在步骤S13中, 判断待申请显存数量与已使用显存数量的和是否大于总分配显存 数量。 0069 其中, 判断待申请显存数量与已使用显存数量的和是否大于总分配显存数量, 即 判断上述当前应用的申请显。

25、存的数量和已使用显存的数量是否大于上述向当前应用设定 的总显存的数量。 0070 在步骤S14中, 若待申请显存数量与已使用显存数量的和不大于总分配显存数量, 则为当前应用分配待申请显存数量的显存。 0071 在步骤S15中, 若待申请显存数量与已使用显存数量的和大于总分配显存数量, 则 向当前应用发送指定格式的显存不足信息。 0072 其中, 通过上述判断待申请显存数量与已使用显存数量的和是否大于总分配显存 数量, 若待申请显存数量与已使用显存数量的和不大于总分配显存数量, 则为当前应用分 配待申请显存数量的显存, 若待申请显存数量与已使用显存数量的和大于总分配显存数 量, 则向当前应用发送。

26、指定格式的显存不足信息。 可以在上述目标应用的已用显存和待申 请显存的数量小于预设的上限时分配申请数量的显存, 防止出现申请显存的数量超过 GPGPU的全部显存, 导致出现争抢显存的情况, 保证各应用的显存供应, 提高显存的使用效 率。 0073 可选的, 在在当前应用申请显存时, 获取当前应用申请的显存的数量, 得到待申请 显存数量之前, 上述方法还包括: 启动当前应用, 创建当前应用配置文件, 其中, 配置文件包 括总分配显存数量和已使用显存数量, 总分配显存数量为给当前应用分配的显存数量的上 限, 初始状态下已使用显存数量的值为零; 判断总可用显存数量是否大于总分配显存数量, 其中, 总。

27、可用显存数量为图像处理器中尚未使用的显存数量; 若总可用显存数量大于总分 说明书 4/9 页 7 CN 111400035 A 7 配显存数量, 则判定当前应用配置文件配置完成。 0074 可选的, 判断总可用显存数量是否大于总分配显存数量之后, 上述方法还包括: 若 总可用显存数量不大于总分配显存数量, 将总可用显存数量的值赋予总分配显存数量。 0075 可选的, 为当前应用分配待申请显存数量的显存之后, 上述方法还包括: 根据待申 请显存数量对已使用显存数量进行更新。 0076 可选的, 上述方法还包括: 在当前应用释放显存时, 获取当前应用的显存释放的数 量, 得到显存释放数量; 根据显。

28、存释放数量更新已使用显存数量。 0077 可见, 通过本申请实施例的显存分配方法, 在当前应用申请显存时, 获取当前应用 申请的显存的数量, 得到待申请显存数量; 读取当前应用对应的预设配置文件中的总分配 显存数量和已使用显存数量; 判断待申请显存数量与已使用显存数量的和是否大于总分配 显存数量; 若待申请显存数量与已使用显存数量的和不大于总分配显存数量, 则为当前应 用分配待申请显存数量的显存。 从而实现在根据应用的请求进行显存的分配, 在保证当前 应用的显存使用的情况下, 防止出现申请显存的数量超过GPGPU的全部显存, 导致出现争抢 显存的情况, 从而保证各应用的显存供应, 提高显存的使。

29、用效率。 0078 图2为本申请实施例的一种配置文件创建方法的一种流程图, 包括以下步骤: 0079 在步骤S21中, 启动当前应用, 创建当前应用配置文件。 0080 其中, 配置文件包括总分配显存数量和已使用显存数量, 总分配显存数量为给当 前应用分配的显存数量的上限, 初始状态下已使用显存数量的值为零。 上述配置文件可以 为vgpu_cfg_s类型的文件。 0081 其中, 启动当前应用, 创建当前应用配置文件之前, 上述方法还可以包括: 申请储 存空间, 该储存空间的大小为当前应用配置文件数据量大小的指定数量的倍数, 该指定数 量为倍数为单个机器允许的最大GPGPU应用数。 0082 。

30、在步骤S22中, 判断总可用显存数量是否大于总分配显存数量。 0083 其中, 总可用显存数量为图像处理器中尚未使用的显存数量。 例如, 对于某一图像 处理器的总显存为8GB, 已使用显存为2GB, 则当前图像处理器的总可用显存为6GB。 总分配 显存数量可以为预先设置好的数值, 也可以在当前应用启动时用人工设置。 0084 在步骤S23中, 若总可用显存数量大于总分配显存数量, 则判定当前应用配置文件 配置完成。 0085 在步骤S24中, 若总可用显存数量不大于总分配显存数量, 将总可用显存数量的值 赋予总分配显存数量。 0086 其中, 判断总可用显存数量是否大于总分配显存数量, 若总可。

31、用显存数量大于总 分配显存数量, 则判定当前应用配置文件配置完成, 若总可用显存数量不大于总分配显存 数量, 将总可用显存数量的值赋予总分配显存数量, 可以防止当总可用显存的数量小于总 分配显存时, 导致在申请显存判断时的判断错误。 0087 通过上述判断总可用显存数量是否大于总分配显存数量, 若总可用显存数量大于 总分配显存数量, 则判定当前应用配置文件配置完成, 若总可用显存数量不大于总分配显 存数量, 将总可用显存数量的值赋予总分配显存数量。 可以生成本申请的配置文件, 从而可 以在当前应用进行显存的申请时, 通过读取配置文件进行显存申请是否成功的判断。 0088 图3为本申请实施例的一。

32、种显存分配方法的另一种流程图, 包括以下步骤: 说明书 5/9 页 8 CN 111400035 A 8 0089 在步骤S11中, 在当前应用申请显存时, 获取当前应用申请的显存的数量, 得到待 申请显存数量。 0090 在步骤S12中, 读取当前应用对应的预设配置文件中的总分配显存数量和已使用 显存数量。 0091 其中, 总分配显存数量为预先设定的给当前应用分配的显存数量的上限, 已使用 显数量存为当前应用已经分配的显存数量。 0092 在步骤S13中, 判断待申请显存数量与已使用显存数量的和是否大于总分配显存 数量。 0093 在步骤S14中, 若待申请显存数量与已使用显存数量的和不大。

33、于总分配显存数量, 则为当前应用分配待申请显存数量的显存。 0094 在步骤S15中, 若待申请显存数量与已使用显存数量的和大于总分配显存数量, 则 向当前应用发送指定格式的显存不足信息。 0095 其中, 上述指定格式的显存不足信息可以为任意格式的信息, 若待申请显存数量 与已使用显存数量的和大于总分配显存数量, 则向当前应用发送指定格式的显存不足信 息, 可以通过上述应用进行判断是否继续进行显存的申请。 0096 可见, 通过针对显存进行控制, 可使得当前应用查得的可用显存小于GPGPU的全部 显存, 当应用申请的显存总数超过设定数值时, 阻止当前申请, 防止当前申请显存和已使用 显存之和。

34、大于GPGPU的显存, 导致争抢显存的现象, 保证多个应用可以共用一块GPGPU设备。 0097 在步骤S31中, 根据待申请显存数量对已使用显存数量进行更新。 0098 上述, 根据待申请显存数量对已使用显存数量进行更新, 可以待申请显存的数量 加上已申请显存的数量, 通过计算得到的更新后的已申请显存的数量。 0099 可选的, 上述方法还包括: 在当前应用释放显存时, 获取当前应用的显存释放的数 量, 得到显存释放数量; 根据显存释放数量更新已使用显存数量。 0100 可选的, 上述方法还包括: 进行显存的数量的修正, 如如果已使用显存数据变为负 数, 修正为零, 以应对部分驱动程序的设计。

35、疏漏。 0101 其中, 可选的, 用户界面采用CGroup, 以方便容器化应用使用, 通过cgroupfs暴露 出三个接口: mem.max, mem.cur, weight, 非容器场合也可以通过新建CGroup来使用这些接 口。 其中, cgroupfs为CGroup暴露到VFS(Linux虚拟文件系统)层的操作接口, 其中mem.max 用于查看和设置应用的总分配显存数量, mem.cur用于查看应用当前使用的显存数量, weight留作后续计算能力调度用途。 添加GPU CGroup, 通过vgpu_set和vgpu_show访问 vgpu_cfg_s, 与GPGPU驱动程序没有强耦。

36、合。 参见图4, 图4为本申请实施例的一种平台管理 程序部分的流程示意图。 包括: 步骤S41开始, 步骤S42接收新应用, 判断是否允许接收新应 用, 若允许执行步骤S44, 若不允许执行步骤S43, S43结束, S44, 创建CGroup实例, S45填充 mem.max, 向mem.max的进行总分配显存的赋值, S46启动应用程序, 初始化vgpu_cfg_s。 用户 态的执行在接收到新GPGPU应用的执行请求时, 先创建GPU CGroup,然后根据用户需求或平 台限额, 写入mem.max参数, 随后即可在该CGroup实例中创建新进程。 0102 可见, 通过本申请实施例的显存。

37、分配方法, 在当前应用申请显存时, 获取当前应用 申请的显存的数量, 得到待申请显存数量; 读取当前应用对应的预设配置文件中的总分配 显存数量和已使用显存数量; 判断待申请显存数量与已使用显存数量的和是否大于总分配 说明书 6/9 页 9 CN 111400035 A 9 显存数量; 若待申请显存数量与已使用显存数量的和不大于总分配显存数量, 则为当前应 用分配待申请显存数量的显存。 并可以在显存不足时向当前应用发送显存不足的信息, 从 而实现在根据应用的请求进行显存的分配, 在保证当前应用的显存使用的情况下, 防止出 现申请显存的数量超过GPGPU的全部显存, 导致出现争抢显存的情况, 从而。

38、保证各应用的显 存供应, 提高显存的使用效率。 0103 图5为本申请实施例的一种显存分配方法的一种实例图, 包括以下步骤: 0104 S51读取最大应用数设置, 初始化vgpu_cfg_s表; S52启动GPGPU应用; S53初始化 GPGPU上下文, 设置vgpu_cfg_s项; S54查询总显存; S55查询实际可用显存, 当大于vgpu_ cfg_s分配显存时执行S56, 当为其他情况执行S57; S56返回vgpu_cfg_s中的设置; S57返回 实际可用显存; S58继续执行, 判断是否继续执行, 当继续执行时执行S59, 当不继续执行时 执行S60; S59动作, 动作判断,。

39、 当执行完毕时执行S60, 当申请显存时执行S61, 当释放显存时 执行步骤S63; S60释放上下文, 重置vgpu_cfg_s项; S61申请显存, 判断申请的显存是否超过 限额, 当超过时执行S62, 当没超过时执行S58; S62继续, 判断是否继续执行, 若是则执行 S58, 若否则执行S60; S63释放显存, 判断是否释放显存, 当已用显存正常时执行步骤S58, 当 已用显存为负数执行步骤S64; S64重置已用显存。 其中由于现有GPU驱动程序缺陷可能导致 已用显存显示为负数, 通过重置已用显存可以进行显存修正。 0105 图6为本申请实施例的一种显存分配装置的一种结构示意图,。

40、 包括以下步骤: 0106 显存申请模块601, 用于在当前应用申请显存时, 获取当前应用申请的显存的数 量, 得到待申请显存数量。 0107 显存读取模块602, 用于读取当前应用对应的预设配置文件中的总分配显存数量 和已使用显存数量, 其中, 总分配显存数量为预先设定的给当前应用分配的显存数量的上 限, 已使用显数量存为当前应用已经分配的显存数量。 0108 显存判断模块603, 用于判断待申请显存数量与已使用显存数量的和是否大于总 分配显存数量。 0109 申请分配模块604, 用于若待申请显存数量与已使用显存数量的和不大于总分配 显存数量, 则为当前应用分配待申请显存数量的显存。 01。

41、10 信息发送模块605, 用于若待申请显存数量与已使用显存数量的和大于总分配显 存数量, 则向当前应用发送指定格式的显存不足信息。 0111 可选的, 上述装置还包括: 0112 文件创建模块, 用于启动当前应用, 创建当前应用配置文件, 其中, 配置文件包括 总分配显存数量和已使用显存数量, 总分配显存数量为给当前应用分配的显存数量的上 限, 初始状态下已使用显存数量的值为零; 0113 数量判断模块, 用于判断总可用显存数量是否大于总分配显存数量, 其中, 总可用 显存数量为图像处理器中尚未使用的显存数量; 0114 完成判定模块, 用于若总可用显存数量大于总分配显存数量, 则判定当前应。

42、用配 置文件配置完成。 0115 可选的, 上述装置还包括: 0116 显存赋值模块, 用于若总可用显存数量不大于总分配显存数量, 将总可用显存数 量的值赋予总分配显存数量。 说明书 7/9 页 10 CN 111400035 A 10 0117 可选的, 上述装置还包括: 0118 显存更新模块, 用于根据待申请显存数量对已使用显存数量进行更新。 0119 可选的, 上述装置还包括: 0120 释放信息模块, 用于在当前应用释放显存时, 获取当前应用的显存释放的数量, 得 到显存释放数量; 0121 数量更新模块, 用于根据显存释放数量更新已使用显存数量。 0122 可见, 通过本申请实施例。

43、的显存分配装置, 在当前应用申请显存时, 获取当前应用 申请的显存的数量, 得到待申请显存数量; 读取当前应用对应的预设配置文件中的总分配 显存数量和已使用显存数量; 判断待申请显存数量与已使用显存数量的和是否大于总分配 显存数量; 若待申请显存数量与已使用显存数量的和不大于总分配显存数量, 则为当前应 用分配待申请显存数量的显存。 从而实现在根据应用的请求进行显存的分配, 在保证当前 应用的显存使用的情况下, 防止出现申请显存的数量超过GPGPU的全部显存, 导致出现争抢 显存的情况, 从而保证各应用的显存供应, 提高显存的使用效率。 0123 本申请实施例还提供了一种电子设备, 如图7所示。

44、, 包括处理器701、 通信接口702、 存储器703和通信总线704, 其中, 处理器701, 通信接口702, 存储器703通过通信总线704完 成相互间的通信, 0124 存储器703, 用于存放计算机程序; 0125 处理器701, 用于执行存储器703上所存放的程序时, 实现如下步骤: 0126 在当前应用申请显存时, 获取当前应用申请的显存的数量, 得到待申请显存数量; 0127 读取当前应用对应的预设配置文件中的总分配显存数量和已使用显存数量, 其 中, 总分配显存数量为预先设定的给当前应用分配的显存数量的上限, 已使用显数量存为 当前应用已经分配的显存数量; 0128 判断待申。

45、请显存数量与已使用显存数量的和是否大于总分配显存数量; 0129 若待申请显存数量与已使用显存数量的和不大于总分配显存数量, 则为当前应用 分配待申请显存数量的显存; 0130 若待申请显存数量与已使用显存数量的和大于总分配显存数量, 则向当前应用发 送指定格式的显存不足信息。 0131 可选的, 上述处理器用于执行上述存储器存放的程序时, 还能够实现上述任一显 存分配方法。 0132 上述电 子设备提到的通信总线可以 是PCI (Peripheral Component Interconnect, 外设部件互连标准)总线或EISA(Extended Industry Standard Arc。

46、hitecture, 扩展工业标准结构)总线等。 该通信总线可以分为地址总线、 数据总线、 控制 总线等。 为便于表示, 图中仅用一条粗线表示, 但并不表示仅有一根总线或一种类型的总 线。 0133 通信接口用于上述电子设备与其他设备之间的通信。 0134 存储器可以包括RAM(Random Access Memory, 随机存取存储器), 也可以包括NVM (Non-Volatile Memory, 非易失性存储器), 例如至少一个磁盘存储器。 可选的, 存储器还可 以是至少一个位于远离前述处理器的存储装置。 0135 上述的处理器可以是通用处理器, 包括CPU(Central Proces。

47、sing Unit, 中央处理 说明书 8/9 页 11 CN 111400035 A 11 器)、 NP(Network Processor, 网络处理器)等; 还可以是DSP(Digital Signal Processor, 数字信号处理器)、 ASIC(Application Specific Integrated Circuit, 专用集成电路)、 FPGA(Field-Programmable Gate Array, 现场可编程门阵列)或者其他可编程逻辑器件、 分 立门或者晶体管逻辑器件、 分立硬件组件。 0136 本申请实施例还提供了一种计算机可读存储介质, 上述计算机可读存储介。

48、质内存 储有计算机程序, 上述计算机程序被处理器执行时实现如下步骤: 0137 在当前应用申请显存时, 获取当前应用申请的显存的数量, 得到待申请显存数量; 0138 读取当前应用对应的预设配置文件中的总分配显存数量和已使用显存数量, 其 中, 总分配显存数量为预先设定的给当前应用分配的显存数量的上限, 已使用显数量存为 当前应用已经分配的显存数量; 0139 判断待申请显存数量与已使用显存数量的和是否大于总分配显存数量; 0140 若待申请显存数量与已使用显存数量的和不大于总分配显存数量, 则为当前应用 分配待申请显存数量的显存。 0141 可选的, 上述计算机程序被处理器执行时, 还能够实。

49、现上述任一显存分配方法。 0142 需要说明的是, 在本文中, 诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来, 而不一定要求或者暗示这些实体或操作之间存 在任何这种实际的关系或者顺序。 而且, 术语 “包括” 、“包含” 或者其任何其他变体意在涵盖 非排他性的包含, 从而使得包括一系列要素的过程、 方法、 物品或者设备不仅包括那些要 素, 而且还包括没有明确列出的其他要素, 或者是还包括为这种过程、 方法、 物品或者设备 所固有的要素。 在没有更多限制的情况下, 由语句 “包括一个” 限定的要素, 并不排除在 包括所述要素的过程、 方法、 物品或者设备中。

50、还存在另外的相同要素。 0143 本说明书中的各个实施例均采用相关的方式描述, 各个实施例之间相同相似的部 分互相参见即可, 每个实施例重点说明的都是与其他实施例的不同之处。 尤其, 对于系统实 施例而言, 由于其基本相似于方法实施例, 所以描述的比较简单, 相关之处参见方法实施例 的部分说明即可。 0144 以上所述仅为本申请的较佳实施例而已, 并非用于限定本申请的保护范围。 凡在 本申请的精神和原则之内所作的任何修改、 等同替换、 改进等, 均包含在本申请的保护范围 内。 说明书 9/9 页 12 CN 111400035 A 12 图1 图2 说明书附图 1/4 页 13 CN 1114。

展开阅读全文
内容关键字: 显存 分配 方法 装置 电子设备 存储 介质
关于本文
本文标题:显存分配方法、装置、电子设备及存储介质.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/9185508.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1