System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种GPU虚拟化方法、装置、设备及存储介质制造方法及图纸_技高网

一种GPU虚拟化方法、装置、设备及存储介质制造方法及图纸

技术编号:40836314 阅读:2 留言:0更新日期:2024-04-01 15:01
本申请公开了一种GPU虚拟化方法、装置、设备及存储介质,涉及虚拟化技术领域。该方法包括:根据容器组内应用程序运行的GPU任务,触发加载容器组中预配置的目标库文件;通过运行所述目标库文件截获所述容器组内所述应用程序发起的图像处理指令,并根据资源分配规则判断是否给所述容器组分配GPU资源,若判定给所述容器组分配GPU资源,则将所述图像处理指令转发给宿主机的任务调度组件;通过所述任务调度组件根据所述GPU任务对应的显存需求量为所述容器组分配相应的虚拟GPU资源,并将GPU输出的处理结果发送给所述容器组。优化了GPU虚拟化流程,提高GPU虚拟资源分配的灵活性。

【技术实现步骤摘要】

本专利技术涉及虚拟机,特别涉及一种gpu虚拟化方法、装置、设备及存储介质。


技术介绍

1、gpu(graphics processing unit,图形处理器,用于计算机图形渲染以及深度学习的训练过程和推理过程),gpu虚拟化技术是一种将物理gpu资源虚拟化成多个虚拟gpu资源,使得多个虚拟机能够共享使用同一个或多个gpu处理器进行图形运算的技术。相关技术中,gpu资源虚拟化需要编译较长代码执行gpu资源划分流程,降低了gpu虚拟化的效率。


技术实现思路

1、有鉴于此,本专利技术的目的在于提供一种gpu虚拟化方法、装置、设备及存储介质,能够提高gpu虚拟资源分配的灵活性。其具体方案如下:

2、第一方面,本申请公开了一种gpu虚拟化方法,包括:

3、根据容器组内应用程序运行的gpu任务,触发加载容器组中预配置的目标库文件;

4、通过运行所述目标库文件截获所述容器组内所述应用程序发起的图像处理指令,并根据资源分配规则判断是否给所述容器组分配gpu资源;

5、若判定给所述容器组分配gpu资源,则将所述图像处理指令转发给宿主机的任务调度组件;

6、通过所述任务调度组件根据所述gpu任务对应的显存需求量为所述容器组分配相应的虚拟gpu资源,并将gpu输出的处理结果发送给所述容器组。

7、可选的,所述根据资源分配规则判断是否给所述容器组分配gpu资源,包括:

8、获取容器组对应的总显存容量和剩余显存容量;>

9、通过对比所述剩余显存容量和所述图像处理指令对应的显存需求量,判断所述容器组是否需要再分配gpu资源;

10、若需要,则根据所述容器组对应的资源分配规则和所述容器组对应的总显存容量,判断所述容器组是否满足gpu资源分配条件;所述资源分配规则包含资源分配阈值;

11、若满足,则判定为所述容器组分配gpu资源。。

12、可选的,所述gpu虚拟化方法,还包括:

13、通过所述目标库文件拦截系统管理命令;所述系统管理命令用于查询gpu信息;

14、将所述系统管理命令中的宿主机进程id字段替换为容器进程id字段,以得到自定义查询命令;

15、通过执行所述自定义查询命令查询所述容器组对应的gpu进程id。

16、可选的,所述通过所述任务调度组件根据所述gpu任务对应的显存需求量为所述容器组分配相应的虚拟gpu资源之前,还包括:

17、通过所述任务调度组件建立所述宿主机与目标端口的连接;所述目标端口为所述容器组对应的端口;

18、利用所述宿主机与目标端口的连接对所述目标端口进行监听,获取所述容器组发送的消息;

19、根据所述消息的消息类型筛选出所述图像处理指令。

20、可选的,所述通过所述任务调度组件根据所述gpu任务对应的显存需求量为所述容器组分配相应的虚拟gpu资源,包括:

21、根据所述应用程序的性能要求从所有gpu中确定出目标gpu;

22、为所述容器组分配所述目标gpu对应的虚拟gpu资源。

23、可选的,所述gpu虚拟化方法,还包括:

24、在所述目标库文件和所述任务调度组件运行过程中,执行各自对应的程序报错处理;

25、所述目标库文件对应的程序报错处理包括监测所述容器组与所述宿主机的通信状态,若通信超时则停止运行所述目标库文件;所述任务调度组件对应的程序报错处理包括根据日志路径生成运行日志文件。

26、可选的,所述通过所述任务调度组件根据所述gpu任务对应的显存需求量为所述容器组分配相应的虚拟gpu资源,并将gpu输出的处理结果发送给所述容器组,包括:

27、通过所述任务调度组件,根据本地节点包含的gpu个数创建相应数量的消息处理线程;其中,一个消息处理线程对应一个gpu;

28、所述任务调度组件通过所述消息处理线程,监听每个所述gpu输出的处理结果,并将所述处理结果过转发给对应的所述容器组。

29、第二方面,本申请公开了一种gpu虚拟化装置,包括:

30、目标库文件加载模块,用于根据容器组内应用程序运行的gpu任务,触发加载容器组中预配置的目标库文件;

31、图像处理指令拦截模块,用于通过运行所述目标库文件截获所述容器组内所述应用程序发起的图像处理指令,并根据资源分配规则判断是否给所述容器组分配gpu资源;

32、图像处理指令转发模块,用于若判定给所述容器组分配gpu资源,则将所述图像处理指令转发给宿主机的任务调度组件;

33、资源分配模块,用于通过所述任务调度组件根据所述gpu任务对应的显存需求量为所述容器组分配相应的虚拟gpu资源,并将gpu输出的处理结果发送给所述容器组。

34、第三方面,本申请公开了一种电子设备,包括:

35、存储器,用于保存计算机程序;

36、处理器,用于执行所述计算机程序,以实现前述的gpu虚拟化方法。

37、第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的gpu虚拟化方法。

38、本申请中,根据容器组内应用程序运行的gpu任务,触发加载容器组中预配置的目标库文件;通过运行所述目标库文件截获所述容器组内所述应用程序发起的图像处理指令,并根据资源分配规则判断是否给所述容器组分配gpu资源,若判定给所述容器组分配gpu资源,则将所述图像处理指令转发给宿主机的任务调度组件;通过所述任务调度组件根据所述gpu任务对应的显存需求量为所述容器组分配相应的虚拟gpu资源,并将gpu输出的处理结果发送给所述容器组。

39、可见,通过被gpu任务被动调用加载的目标库文件,拦截容器组内应用程序发起的图像处理指令,并根据资源分配规则进行判断,在符合资源分配规则确定要为容器组分配gpu资源后,将图像处理指令转发给宿主机的任务调度组件,能够实现对gpu资源的控制;再由宿主机统一接收各容器组对应的图像处理任务,对各gpu任务对应容器组分配所需的虚拟gpu资源,每个应用程序可以在不干扰其他应用程序存在的情况下与gpu进行交互,确保了数据的安全性和隐私性。优化了gpu虚拟化流程,提高gpu虚拟资源分配的灵活性。

本文档来自技高网...

【技术保护点】

1.一种GPU虚拟化方法,其特征在于,包括:

2.根据权利要求1所述的GPU虚拟化方法,其特征在于,所述根据资源分配规则判断是否给所述容器组分配GPU资源,包括:

3.根据权利要求1所述的GPU虚拟化方法,其特征在于,所述通过所述任务调度组件根据所述GPU任务对应的显存需求量为所述容器组分配相应的虚拟GPU资源之后,还包括:

4.根据权利要求1所述的GPU虚拟化方法,其特征在于,所述通过所述任务调度组件根据所述GPU任务对应的显存需求量为所述容器组分配相应的虚拟GPU资源之前,还包括:

5.根据权利要求1所述的GPU虚拟化方法,其特征在于,所述通过所述任务调度组件根据所述GPU任务对应的显存需求量为所述容器组分配相应的虚拟GPU资源,包括:

6.根据权利要求1所述的GPU虚拟化方法,其特征在于,还包括:

7.根据权利要求1至6任一项所述的GPU虚拟化方法,其特征在于,所述通过所述任务调度组件根据所述GPU任务对应的显存需求量为所述容器组分配相应的虚拟GPU资源,并将GPU输出的处理结果发送给所述容器组,包括:

8.一种GPU虚拟化装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的GPU虚拟化方法。

...

【技术特征摘要】

1.一种gpu虚拟化方法,其特征在于,包括:

2.根据权利要求1所述的gpu虚拟化方法,其特征在于,所述根据资源分配规则判断是否给所述容器组分配gpu资源,包括:

3.根据权利要求1所述的gpu虚拟化方法,其特征在于,所述通过所述任务调度组件根据所述gpu任务对应的显存需求量为所述容器组分配相应的虚拟gpu资源之后,还包括:

4.根据权利要求1所述的gpu虚拟化方法,其特征在于,所述通过所述任务调度组件根据所述gpu任务对应的显存需求量为所述容器组分配相应的虚拟gpu资源之前,还包括:

5.根据权利要求1所述的gpu虚拟化方法,其特征在于,所述通过所述任务调度组件根据所述g...

【专利技术属性】
技术研发人员:孙汉源
申请(专利权)人:苏州元脑智能科技有限公司
类型:发明
国别省市:

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

1