预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN111552554A(43)申请公布日2020.08.18(21)申请号202010386295.6(22)申请日2020.05.09(71)申请人中瓴智行(成都)科技有限公司地址610000四川省成都市高新区拓新东街81号2栋1单元3层4号(72)发明人陈绪戈邓华利(74)专利代理机构成都创新引擎知识产权代理有限公司51249代理人向群(51)Int.Cl.G06F9/48(2006.01)G06F9/455(2006.01)G06F9/451(2018.01)G06F9/50(2006.01)G06F9/54(2006.01)权利要求书1页说明书5页附图2页(54)发明名称基于图形库API代理的GPU虚拟化方法、系统及介质(57)摘要本发明涉及GPU虚拟化与虚拟机技术,并具体公开了一种基于图形库API的GPU虚拟化方法、系统及介质。该方法不仅配置不具有GPU硬件资源的虚拟机,使其需要处理渲染任务时,调用其图形代理库的API并发出相应的调用通知;而且,还配置具有GPU硬件资源的虚拟机或主机,接收由其它虚拟机的调用通知,并根据接收到的调用通知,调用与图形代理库的API相对应的硬件加速图形库的API,从而通过GPU硬件资源处理其它虚拟机的渲染任务。因此,本发明能够将多个虚拟机共用一个GPU的虚拟化场景,转换为在一个虚拟机上的多个进程使用GPU的简单场景,具有硬件性能损失小且通用性好的优点。CN111552554ACN111552554A权利要求书1/1页1.一种基于图形库API代理的GPU虚拟化方法,其特征在于,包括:配置不具有GPU硬件资源的虚拟机在其需要处理渲染任务时,调用其图形代理库的API并发出相应的调用通知;以及配置具有GPU硬件资源的虚拟机或主机,接收由其它虚拟机的所述调用通知,以及根据其接收到的所述调用通知,调用与所述图形代理库的API相对应的硬件加速图形库的API,以通过其具有的GPU硬件资源处理其它虚拟机的渲染任务。2.如权利要求1所述的一种基于图形库API代理的GPU虚拟化方法,其特征在于,配置Hypervisor提供的虚拟机之间的进程间通信为Socket通信。3.如权利要求1所述的一种基于图形库API代理的GPU虚拟化方法,其特征在于,所述调用通知包含其对应虚拟机的内存地址数据。4.如权利要求1所述的一种基于图形库API代理的GPU虚拟化方法,其特征在于,所述图形代理库的API集合与所述硬件加速图形库的API集合的函数命名与参数均一致。5.如权利要求4所述的一种基于图形库API代理的GPU虚拟化方法,其特征在于,配置不具有GPU硬件资源的虚拟机使其无法创建硬件加速图形库运行的上下文;以及配置具有GPU硬件资源的虚拟机或主机根据其接收到的所述调用通知,创建硬件加速图形库运行的上下文。6.一种基于图形库API代理的GPU虚拟化系统,其特征在于,包括虚拟机和主机;其中,所述主机用于运行Hypervisor,为虚拟机之间提供进程间通信;不具有GPU硬件资源的虚拟机,用于在需要处理渲染任务时,调用其图形代理库的API并发出相应的调用通知;具有GPU硬件资源的虚拟机或所述主机,用于接收由其它虚拟机的所述调用通知,以及根据接收到的所述调用通知,调用与所述图形代理库的API相对应的硬件加速图形库的API,以通过其具有的GPU硬件资源处理其它虚拟机的渲染任务。7.一种图像渲染方法,其特征在于,包括以下步骤:虚拟机接收到渲染任务后,若该虚拟机不具有GPU硬件资源,则调用其图形代理库的API并发出相应的调用通知;具有GPU硬件资源的虚拟机或主机接收到所述调用通知后,则根据接收到的所述调用通知,调用与所述图形代理库的API相对应的硬件加速图形库的API;并利用其GPU硬件资源处理其它虚拟机的渲染任务。8.一种可读存储介质,其上存储有一个或多个程序,其特征在于,该一个或多个程序被一个或多个处理器执行时实现权利要求1~5任一项所述的基于图形库API代理的GPU虚拟化方法或如权利要求7所述的图像渲染方法。2CN111552554A说明书1/5页基于图形库API代理的GPU虚拟化方法、系统及介质技术领域[0001]本发明涉及GPU虚拟化与虚拟机技术,具体涉及一种基于图形库API的GPU虚拟化方法、系统及介质。背景技术[0002]Hypervisor叫做虚拟机监视器(VirtualMachineMonitor),是一种运行其他操作系统的操作系统。Hypervisor运行在物理硬件和操作系统之间的中间层操作系统,可允许多个操作系统和应用共享一套基础物理硬件,运行在Hypervisor之上的操作系统称之为客户机操作系统(GuestOS)。[0003]由于多个Guest