[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN111522670A - 一种用于Android系统的GPU虚拟化方法、系统及介质 - Google Patents

一种用于Android系统的GPU虚拟化方法、系统及介质 Download PDF

Info

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
Application number
CN202010385953.XA
Other languages
English (en)
Inventor
陈绪戈
邓华利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongling Zhixing Chengdu Technology Co ltd
Original Assignee
Zhongling Zhixing Chengdu Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongling Zhixing Chengdu Technology Co ltd filed Critical Zhongling Zhixing Chengdu Technology Co ltd
Priority to CN202010385953.XA priority Critical patent/CN111522670A/zh
Publication of CN111522670A publication Critical patent/CN111522670A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution 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

一种用于Android系统的GPU虚拟化方法、系统及介质
技术领域
本发明涉及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所述的图像渲染方法。
CN202010385953.XA 2020-05-09 2020-05-09 一种用于Android系统的GPU虚拟化方法、系统及介质 Pending CN111522670A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
张凯华: "基于桌面云的GPU设备虚拟化设计与实现" *

Cited By (16)

* Cited by examiner, † Cited by third party
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