CN111522670A - 一种用于Android系统的GPU虚拟化方法、系统及介质 - Google Patents
一种用于Android系统的GPU虚拟化方法、系统及介质 Download PDFInfo
- Publication number
- CN111522670A CN111522670A CN202010385953.XA CN202010385953A CN111522670A CN 111522670 A CN111522670 A CN 111522670A CN 202010385953 A CN202010385953 A CN 202010385953A CN 111522670 A CN111522670 A CN 111522670A
- Authority
- CN
- China
- Prior art keywords
- gpu
- virtual machine
- rendering
- android system
- android
- 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
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/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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
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)
Abstract
本发明涉及GPU虚拟化与虚拟机技术,并具体公开了一种用于Android系统的GPU虚拟化方法、系统及介质。该方法通过配置Android系统的虚拟机,使其在需要处理渲染任务时,调用OpenGL库的API并通过virtio‑gpu将相应渲染指令发送至具有GPU硬件资源的虚拟机;以及通过配置具有GPU硬件资源的虚拟机,使其通过virtio‑gpu接收其它Android系统的虚拟机发送的渲染指令,以及通过解析所接收到的渲染指令,而相应地调用OpenGL库的API,以使其具有的GPU硬件资源处理其它Android系统的虚拟机的渲染任务。因此,本发明能够在Android系统没有GPU硬件资源的情况下,通过GPU虚拟化快速地实现复杂的图形渲染,而且,并没有改变Android系统的图形绘制框架,不仅保证了系统的兼容性,还是实现了跨芯片平台的应用。
Description
技术领域
本发明涉及GPU虚拟化与Android系统开发技术,具体涉及一种用于Android系统的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,但大多GPU软件虚拟化方法都是应用于linux系统,未有应用于Android系统。
因此,有必要设计一种适用于Android系统的GPU虚拟化方法。
发明内容
本发明的目的在于:基于Hypervisor技术一个处理器运行两个操作系统(其中一个系统为Android)或多个操作系统,在只Android系统没有可供使用的GPU硬件资源的前提下,提供一种适用于Android系统的GPU虚拟化方法,能够在Android端通过虚拟GPU访问后端硬件GPU实现图形的渲染。
为了达到上述目的,本发明解决技术问题所采用的技术方案如下:一种用于Android系统的GPU虚拟化方法,其特征在于,包括:
配置Android系统的虚拟机在其需要处理渲染任务时,调用其OpenGL库的API并将相应渲染指令发送至其virtio-gpu;
配置具有GPU硬件资源的虚拟机,通过其virtio-gpu驱动接收由其它Android系统的虚拟机的virtio-gpu发送的渲染指令,以及解析所接收到的每个渲染指令,并相应地调用其OpenGL库的API,以使其具有的GPU硬件资源处理其它Android系统的虚拟机的渲染任务。
根据一种具体的实施方式,本发明用于Android系统的GPU虚拟化方法还包括,配置Android系统的虚拟机的OpenGL库为Mesa库。
根据一种具体的实施方式,本发明用于Android系统的GPU虚拟化方法还包括,配置Android系统的虚拟机的gralloc模块,使所述gralloc模块通过所述virtio-gpu分配共享内存。
根据一种具体的实施方式,本发明用于Android系统的GPU虚拟化方法还包括,配置Android系统的虚拟机的libEGL库文件,以在调用其OpenGL库的API之前,判定是否有GPU硬件资源存在。
根据一种具体的实施方式,本发明用于Android系统的GPU虚拟化方法中,Android系统的虚拟机与具有GPU硬件资源的虚拟机之间的virtio-gpu数据交互通过Hypervisor实现。
基于与本发明公开的用于Android系统的GPU虚拟化方法相同的发明构思,在具体实施的一方面,本发明还提供一种用于Android系统的GPU虚拟化系统,其包括虚拟机和主机;其中,所述主机用于运行Hypervisor,以实现Android系统的虚拟机与具有GPU硬件资源的虚拟机之间的virtio-gpu数据交互;
Android系统的虚拟机,用于在需要处理渲染任务时,调用OpenGL库的API并通过virtio-gpu将相应渲染指令发送至具有GPU硬件资源的虚拟机;
具有GPU硬件资源的虚拟机,用于通过virtio-gpu接收其它Android系统的虚拟机发送的渲染指令,以及通过解析所接收到的渲染指令,而相应地调用OpenGL库的API,以使其具有的GPU硬件资源处理其它Android系统的虚拟机的渲染任务。
基于与本发明公开的用于Android系统的GPU虚拟化方法相同的发明构思,在具体实施的一方面,本发明还提供一种图像渲染方法,包括以下步骤:
Android系统的虚拟机接收到渲染任务后,调用其OpenGL库的API并将相应渲染指令发送至其virtio-gpu;
具有GPU硬件资源的虚拟机通过virtio-gpu接收其它Android系统的虚拟机发送的渲染指令,并通过解析所接收到的渲染指令,而相应地调用OpenGL库的API,使其具有的GPU硬件资源处理其它Android系统的虚拟机的渲染任务,并将渲染结果返回至相应的Android系统的虚拟机。
此外,本发明在具体实施的一方面,还提供一种可读存储介质,其上存储有一个或多个程序,其特征在于,该一个或多个程序被一个或多个处理器执行时实现本发明用于Android系统的GPU虚拟化方法或本发明的图像渲染方法。
综上所述,与现有技术相比,本发明的有益效果是:
本发明用于Android系统的GPU虚拟化方法,通过配置Android系统的虚拟机,使其在需要处理渲染任务时,调用OpenGL库的API并通过virtio-gpu将相应渲染指令发送至具有GPU硬件资源的虚拟机;以及,通过配置具有GPU硬件资源的虚拟机,使其通过virtio-gpu接收其它Android系统的虚拟机发送的渲染指令,以及通过解析所接收到的渲染指令,而相应地调用OpenGL库的API,以使其具有的GPU硬件资源处理其它Android系统的虚拟机的渲染任务。因此,本发明能够在Android系统没有GPU硬件资源的情况下,通过GPU虚拟化快速地实现复杂的图形渲染,而且,并没有改变Android系统的图形绘制框架,不仅保证了系统的兼容性,还是实现了跨芯片平台的应用。
附图说明:
图1为本发明用于Android系统的GPU虚拟化系统的架构图;
图2为物理GPU与本发明的虚拟GPU的渲染过程示意图;
图3为本发明Android系统的虚拟机初始化的流程示意图;
图4为本发明Android系统的虚拟机渲染过程的流程示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
如图1所示,本发明用于Android系统的GPU虚拟化系统的架构为在硬件上裸机运行两个Guest OS,其中前端的系统为Android,后端的系统为linux系统,且由一个Hypervisor对Guest OS进行控制。
本发明用于Android系统的GPU虚拟化系统主要包括:前端Guest OS(即不具有GPU硬件资源的Android系统的虚拟机,可以为多个),后端Guest OS(即具有GPU硬件资源的虚拟机),主机上运行的Hypervisor,后端Guest OS的图形命令处理服务,以及相应的硬件资源。
具体的,所述主机用于运行Hypervisor,以实现Android系统的虚拟机与具有GPU硬件资源的虚拟机之间的virtio-gpu数据交互;即前端Guest OS的virtio-gpu与后端Guest OS的通信管理机制由Hypervisor构建,从而实现前端Guest OS与后端Guest OS之间的virtio-gpu通信。
其中,在前端Guest OS,App经由OpenGL库(mesa库)通过virtio-gpu访问后端Guest OS的物理GPU。Mesa库是开源的OpenGL库,支持EGL、OpenGLES接口,支持绝大部分型号的GPU,包括virtio-gpu。
后端Guest OS的linux kernel在4.4以上的版本支持virtio-gpu,通过标准的drm(直接渲染管理器Direct Rendering Manager)是给予DRI(基层直接渲染)客户端直接访问硬件的内核模块的接口,支持渲染及图形内存管理功能。
因此,本发明用于Android系统的GPU虚拟化系统中,virtio-gpu由前端显卡和后端显卡组成,前端显卡(virtio-gpu驱动)运行在Android的内核,后端显卡(virtio-gpu驱动)运行在linux的内核。
而且,前端Guest OS被配置为在需要处理渲染任务时,调用OpenGL库的API并通过virtio-gpu将相应渲染指令发送至后端Guest OS。
后端Guest OS被配置为通过virtio-gpu接收其它Android系统的虚拟机发送的渲染指令,以及通过解析所接收到的渲染指令,而相应地调用OpenGL库的API,以使其具有的GPU硬件资源处理前端Guest OS的渲染任务。
因此,前端Guest OS调用的OpenGL命令,经过virtio-gpu转换传递,从而在后端Guest OS代理前端Guest OS的OpenGL绘制命令,最终由后端Guest OS的OpenGL直接访问物理GPU,实现虚拟GPU访问物理GPU。
如图2所示,前端Guest OS上应用访问GPU是通过标准图形接口OpenGL,应用对使用的GPU变化无感。与原生Android对比,只有OpenGL库和驱动的区别,即物理GPU使用厂商提供的OpenGL库,虚拟GPU使用的OpenGL库为开源的mesa库,实际上,对系统渲染流程和框架影响不大。
具体的,在本发明用于Android系统的GPU虚拟化方案中,还进一步配置前端GuestOS的gralloc模块(图形缓冲区管理器),使该gralloc模块通过virtio-gpu分配共享内存。即gralloc模块通过virtio-gpu分配共享内存,可以确保前端Guest OS和后端Guest OS之间在渲染过程中图像零拷贝。
在本发明用于Android系统的GPU虚拟化方案中,还进一步配置前端Guest OS的libEGL库文件,以在调用libandroid_mesa之前,判定是否有GPU硬件资源存在。具体的图3所示,前端Guest OS的初始化流程包括:
步骤1,应用启动,hwui(负责Android渲染任务分发)初始化,包括独立的绘制线程和OpenGL的初始化(libEGL的初始化)。
步骤2,libEGL是Android实现的OpenGL的代理,初始化时判定是否有物理GPU存在,如果没有,则选择加载mesa库。如果有,则正常进入图2所示的物理GPU的初始化流程,相关流程为现有技术方案,此处不再赘述。
步骤3,mesa初始化,打开virtio-gpu的drm设备,初始化virtio-gpu。
再如图4所示,前端Guest OS的渲染过程包括:
步骤1,Android应用更新,触发渲染(即需要处理渲染任务),调用hwui的draw(绘制)。
步骤2,hwui把应用的绘制请求和参数转换成OpenGL接口,通过mesa下发绘制命令。
步骤3,mesa把OpenGL的接口及参数打包,发送数据到virtio-gpu驱动。
步骤4,前端Guest OS的virtio-gpu与后端Guest OS的virtio-gpu进行通信,将相应渲染指令发送至后端Guest OS后端。
然后,后端Guest OS通过virtio-gpu接收到前端Guest OS的virtio-gpu发送的渲染指令,然后通过后端Guest OS的图形命令处理服务解析所接收到的渲染指令,从而相应地调用OpenGL库的API,然后,通过具有的GPU硬件资源处理前端Guest OS的渲染任务。
此外,在具体实施的一方面,即在本发明用于Android系统的GPU虚拟化之上,增加执行渲染任务的步骤,从而实现图像渲染,该图像渲染方法包括以下步骤:
Android系统的虚拟机接收到渲染任务后,调用OpenGL库的API并通过virtio-gpu将相应渲染指令发送至具有GPU硬件资源的虚拟机;
具有GPU硬件资源的虚拟机通过virtio-gpu接收其它Android系统的虚拟机发送的渲染指令,并通过解析所接收到的渲染指令,而相应地调用OpenGL库的API,使其具有的GPU硬件资源处理其它Android系统的虚拟机的渲染任务,并将渲染结果返回至相应的Android系统的虚拟机。
而且,本发明在具体实施的一方面,还提供一种可读存储介质,如ROM存储设备、移动硬盘、U盘或者光盘等存储器,将一个或多个程序写入存储器中,并一个或多个处理器来执行该存储器中的程序。如此,当该存储器中的程序被处理器执行时实现本发明用于Android系统的GPU虚拟化方法或本发明的图像渲染方法
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种用于Android系统的GPU虚拟化方法,其特征在于,包括:
配置Android系统的虚拟机,使其在需要处理渲染任务时,调用OpenGL库的API并通过virtio-gpu将相应渲染指令发送至具有GPU硬件资源的虚拟机;
配置具有GPU硬件资源的虚拟机,使其通过virtio-gpu接收其它Android系统的虚拟机发送的渲染指令,以及通过解析所接收到的渲染指令,而相应地调用OpenGL库的API,以使其具有的GPU硬件资源处理其它Android系统的虚拟机的渲染任务。
2.如权利要求1所述的一种用于Android系统的GPU虚拟化方法,其特征在于,配置Android系统的虚拟机的OpenGL库为Mesa库。
3.如权利要求1所述的一种用于Android系统的GPU虚拟化方法,其特征在于,配置Android系统的虚拟机的gralloc模块,使所述gralloc模块通过所述virtio-gpu分配共享内存。
4.如权利要求1所述的一种用于Android系统的GPU虚拟化方法,其特征在于,配置Android系统的虚拟机的libEGL库文件,以在调用其OpenGL库的API之前,判定是否有GPU硬件资源存在。
5.如权利要求1~4任一项所述的一种用于Android系统的GPU虚拟化方法,其特征在于,Android系统的虚拟机与具有GPU硬件资源的虚拟机之间的virtio-gpu数据交互通过Hypervisor实现。
6.一种用于Android系统的GPU虚拟化系统,其特征在于,包括虚拟机和主机;其中,所述主机用于运行Hypervisor,以实现Android系统的虚拟机与具有GPU硬件资源的虚拟机之间的virtio-gpu数据交互;
Android系统的虚拟机,用于在需要处理渲染任务时,调用OpenGL库的API并通过virtio-gpu将相应渲染指令发送至具有GPU硬件资源的虚拟机;
具有GPU硬件资源的虚拟机,用于通过virtio-gpu接收其它Android系统的虚拟机发送的渲染指令,以及通过解析所接收到的渲染指令,而相应地调用OpenGL库的API,以使其具有的GPU硬件资源处理其它Android系统的虚拟机的渲染任务。
7.一种图像渲染方法,其特征在于,包括以下步骤:
Android系统的虚拟机接收到渲染任务后,调用OpenGL库的API并通过virtio-gpu将相应渲染指令发送至具有GPU硬件资源的虚拟机;
具有GPU硬件资源的虚拟机通过virtio-gpu接收其它Android系统的虚拟机发送的渲染指令,并通过解析所接收到的渲染指令,而相应地调用OpenGL库的API,使其具有的GPU硬件资源处理其它Android系统的虚拟机的渲染任务,并将渲染结果返回至相应的Android系统的虚拟机。
8.一种可读存储介质,其上存储有一个或多个程序,其特征在于,该一个或多个程序被一个或多个处理器执行时实现权利要求1~5任一项所述的用于Android系统的GPU虚拟化方法或如权利要求7所述的图像渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010385953.XA CN111522670A (zh) | 2020-05-09 | 2020-05-09 | 一种用于Android系统的GPU虚拟化方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010385953.XA CN111522670A (zh) | 2020-05-09 | 2020-05-09 | 一种用于Android系统的GPU虚拟化方法、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111522670A true CN111522670A (zh) | 2020-08-11 |
Family
ID=71912246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010385953.XA Pending CN111522670A (zh) | 2020-05-09 | 2020-05-09 | 一种用于Android系统的GPU虚拟化方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522670A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200712A (zh) * | 2020-09-08 | 2021-01-08 | 成都安易迅科技有限公司 | Gles图像渲染方法及装置、存储介质、计算机设备 |
CN112328356A (zh) * | 2020-10-21 | 2021-02-05 | 成都安易迅科技有限公司 | Android与Windows的互通方法、装置、存储介质及计算机设备 |
CN112860364A (zh) * | 2021-02-07 | 2021-05-28 | 麒麟软件有限公司 | 一种基于Linux内核的Android图形显示方法 |
CN113240571A (zh) * | 2021-05-07 | 2021-08-10 | 西安万像电子科技有限公司 | 图像处理系统、方法 |
WO2022108363A1 (ko) * | 2020-11-19 | 2022-05-27 | 주식회사 제이엘케이 | 윈도우즈 운영체제 환경에서 리눅스 운영체제용 응용 소프트웨어의 실행 방법, 이를 실행하는 프로그램을 저장한 기록 매체 |
CN114758047A (zh) * | 2022-06-14 | 2022-07-15 | 海马云(天津)信息技术有限公司 | 服务器与基于服务器的图形渲染方法 |
CN114756334A (zh) * | 2022-06-14 | 2022-07-15 | 海马云(天津)信息技术有限公司 | 服务器与基于服务器的图形渲染方法 |
CN115686758A (zh) * | 2023-01-03 | 2023-02-03 | 麒麟软件有限公司 | 一种基于帧统计的VirtIO-GPU性能可控方法 |
CN116797707A (zh) * | 2023-06-26 | 2023-09-22 | 成都中科合迅科技有限公司 | 基于操作系统适配的界面图形渲染方法和系统 |
CN117992237A (zh) * | 2024-03-18 | 2024-05-07 | 麒麟软件有限公司 | 一种基于virgl图形技术栈的渲染API转发方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170161865A1 (en) * | 2013-10-28 | 2017-06-08 | Vmware, Inc. | Method and System to Virtualize Graphic Processing Services |
CN107003892A (zh) * | 2016-12-29 | 2017-08-01 | 深圳前海达闼云端智能科技有限公司 | Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品 |
CN107077377A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品 |
CN109643291A (zh) * | 2016-09-29 | 2019-04-16 | 英特尔公司 | 用于在虚拟化执行环境中高效使用图形处理资源的方法和设备 |
CN110442389A (zh) * | 2019-08-07 | 2019-11-12 | 北京技德系统技术有限公司 | 一种多桌面环境共享使用gpu的方法 |
-
2020
- 2020-05-09 CN CN202010385953.XA patent/CN111522670A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170161865A1 (en) * | 2013-10-28 | 2017-06-08 | Vmware, Inc. | Method and System to Virtualize Graphic Processing Services |
CN109643291A (zh) * | 2016-09-29 | 2019-04-16 | 英特尔公司 | 用于在虚拟化执行环境中高效使用图形处理资源的方法和设备 |
CN107003892A (zh) * | 2016-12-29 | 2017-08-01 | 深圳前海达闼云端智能科技有限公司 | Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品 |
CN107077377A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品 |
CN110442389A (zh) * | 2019-08-07 | 2019-11-12 | 北京技德系统技术有限公司 | 一种多桌面环境共享使用gpu的方法 |
Non-Patent Citations (1)
Title |
---|
张凯华: "基于桌面云的GPU设备虚拟化设计与实现" * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200712A (zh) * | 2020-09-08 | 2021-01-08 | 成都安易迅科技有限公司 | Gles图像渲染方法及装置、存储介质、计算机设备 |
CN112200712B (zh) * | 2020-09-08 | 2023-10-27 | 成都安易迅科技有限公司 | Gles图像渲染方法及装置、存储介质、计算机设备 |
CN112328356A (zh) * | 2020-10-21 | 2021-02-05 | 成都安易迅科技有限公司 | Android与Windows的互通方法、装置、存储介质及计算机设备 |
CN112328356B (zh) * | 2020-10-21 | 2023-09-29 | 成都安易迅科技有限公司 | Android与Windows的互通方法、装置、存储介质及计算机设备 |
WO2022108363A1 (ko) * | 2020-11-19 | 2022-05-27 | 주식회사 제이엘케이 | 윈도우즈 운영체제 환경에서 리눅스 운영체제용 응용 소프트웨어의 실행 방법, 이를 실행하는 프로그램을 저장한 기록 매체 |
CN112860364A (zh) * | 2021-02-07 | 2021-05-28 | 麒麟软件有限公司 | 一种基于Linux内核的Android图形显示方法 |
CN113240571A (zh) * | 2021-05-07 | 2021-08-10 | 西安万像电子科技有限公司 | 图像处理系统、方法 |
CN114758047A (zh) * | 2022-06-14 | 2022-07-15 | 海马云(天津)信息技术有限公司 | 服务器与基于服务器的图形渲染方法 |
CN114756334A (zh) * | 2022-06-14 | 2022-07-15 | 海马云(天津)信息技术有限公司 | 服务器与基于服务器的图形渲染方法 |
CN114758047B (zh) * | 2022-06-14 | 2022-09-13 | 海马云(天津)信息技术有限公司 | 服务器与基于服务器的图形渲染方法 |
CN115686758A (zh) * | 2023-01-03 | 2023-02-03 | 麒麟软件有限公司 | 一种基于帧统计的VirtIO-GPU性能可控方法 |
CN115686758B (zh) * | 2023-01-03 | 2023-03-21 | 麒麟软件有限公司 | 一种基于帧统计的VirtIO-GPU性能可控方法 |
CN116797707A (zh) * | 2023-06-26 | 2023-09-22 | 成都中科合迅科技有限公司 | 基于操作系统适配的界面图形渲染方法和系统 |
CN116797707B (zh) * | 2023-06-26 | 2024-01-30 | 成都中科合迅科技有限公司 | 基于操作系统适配的界面图形渲染方法和系统 |
CN117992237A (zh) * | 2024-03-18 | 2024-05-07 | 麒麟软件有限公司 | 一种基于virgl图形技术栈的渲染API转发方法 |
CN117992237B (zh) * | 2024-03-18 | 2024-06-21 | 麒麟软件有限公司 | 一种基于virgl图形技术栈的渲染API转发方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522670A (zh) | 一种用于Android系统的GPU虚拟化方法、系统及介质 | |
US7937701B2 (en) | ACPI communication between virtual machine monitor and policy virtual machine via mailbox | |
US10310879B2 (en) | Paravirtualized virtual GPU | |
JP4921384B2 (ja) | メモリを1台のバーチャル・マシンからもう一方へダイナミックに再割り当てする方法、装置及びシステム | |
US8001543B2 (en) | Direct-memory access between input/output device and physical memory within virtual machine environment | |
US7203941B2 (en) | Associating a native resource with an application | |
US7613847B2 (en) | Partially virtualizing an I/O device for use by virtual machines | |
KR101521778B1 (ko) | 가상화 환경에서 i/o 동작을 처리하는 방법 및 장치 | |
US20180246810A1 (en) | Transparent Host-Side Caching of Virtual Disks Located on Shared Storage | |
EP2479666B1 (en) | Methods and systems to display platform graphics during operating system initialization | |
US20120054740A1 (en) | Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments | |
US10620963B2 (en) | Providing fallback drivers for IO devices in a computing system | |
US20130293557A1 (en) | Server based graphics processing techniques | |
Fingler et al. | DGSF: Disaggregated GPUs for serverless functions | |
CN111213127B (zh) | 用于直接分配的设备的虚拟化操作 | |
US20170147370A1 (en) | Pci slot hot-addition deferral for multi-function devices | |
WO2021008185A1 (zh) | 数据传输方法、装置及服务器 | |
US20190310874A1 (en) | Driver management method and host | |
US20070011444A1 (en) | Method, apparatus and system for bundling virtualized and non-virtualized components in a single binary | |
KR101993917B1 (ko) | 멀티-환경 컴퓨팅 시스템 내의 자원 사용의 최적화 | |
WO2022041507A1 (zh) | 3d渲染方法及系统 | |
KR102001641B1 (ko) | 가상화 환경에서의 gpu 자원 관리 방법 및 장치 | |
US9851992B2 (en) | Paravirtulized capability for device assignment | |
US20210133914A1 (en) | Multiple o/s virtual video platform | |
Fingler et al. | Disaggregated GPU Acceleration for Serverless Applications |
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 |