CN111552554A - 基于图形库api代理的gpu虚拟化方法、系统及介质 - Google Patents
基于图形库api代理的gpu虚拟化方法、系统及介质 Download PDFInfo
- Publication number
- CN111552554A CN111552554A CN202010386295.6A CN202010386295A CN111552554A CN 111552554 A CN111552554 A CN 111552554A CN 202010386295 A CN202010386295 A CN 202010386295A CN 111552554 A CN111552554 A CN 111552554A
- Authority
- CN
- China
- Prior art keywords
- api
- library
- virtual machine
- gpu
- graphic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000009877 rendering Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000004891 communication Methods 0.000 claims description 14
- 230000001133 acceleration Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 19
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000012544 monitoring process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及GPU虚拟化与虚拟机技术,并具体公开了一种基于图形库API的GPU虚拟化方法、系统及介质。该方法不仅配置不具有GPU硬件资源的虚拟机,使其需要处理渲染任务时,调用其图形代理库的API并发出相应的调用通知;而且,还配置具有GPU硬件资源的虚拟机或主机,接收由其它虚拟机的调用通知,并根据接收到的调用通知,调用与图形代理库的API相对应的硬件加速图形库的API,从而通过GPU硬件资源处理其它虚拟机的渲染任务。因此,本发明能够将多个虚拟机共用一个GPU的虚拟化场景,转换为在一个虚拟机上的多个进程使用GPU的简单场景,具有硬件性能损失小且通用性好的优点。
Description
技术领域
本发明涉及GPU虚拟化与虚拟机技术,具体涉及一种基于图形库API的GPU虚拟化方法、系统及介质。
背景技术
Hypervisor叫做虚拟机监视器(Virtual Machine Monitor),是一种运行其他操作系统的操作系统。Hypervisor运行在物理硬件和操作系统之间的中间层操作系统,可允许多个操作系统和应用共享一套基础物理硬件,运行在Hypervisor之上的操作系统称之为客户机操作系统(Guest OS)。
由于多个Guest OS共享一套基础物理硬件,在硬件资源充足的情况下,每个GuestOS可单独使用一个独立的物理硬件资源,如每个Guest OS各自使用一块GPU硬件。当硬件资源不足的情况下,则需要将一个物理硬件进行虚拟化,供给多个Guest OS使用,即实际上是多个Guest OS竞争一个GPU硬件资源。
目前,市场上的部分高端GPU一般会自带有硬件虚拟化的功能,该功能的实现是通过硬件指令将一块GPU硬件虚拟化为多个独立的GPU供多个Guest OS使用,然而大部分低端GPU并不具有硬件虚拟化的功能,现有针对低端GPU的其他虚拟化方法,设计复杂、硬件性能损失大且通用性差。
因此,有必要设计一种硬件性能损失小且通用性好的GPU虚拟化方法。
发明内容
本发明的目的在于:提供一种硬件性能损失小且通用性好的GPU虚拟化方法。
为了达到上述目的,本发明解决技术问题所采用的技术方案如下:一种基于图形库API代理的GPU虚拟化方法,其包括:
配置不具有GPU硬件资源的虚拟机在其需要处理渲染任务时,调用其图形代理库的API并发出相应的调用通知;以及配置具有GPU硬件资源的虚拟机或主机,接收由其它虚拟机的所述调用通知,以及根据其接收到的所述调用通知,调用与所述图形代理库的API相对应的硬件加速图形库的API,以通过其具有的GPU硬件资源处理其它虚拟机的渲染任务。
根据一种具体的实施方式,本发明基于图形库API代理的GPU虚拟化方法还包括,配置Hypervisor提供的虚拟机之间的进程间通信为Socket通信。
根据一种具体的实施方式,本发明基于图形库API代理的GPU虚拟化方法中,所述调用通知包含其对应虚拟机的内存地址数据。
根据一种具体的实施方式,本发明基于图形库API代理的GPU虚拟化方法中,所述图形代理库的API集合与所述硬件加速图形库的API集合的函数命名与参数均一致。
进一步地,配置不具有GPU硬件资源的虚拟机使其无法创建硬件加速图形库运行的上下文;以及配置具有GPU硬件资源的虚拟机或主机根据其接收到的所述调用通知,创建硬件加速图形库运行的上下文。
基于与本发明公开的基于图形库API代理的GPU虚拟化方法相同的发明构思,在具体实施的一方面,本发明还提供一种基于图形库API代理的GPU虚拟化系统,其包括虚拟机和主机;其中,所述主机用于运行Hypervisor,为虚拟机之间提供进程间通信;
不具有GPU硬件资源的虚拟机,用于在需要处理渲染任务时,调用其图形代理库的API并发出相应的调用通知;
具有GPU硬件资源的虚拟机或所述主机,用于接收由其它虚拟机的所述调用通知,以及根据接收到的所述调用通知,调用与所述图形代理库的API相对应的硬件加速图形库的API,以通过其具有的GPU硬件资源处理其它虚拟机的渲染任务。
基于与本发明公开的基于图形库API代理的GPU虚拟化方法相同的发明构思,在具体实施的一方面,本发明还提供一种图像渲染方法,包括以下步骤:
虚拟机接收到渲染任务后,若该虚拟机不具有GPU硬件资源,则调用其图形代理库的API并发出相应的调用通知;
具有GPU硬件资源的虚拟机或主机接收到所述调用通知后,则根据接收到的所述调用通知,调用与所述图形代理库的API相对应的硬件加速图形库的API;并利用其GPU硬件资源处理其它虚拟机的渲染任务。
此外,本发明在具体实施的一方面,还提供一种可读存储介质,其上存储有一个或多个程序,其特征在于,该一个或多个程序被一个或多个处理器执行时实现本发明基于图形库API代理的GPU虚拟化方法或本发明的图像渲染方法。
综上所述,与现有技术相比,本发明的有益效果是:
本发明基于图形库API代理的GPU虚拟化方法,不仅配置不具有GPU硬件资源的虚拟机,使其需要处理渲染任务时,调用其图形代理库的API并发出相应的调用通知;而且,还配置具有GPU硬件资源的虚拟机或主机,接收由其它虚拟机的调用通知,并根据接收到的调用通知,调用与图形代理库的API相对应的硬件加速图形库的API,从而通过GPU硬件资源处理其它虚拟机的渲染任务。因此,本发明能够将多个虚拟机共用一个GPU的虚拟化场景,转换为在一个虚拟机上的多个进程使用GPU的简单场景,具有硬件性能损失小且通用性好的优点。
附图说明:
图1为本发明基于图形库API代理的GPU虚拟化系统的架构图;
图2为本发明基于图形库API代理的GPU虚拟化的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
如图1所示,本发明基于图形库API代理的GPU虚拟化系统的架构为在硬件上裸机运行两个Guest OS,且由一个Hypervisor对Guest OS进行控制。
本发明基于图形库API代理的GPU虚拟化系统主要包括:前端Guest OS(即不具有GPU硬件资源的虚拟机,可以为多个),后端Guest OS(即具有GPU硬件资源的虚拟机),主机上运行的Hypervisor,前端Guest OS的图形代理库,后端Guest OS的图形处理服务,以及相应的硬件资源。
具体的,前端Guest OS:不拥有真实的GPU物理硬件,无法直接操作GPU,也没有真实的图形输出设备,只能通过硬件加速图形库(如,OpenGL,DirectX等)的图形代理库,通知后端Guest OS进行图形运算和输出。即前端Guest OS能够在其需要处理渲染任务时,通过调用其图形代理库的API,而发出相应的调用通知至后端Guest OS。
后端Guest OS:拥有真实的GPU硬件资源,以及两套图形输出设备,一套图形输出设备用于自身的图形输出,另一套图形输出设备用于前端Guest OS的图形输出,以及实现前端Guest OS的图形代理库的图像处理服务。即后端Guest OS能够接收到由其它虚拟机的调用通知,并能够根据接收到的调用通知,调用与图形代理库的API相对应的硬件加速图形库的API,从而通过其具有的GPU硬件资源处理其它虚拟机的渲染任务。
主机上运行的Hypervisor:前后端Guest OS的虚拟机监视器,能够实现不同GuestOS之间的内存地址映射方法,以便于后端Guest OS能够直接访问前端Guest OS的内存数据,减少内存拷贝,提高通讯效率。而且,Hypervisor能够提供跨虚拟机的IPC(Inter-Process Communication,进程间通信)通讯能力,如Socket通信,能够实现前端Guest OS的图形代理库与后端Guest OS之间的快速通讯,此外还可采用其它的通信方式。虽然,本发明增加了前后端Guest OS通讯的开销,但实际上,GPU性能损失是很小的。
前端Guest OS的图形代理库:能够实现硬件加速图形库(如,OpenGL,DirectX等)的所有API接口,以替换硬件加速图形库,同时能够使前端Guest OS的App对底层变化无感知。实际上,图形代理库的API主要是实现代理的功能,即实现数据的传递,具体的渲染任务交由后端图形处理服务进行处理。为了提高效率,API的参数数据通过地址映射的方式传递到后端图形处理服务,中间不做大量的内存拷贝,通过Hypervisor提供的跨虚拟机通讯方式进行数据传递。
在实施时,前端Guest OS的图形代理库所声明的API集合与真实的硬件加速图形库的API集合保持一致,即图形代理库所声明的API集合中的每个API均分别与硬件加速图形库的API集合中的每个API的函数命名、参数保持一致,如此,前端Guest OS的App调用图形代理库的一个API后,在后端Guest OS将调用一个同名且参数一致的真实硬件加速图形库的API,即实现API级的一对一代理,这样就无须前端Guest OS的App不需要任何修改,保证了通用性。
后端图形处理服务:作为后端Guest OS的系统服务,监听与接收前端Guest OS的调用图形代理库的API时,发出的调用通知。并通过分析该调用通知,调用与前端Guest OS调用的图形代理库的API相应的硬件加速图形库的API,实现前端Guest OS对GPU的远程操作。最后使渲染结果显示在后端Guest OS指定的显示设备上。从外部来看,就像是后端Guest OS使用了显示设备1,前端Guest OS使用了显示设备2,但是实际上都是后端GuestOS在使用显示设备,前端Guest OS只是通过代理的方式远程操控了后端Guest OS的显示设备。
本发明基于图形库API代理的GPU虚拟化系统中,通过配置前端Guest OS,使其不具有创建硬件加速图形库运行的上下文的能力,这样前端Guest OS无法调用硬件加速图形库,只能通过调用图形代理库的API。同时,配置后端Guest OS能够根据其接收到的所述调用通知,创建硬件加速图形库运行的上下文,从而开启后端图形处理服务,进而完成前端Guest OS的渲染任务。
需要指出的是,图1所示的架构为通过后端Guest OS具有的GPU硬件资源实现对一个或多个前端Guest OS的GPU硬件资源共享,此外还有另一种架构,该架构通过主机具有的GPU硬件资源实现对一个或多个前端Guest OS的GPU硬件资源共享,两种架构的具体工作原理一致,即将后端Guest OS的数据交互过程替换成由主机来执行,此处不再赘述。
为了进一步说明本发明基于图形库API代理的GPU虚拟化方法,下面将结合图2所示的流程图,并在如图1所示的以linux+linux的双虚拟机的系统架构下,使用OpengGL ES代理库实现GPU虚拟化的场景,详细地说明本发明基于图形库API代理的GPU虚拟化方法的运作方式。
1、后端Guest OS启动后,自动启动后端图形处理服务。服务进程调用Hypervisor提供的API,监听前端Guest OS的消息通知。
2、前端Guest OS启动后,App调用EGL代理库的API(如eglGetDisplay,eglCreateWindowSurface等)创建显示环境的上下文。传入的eglGetDisplay和eglCreateWindowSurface的本地display和本地window的参数为后端图形处理服务可识别的句柄即可,以通知后端Guest OS创建对应的真实上下文环境。
3、EGL代理库将API调用传入的参数数据同API自身的识别码一起打包,然后调用Hypervisor提供的消息传递API,将打包数据经由Hypervisor,向后端Guest OS进行发送。
4、后端图形处理服务的监听到通知消息后,获取消息数据,进行分析,通过数据中的API识别码,调用对应API的处理流程。如eglGetDisplay的对应流程:
将解析出的native_display的数据进行分析,选择对应的后端本地display句柄作为参数,来调用后端真实的EGL库的eglGetDisplay,将返回数据打包,调用Hypervisor提供的消息传递API,返回给前端Guest OS。
其他的eglInitialize,eglCreateWindowSurface等上下文环境创建相关API的处理同理。
5、重复2,3,4步骤,直到在后端创建好显示环境的上下文。
6、前端Guest OS的App调用完EGL代理库,在后端创建好显示环境的上下文后,再调用OpenGL ES的代理库的API(如glShaderSource,glBindBuffer,glDrawArrays等等),进行图形渲染绘制。
7、OpenGL ES的代理库的API数据的打包和传递方式同步骤3。
8、后端图形处理服务的监听到通知消息后,获取消息数据,进行分析。通过数据中的API识别码,调用对应API的处理流程。如果该API的调用数据中包含前端Guest OS的内存指针数据的话,需要调用Hypervisor提供的不同虚拟机内存地址转换相关的API,将内存指针数据转换为后端Guest OS的内存地址。如glShaderSource的对应流程:
将解析出的第三个和第四个指针参数的数据转换为后端Guest OS的内存地址,然后再将参数传入后端真实OpenGL ES库的glShaderSource的调用中。将返回数据打包,调用Hypervisor提供的消息传递API,返回给前端Guest OS。
9、重复6,7,8步骤,直到前端的渲染流程完成。
10、前端Guest OS的App调用EGL代理库的eglSwapBuffers API,将渲染结果推送到显示设备中。display和surface两个参数都使用创建环境上下文时,后端图形处理服务返回的句柄。
11、EGL代理库的API数据的打包和传递方式同步骤3。
12、后端图形处理服务的监听到通知消息后,获取消息数据,进行分析。识别到是eglSwapBuffers的调用后,同样调用真实EGL库的eglSwapBuffers API,进行真正的显示buffer交换。根据后端实际的本地display和本地窗口环境的不同,对应的eglSwapBuffers的处理流程可能会有所不同。比如,如果是drm平台,可能还需要调用相应的drm接口来指定送显到对应的显示设备上。
此外,在具体实施的一方面,即在本发明基于图形库API代理的GPU虚拟化方法之上,增加执行渲染任务的步骤,从而实现图像渲染,该图像渲染方法包括以下步骤:
虚拟机接收到渲染任务后,若该虚拟机不具有GPU硬件资源,则调用其图形代理库的API并发出相应的调用通知;
具有GPU硬件资源的虚拟机或主机接收到所述调用通知后,则根据接收到的所述调用通知,调用与所述图形代理库的API相对应的硬件加速图形库的API;并利用其GPU硬件资源处理其它虚拟机的渲染任务。
而且,本发明在具体实施的一方面,还提供一种可读存储介质,如ROM存储设备、移动硬盘、U盘或者光盘等存储器,将一个或多个程序写入存储器中,并一个或多个处理器来执行该存储器中的程序。如此,当该存储器中的程序被处理器执行时实现本发明基于图形库API代理的GPU虚拟化方法或本发明的图像渲染方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
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所述的图像渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010386295.6A CN111552554A (zh) | 2020-05-09 | 2020-05-09 | 基于图形库api代理的gpu虚拟化方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010386295.6A CN111552554A (zh) | 2020-05-09 | 2020-05-09 | 基于图形库api代理的gpu虚拟化方法、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111552554A true CN111552554A (zh) | 2020-08-18 |
Family
ID=72000477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010386295.6A Pending CN111552554A (zh) | 2020-05-09 | 2020-05-09 | 基于图形库api代理的gpu虚拟化方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552554A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117519887A (zh) * | 2023-12-13 | 2024-02-06 | 南京云玑信息科技有限公司 | 一种提升云电脑远程操作体验的方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103270492A (zh) * | 2010-12-15 | 2013-08-28 | 国际商业机器公司 | 用于网络使能应用的硬件加速图形 |
CN103631634A (zh) * | 2012-08-24 | 2014-03-12 | 中国电信股份有限公司 | 实现图形处理器虚拟化的方法与装置 |
CN104272285A (zh) * | 2012-05-31 | 2015-01-07 | 英特尔公司 | 渲染多个远程图形应用程序 |
CN104737129A (zh) * | 2012-08-23 | 2015-06-24 | 思杰系统有限公司 | 用于对来宾虚拟机的硬件资源进行虚拟化的专用虚拟机 |
CN106406977A (zh) * | 2016-08-26 | 2017-02-15 | 山东乾云启创信息科技股份有限公司 | 一种gpu虚拟化实现系统及方法 |
CN108762934A (zh) * | 2018-06-02 | 2018-11-06 | 北京泽塔云科技股份有限公司 | 远程图形传输系统、方法及云服务器 |
CN109508212A (zh) * | 2017-09-13 | 2019-03-22 | 深信服科技股份有限公司 | 图形渲染方法、设备及计算机可读存储介质 |
CN109582425A (zh) * | 2018-12-04 | 2019-04-05 | 中山大学 | 一种基于云端与终端gpu融合的gpu服务重定向系统及方法 |
-
2020
- 2020-05-09 CN CN202010386295.6A patent/CN111552554A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103270492A (zh) * | 2010-12-15 | 2013-08-28 | 国际商业机器公司 | 用于网络使能应用的硬件加速图形 |
CN104272285A (zh) * | 2012-05-31 | 2015-01-07 | 英特尔公司 | 渲染多个远程图形应用程序 |
CN104737129A (zh) * | 2012-08-23 | 2015-06-24 | 思杰系统有限公司 | 用于对来宾虚拟机的硬件资源进行虚拟化的专用虚拟机 |
CN103631634A (zh) * | 2012-08-24 | 2014-03-12 | 中国电信股份有限公司 | 实现图形处理器虚拟化的方法与装置 |
CN106406977A (zh) * | 2016-08-26 | 2017-02-15 | 山东乾云启创信息科技股份有限公司 | 一种gpu虚拟化实现系统及方法 |
CN109508212A (zh) * | 2017-09-13 | 2019-03-22 | 深信服科技股份有限公司 | 图形渲染方法、设备及计算机可读存储介质 |
CN108762934A (zh) * | 2018-06-02 | 2018-11-06 | 北京泽塔云科技股份有限公司 | 远程图形传输系统、方法及云服务器 |
CN109582425A (zh) * | 2018-12-04 | 2019-04-05 | 中山大学 | 一种基于云端与终端gpu融合的gpu服务重定向系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117519887A (zh) * | 2023-12-13 | 2024-02-06 | 南京云玑信息科技有限公司 | 一种提升云电脑远程操作体验的方法及系统 |
CN117519887B (zh) * | 2023-12-13 | 2024-03-12 | 南京云玑信息科技有限公司 | 一种提升云电脑远程操作体验的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6140190B2 (ja) | 準仮想化された高性能コンピューティングおよびgdi高速化 | |
CN111488196B (zh) | 渲染方法及装置、存储介质、处理器 | |
CN105122210B (zh) | Gpu虚拟化的实现方法及相关装置和系统 | |
US7937452B2 (en) | Framework for rendering plug-ins in remote access services | |
US9665921B2 (en) | Adaptive OpenGL 3D graphics in virtual desktop infrastructure | |
CN102109997A (zh) | 通过利用虚拟OpenCL设备作为与计算云的接口来加速OpenCL应用 | |
CN111966504B (zh) | 图形处理器中的任务处理方法及相关设备 | |
US9507624B2 (en) | Notification conversion program and notification conversion method | |
CN113672387B (zh) | 一种基于绘图编程接口的远程调用图形渲染方法及其系统 | |
WO2021008183A1 (zh) | 数据传输方法、装置及服务器 | |
WO2021008185A1 (zh) | 数据传输方法、装置及服务器 | |
KR20140027741A (ko) | 응용 서비스 제공 시스템 및 방법, 응용 서비스를 위한 서버 장치 및 클라이언트 장치 | |
KR20230074802A (ko) | 클라우드 데스크탑의 디스플레이 방법 및 시스템 | |
KR20090123012A (ko) | 분산형 프로세싱 시스템 및 방법 | |
CN114116393A (zh) | 一种采集虚拟机的gpu性能数据的方法、装置和设备 | |
KR20120116771A (ko) | 단말의 다중 운영체제 구동장치 및 운영체제 전환방법 | |
WO2022041507A1 (zh) | 3d渲染方法及系统 | |
CN106991057B (zh) | 一种共享显卡虚拟化中内存的调用方法及虚拟化平台 | |
CN116860391A (zh) | Gpu算力资源调度方法、装置、设备和介质 | |
CN111552554A (zh) | 基于图形库api代理的gpu虚拟化方法、系统及介质 | |
CN113793246B (zh) | 图形处理器资源的使用方法及装置、电子设备 | |
CN113986466A (zh) | 一种面向云计算的gpu虚拟化系统和方法 | |
CN114968152A (zh) | 减少virtio-gpu额外性能损耗的方法 | |
CN113849449A (zh) | 一种通信系统和信息交互方法、设备和介质 | |
CN113379588A (zh) | 容器应用的渲染系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200818 |
|
RJ01 | Rejection of invention patent application after publication |