CN110442389B - Method for sharing GPU (graphics processing Unit) in multi-desktop environment - Google Patents
Method for sharing GPU (graphics processing Unit) in multi-desktop environment Download PDFInfo
- Publication number
- CN110442389B CN110442389B CN201910724527.1A CN201910724527A CN110442389B CN 110442389 B CN110442389 B CN 110442389B CN 201910724527 A CN201910724527 A CN 201910724527A CN 110442389 B CN110442389 B CN 110442389B
- Authority
- CN
- China
- Prior art keywords
- gpu
- desktop
- module
- switching
- hardware
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 15
- 238000012545 processing Methods 0.000 title description 7
- 238000009877 rendering Methods 0.000 claims abstract description 9
- 239000004973 liquid crystal related substance Substances 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- 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
Abstract
An architecture for sharing and using a GPU in a multi-desktop environment comprises GPU hardware, a system kernel, a system desktop A, a system desktop B, GPU client A and a GPU client B; the system kernel comprises a GPU driving module, a GPU switching module and a GPU virtual module A, GPU virtual module B, wherein a GPU client A consists of a desktop program of an Android system and a program directly using a GPU rendering interface, a GPU client B consists of a desktop program of a Linux system and a program directly using a GPU rendering interface, a GPU server is formed by the GPU driving module and GPU hardware, and the GPU client A invokes GPU hardware through the GPU driving module in the system kernel; the system desktop A is added with the desktop switching controller A, the system desktop B is added with the desktop switching controller B, and the desktop switching controller A and the desktop switching controller B respectively control the system desktop A or the system desktop B to serve as a current desktop.
Description
Technical Field
The present invention relates to a sharing method of a graphics processing unit GPU (Graphics Processing Unit), and more particularly, to a method for sharing and using a local GPU in multiple desktop environments simultaneously based on multiple virtual GPU devices.
Background
Graphics processors (also known as display cores, vision processors, display chips) are microprocessors that operate exclusively on personal computers, workstations, gaming machines, and some mobile devices (e.g., tablet computers, smartphones, etc.). The display device is used for converting and driving display information required by a computer system, providing a line video signal for a display, controlling the correct display of the display, and is an important element for connecting the display and a personal computer mainboard and is also one of important equipment for 'man-machine conversation'. The GPU is an important component in the host computer, and is very important for the graphics card for the person who is engaged in professional graphic design to take on the task of outputting and displaying graphics.
However, existing operating systems do not support multiple desktops simultaneously accessing GPU devices in common office and entertainment scenarios. For example, a desktop or notebook terminal with a local GPU device, as shown in fig. 1, under the price adjustment of only starting one operating system kernel, the current GPU and its driver cannot start one desktop of the Android system and one desktop of the Linux system at the same time. Therefore, the invention provides a drive-level virtual GPU scheme svGPU, which can be used for constructing virtual GPU equipment svGPU for different desktop environments by software by expanding a drive program on the kernel level of an operating system on the basis of the existing hardware GPU, and has the effect similar to that of installing 2 identical GPUs in one terminal, thereby achieving the capability of starting a plurality of different desktop environments on the same terminal equipment.
GPU virtualization is applied more in the field of virtual hosts and virtual servers. NVIDIA corporation introduced a virtual GPU solution, i.e., physical GPUs were cut as needed by NVIDIA underlying management software and simultaneously assigned to multiple virtual machines for use, the GPUs used by the virtual machines being referred to as vGPU. The vGPU computing capability used in the virtual machine comes from the quota split by the physical GPU, and the floating point computing and parallel computing performance of the virtual machine is greatly improved under the support of the strong GPU at the back end. The technical design is initially to be applied to virtual servers and application host servers for professional users with high-computing hosting for serving leased cloud hosts. The user can select a plurality of vGPU according to own requirements to improve the calculation speed of the self-managed application service. This technique was not developed by the desktop user from the beginning.
VDI (Virtual Desktop Infrastructure) is to transmit the video output of the remote virtual machine to the terminal screen, and the terminal is only responsible for inputting and outputting the information of the remote virtual machine, and the internal principle is similar to that of a remote desktop. All remote desktop transmission protocols perform lossy compression on the image, and the image is actually cut when the frame output by the remote virtual machine is transmitted to the terminal through the network; even if the vGPU on the back-end virtual machine renders a 4K 32-bit true color image, the image is replayed through a far Cheng Zhuomian transmission protocol (the terminal box restores the data into an image after receiving the encrypted and compressed data) to the terminal display, and the compressed copy is actually obtained when the terminal box is seen by the naked eyes of a user. The cloud desktop of the VDI has poor performance in terms of high-density image processing, the bottleneck of the cloud desktop is not insufficient in the GPU of the back end, and the loss of network transmission and the insufficient capacity of the front end are also insufficient.
International patent (US 20180210840) APPARATUS AND METHOD FOR MANAGING A VIRTUAL GRAPHICS PROCESSOR UNIT (VGPU) provides only a method for GPU virtualization by hardware, and this patent provides a method for software GPU virtualization. Intel corporation patent (US 20180060996) INTELLIGENT PROVISIONING OF VIRTUAL GRAPHIC PROCESSING UNIT RESOURCES also proposes the concept of vGPU, but the scenario that this patent faces is a problem of task allocation and load balancing by multiple physical GPUs through virtual GPUs.
When the conventional Android desktop and Linux desktop share a GPU, a GPU server (including a GPU driver and GPU hardware) only supports one type of client, for example, in a scenario corresponding to fig. 1, android desktop and Android application programs (Android App1 and Android App 2) can use the GPU server, but Android desktop and Android application programs cannot share the GPU server with Linux desktop and Linux programs (Linux program 1 and Linux program 2), and vice versa.
In view of the foregoing, no method is known in the currently published patent and literature for simultaneously sharing a local GPU among multiple desktop environments. In a single computer terminal, a virtual GPU scheme svGPU of a driving level is adopted, so that a plurality of desktop environments can share and use a local GPU at the same time, and the problem which is hopefully solved by engineering personnel in the field is solved.
Disclosure of Invention
The invention aims to solve the technical problems that: under the condition that a single computer terminal is provided with only one GPU, a virtual GPU scheme svGPU of a driving level is adopted, so that a plurality of desktop environments share and use a local GPU at the same time, and a plurality of desktops are supported to run in one operating system kernel under the condition that the desktop environments are not changed basically.
In order to achieve the above purpose, the present invention provides the following technical solutions:
an architecture for sharing and using a GPU in a multi-desktop environment comprises GPU hardware, a system kernel, a system desktop A (Android system desktop), a system desktop B (Linux system desktop), a GPU client A and a GPU client B;
the system kernel comprises a GPU driving module (GPU Drv), a GPU switching module (GPU Switch), a GPU virtual module A (Android svGPU 1) and a GPU virtual module B (Linux svGPU 2),
the GPU client a is composed of a desktop program of the Android system and a program (e.g. a 3D game) that directly uses the GPU rendering interface,
GPU client B is made up of a desktop program of the Linux system and a program that directly uses the GPU rendering interface (e.g. 3D game),
the GPU driving module and the GPU hardware form a GPU server, and the GPU client A invokes the GPU hardware through the GPU driving module in the system kernel;
the system desktop A is added with the desktop switching controller A, the system desktop B is added with the desktop switching controller B, and the desktop switching controller A and the desktop switching controller B respectively control the system desktop A or the system desktop B to serve as a current desktop.
A method for sharing a GPU with a multi-desktop environment, comprising the steps of:
step 1, providing a hardware platform;
step 2, adapting a system A (Android) and a system B (Ubuntu Linux) on a hardware platform, wherein the hardware platform independently starts the system A and the system B respectively, and the system A and the system B enter a desktop environment;
step 3, adding a GPU switching module and a GPU virtual module A, GPU virtual module B into a system kernel of the system B;
step 4, after starting the system B, starting the system A in a new Container (Container) and displaying a system desktop B;
step 5, after the system A is started, modifying a system desktop A and a system desktop B, wherein the system desktop A and the system desktop B respectively use a GPU virtual module A, GPU virtual module B;
step 6, adding a desktop switching controller A and a desktop switching controller B into the system desktop A and the system desktop B, and controlling the GPU switching module to perform desktop switching through the desktop switching controller A and the desktop switching controller B;
step 7, switching the desktop into a system desktop B through a desktop switching controller A in the system desktop A;
and 8, switching the desktop into a system desktop A through a desktop switching controller B in the system desktop B.
The invention has the beneficial effects that:
1. the invention aims at a single computer terminal and adopts a virtual GPU scheme svGPU of a driving stage under the condition of only one GPU, so that a plurality of desktop environments share and use a local GPU at the same time, and a plurality of desktops are supported to run in one operating system kernel under the condition of basically not changing the desktop environments.
2. The present invention refers to a software entity using GPU services as a GPU client, a desktop program is a typical GPU client, and a program directly using a direct rendering interface of a GPU is also a client of a GPU, such as a 3D game, etc. In the present invention, only the desktop program is shown in the drawings, and in fact, the present invention supports other GPU client programs as well.
3. In the invention, GPU driving and physical GPU hardware in the kernel are collectively called as a GPU server, and in the invention, the realization of the GPU server is not required to be modified.
4. The invention has fast process speed of switching display, and can realize hot switching of 2 continuous desktop environments by counting time and averaging the switching time to be less than 0.2 seconds. Thus, the goal of supporting the running of multiple desktops in one operating system kernel is achieved without changing the desktop environment basically.
Drawings
In order to more clearly illustrate the embodiments of the invention or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, it being obvious that the drawings in the following description are only some embodiments of the invention, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a block diagram of a prior art GPU shared by multiple desktops;
FIG. 2 is a diagram of a multiple desktop sharing usage GPU mechanism implementation of the present invention;
FIG. 3 is a functional call flow diagram of a GPU shared by multiple desktops in accordance with the present invention;
FIG. 4 is a flow chart of the physical memory direct access of multiple desktops sharing GPU hardware using a GPU according to the present invention;
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the technical solutions of the present invention will be described in detail below. It will be apparent that the described embodiments are only some, but not all, embodiments of the invention. All other embodiments, based on the examples herein, which are within the scope of the invention as defined by the claims, will be within the scope of the invention as defined by the claims.
The present invention refers to a software entity using GPU services as a GPU client, a desktop program is a typical GPU client, and a program directly using a direct rendering interface of a GPU is also a client of a GPU, such as a 3D game, etc. In the present invention, only the desktop program is shown in the drawings, and in fact, the present invention supports other GPU client programs as well.
An architecture for sharing and using a GPU in a multi-desktop environment comprises GPU hardware, a system kernel, a system desktop A (Android system desktop), a system desktop B (Linux system desktop), a GPU client A and a GPU client B;
the system kernel comprises a GPU driving module (GPU Drv), a GPU switching module (GPU Switch), a GPU virtual module A (Android svGPU 1) and a GPU virtual module B (Linux svGPU 2),
the GPU client a is composed of a desktop program of the Android system and a program (e.g. a 3D game) that directly uses the GPU rendering interface,
GPU client B is made up of a desktop program of the Linux system and a program that directly uses the GPU rendering interface (e.g. 3D game),
the GPU driving module and the GPU hardware form a GPU server, and the GPU client A invokes the GPU hardware through the GPU driving module in the system kernel;
the system desktop A is added with the desktop switching controller A, the system desktop B is added with the desktop switching controller B, and the desktop switching controller A and the desktop switching controller B respectively control the system desktop A or the system desktop B to serve as a current desktop.
The GPU virtual module A and the GPU virtual module B provide a GPU interface for the GPU driving module, the GPU virtual module A and the GPU virtual module B form virtual GPU equipment, and a system desktop A and a system desktop B do not need to distinguish whether the used equipment is GPU hardware or virtual GPU equipment;
modifying a system desktop A, replacing a code segment using GPU hardware with a code segment using a GPU virtual module A, and running the system desktop A on the GPU virtual module A;
modifying a system desktop B, replacing a code segment using GPU hardware with a code segment using a GPU virtual module B, and running the system desktop B on the GPU virtual module B;
the GPU switching module provides an interface of the GPU server, requests and data of the upper-layer GPU client A and the upper-layer GPU client B for using the GPU server are transmitted to the GPU hardware, and the desktop switching controller A and the desktop switching controller B switch for using the GPU hardware by controlling the GPU switching module;
in the case that the shared use of the GPU is not supported by the system desktop a and the system desktop B, there are two ways in which the GPU client invokes the GPU hardware:
(3) Calling a function;
the GPU virtual module A and the GPU virtual module B provide function call interfaces and parameters which are the same as those of the GPU driving module, the semantics of the function call interfaces and the parameters are the same, the system desktop A needs to call IOCTL interfaces (IOCTL_GPU_FUNC1, …), the call is forwarded to the GPU virtual module A, the GPU virtual module A calls the svgpu_drv_func1 interface, the svgpu_drv_func1 interface forwards a request to a lower-level GPU switching module, the GPU switching module calls the gpu_svpu_drv_func1 interface for processing, and finally the operation is carried out in the gpu_drv_func1 interface of the GPU driving module, and the GPU driving module is called into the gpu_func1 interface of GPU hardware;
(4) The physical memory of the GPU hardware is directly accessed;
in order to reduce the modification overhead of the GPU client, the access interfaces for function calls and GPU physical memory direct access need not be changed.
And for the direct access of the physical memory of the GPU hardware, the access mode of the GPU client is guaranteed to be the same as the condition of not sharing the GPU hardware. Physical memory direct access of GPU hardware: the overhead of data transmission is reduced, the GPU clients directly write data into the video memory of the GPU hardware instead of writing the data into the memory, then the data is transmitted from the video memory to the memory of the GPU hardware through DMA operation, an access interface of the GPU hardware supports the video memory read-write operation of consistent data, the video memory allocated by each GPU client is ensured not to overlap in the video memory allocation stage, and when a plurality of GPU clients use the video memory simultaneously, each GPU client needs to be ensured to be allocated to the video memory with proper quantity, and the situation that a certain GPU client occupies too much video memory and other clients cannot share the video memory cannot occur.
A method for sharing a GPU with a multi-desktop environment, comprising the steps of:
step 1, providing a hardware platform;
the hardware platform is a FT1500A desktop based on a domestic processor, and is configured as follows: the CPU is an FT1500A processor, the processor is compatible with an Armv8 instruction set, 4 xiaomi processor cores (FTC 660) are integrated, the core clock frequency is 1.5GHz, the L1 data Cache is 32KB, the L2Cache is 2MB, the L3Cache is 8MB, the peak performance is 24 GFlips, the memory size is 8GB, the display card is an HD7450 display card produced by AMD company, the magnetic disk is a three-star SSD hard disk, and the display is a liquid crystal display of an HDMI interface;
step 2, adapting a system A (Android) and a system B (Ubuntu Linux) on a hardware platform, wherein the hardware platform independently starts the system A and the system B respectively, and the system A and the system B enter a desktop environment;
the version of the system A is Android-7.1.2, and the version of the system B is 16.04;
step 3, adding a GPU switching module and a GPU virtual module A, GPU virtual module B into a system kernel of the system B;
step 4, after starting the system B, starting the system A in a new Container (Container) and displaying a system desktop B;
step 5, after the system A is started, modifying a system desktop A and a system desktop B, wherein the system desktop A and the system desktop B respectively use a GPU virtual module A, GPU virtual module B;
step 6, adding a desktop switching controller A and a desktop switching controller B into the system desktop A and the system desktop B, and controlling the GPU switching module to perform desktop switching through the desktop switching controller A and the desktop switching controller B;
step 7, switching the desktop into a system desktop B through a desktop switching controller A in the system desktop A;
and 8, switching the desktop into a system desktop A through a desktop switching controller B in the system desktop B.
The desktop switching controller A and the desktop switching controller B are respectively an icon, and when the icons are double-clicked, the GPU switching module is controlled to switch the desktops.
The foregoing is merely illustrative of the present invention, and the present invention is not limited thereto, and any person skilled in the art will readily recognize that variations or substitutions are within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.
Claims (2)
1. A method for sharing and using GPU in multi-desktop environment is used for sharing and using GPU architecture in multi-desktop environment;
the framework for sharing the GPU in the multi-desktop environment comprises GPU hardware, a system kernel, a system desktop A, a system desktop B, GPU client A and a GPU client B; the system kernel comprises a GPU driving module, a GPU switching module and a GPU virtual module A, GPU virtual module B; the GPU driving module and the GPU hardware form a GPU server, and the GPU client A calls the GPU hardware through the GPU driving module in a system kernel; the GPU client A consists of a desktop program of an Android system and a program directly using a GPU rendering interface; the desktop program of the Android system comprises a system desktop A;
the method comprises the following steps:
step 1, providing a hardware platform;
step 2, adapting a system A and a system B on a hardware platform, wherein the hardware platform independently starts the system A and the system B respectively, and the system A and the system B enter a desktop environment;
step 3, adding the GPU switching module, the GPU virtual module A and the GPU virtual module B into a system kernel of the system B;
step 4, after the system B is started, starting the system A in a new container, and displaying the system desktop A;
step 5, after the system A is started, modifying the system desktop A, replacing the code section of the system desktop A using GPU hardware with the code section of the system desktop A using the GPU virtual module A, modifying the system desktop B, replacing the code section of the system desktop B using GPU hardware with the code section of the system desktop B using the GPU virtual module B, and respectively using the GPU virtual module A and the GPU virtual module B by the system desktop A and the system desktop B; the GPU virtual module A and the GPU virtual module B provide a GPU interface for the GPU driving module; the GPU switching module provides an interface of a GPU server, requests and data of the upper-layer GPU client A and the upper-layer GPU client B for using the GPU server are forwarded to the GPU hardware, and the desktop switching controller A and the desktop switching controller B switch for using the GPU hardware by controlling the GPU switching module; the desktop switching controller A and the desktop switching controller B are respectively an icon, and when the icons are double-clicked, the GPU switching module is controlled to switch the desktops;
step 6, adding the desktop switching controller A and the desktop switching controller B into the system desktop A and the system desktop B, and controlling the GPU switching module to perform desktop switching through the desktop switching controller A and the desktop switching controller B;
step 7, switching a desktop into the system desktop B through the desktop switching controller A in the system desktop A;
the switching, by the desktop switching controller a in the system desktop a, the desktop to the system desktop B includes:
the desktop switching controller A in the system desktop A is controlled to call the GPU virtual module A to provide an interface of the GPU server to the GPU driving module;
forwarding a request and data of the system desktop A using the GPU server side in the upper-layer GPU client side A to the GPU hardware through an interface of the GPU server side;
switching the GPU hardware corresponding to the system desktop B;
switching a desktop from the system desktop A to the system desktop B;
and 8, switching the desktop into the system desktop A through the desktop switching controller B in the system desktop B.
2. The method for sharing GPU in a multiple desktop environment according to claim 1, wherein: the hardware platform is a FT1500A desktop based on a domestic processor, and is configured as follows: the CPU is an FT1500A processor, the processor is compatible with an Armv8 instruction set, 4 xiaomi processor cores are integrated, the core clock frequency is 1.5GHz, the L1 data Cache is 32KB, the L2Cache is 2MB, the L3Cache is 8MB, the peak performance is 24 GFlips, the memory size is 8GB, the display card is an HD7450 display card produced by AMD company, the magnetic disk is a three-star SSD hard disk, and the display is a liquid crystal display of an HDMI interface.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910724527.1A CN110442389B (en) | 2019-08-07 | 2019-08-07 | Method for sharing GPU (graphics processing Unit) in multi-desktop environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910724527.1A CN110442389B (en) | 2019-08-07 | 2019-08-07 | Method for sharing GPU (graphics processing Unit) in multi-desktop environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442389A CN110442389A (en) | 2019-11-12 |
CN110442389B true CN110442389B (en) | 2024-01-09 |
Family
ID=68433639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910724527.1A Active CN110442389B (en) | 2019-08-07 | 2019-08-07 | Method for sharing GPU (graphics processing Unit) in multi-desktop environment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442389B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522670A (en) * | 2020-05-09 | 2020-08-11 | 中瓴智行(成都)科技有限公司 | GPU virtualization method, system and medium for Android system |
CN112114916B (en) * | 2020-08-31 | 2021-06-08 | 北京技德系统技术有限公司 | Method and device for compatibly running Android application on Linux operating system |
CN113220474B (en) * | 2021-04-21 | 2022-08-30 | 麒麟软件有限公司 | Android application sharing Linux system screen data method based on Android-EMUGL |
Citations (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033781A (en) * | 2011-01-27 | 2011-04-27 | 中标软件有限公司 | Desktop system switching method for virtual machine |
CN103339600A (en) * | 2010-10-01 | 2013-10-02 | Flex Electronics ID Co.,Ltd. | Instant remote rendering |
CN103701807A (en) * | 2013-12-26 | 2014-04-02 | 华为技术有限公司 | Method and device for sending data under VDI (visual desktop infrastructure) environment |
CN103699183A (en) * | 2013-12-12 | 2014-04-02 | 上海兆民云计算科技有限公司 | Low-power-consumption terminal based on virtual desktop |
CN104049904A (en) * | 2013-03-14 | 2014-09-17 | 辉达公司 | Page state directory for managing unified virtual memory |
CN104360710A (en) * | 2014-10-22 | 2015-02-18 | 技嘉科技股份有限公司 | Display circuit capable of switching external display ports |
CN104516782A (en) * | 2014-12-26 | 2015-04-15 | 上海迈微软件科技有限公司 | Method for switching operating environments of intelligent system and equipment |
CN104536802A (en) * | 2014-12-19 | 2015-04-22 | 中兴通讯股份有限公司 | Method for achieving calling of applications and virtual machine |
CN104731653A (en) * | 2015-03-31 | 2015-06-24 | 上海盈方微电子有限公司 | Android display system software drawing and hardware drawing dynamic switching method |
CN105354153A (en) * | 2015-11-23 | 2016-02-24 | 浙江大学城市学院 | Implement method for data exchange and cache of tightly-coupled heterogeneous multi-processor |
CN105446462A (en) * | 2014-06-27 | 2016-03-30 | 联想(北京)有限公司 | Display method, device, circuit and electronic equipment |
CN105807895A (en) * | 2016-03-31 | 2016-07-27 | 宇龙计算机通信科技(深圳)有限公司 | Method for switching power supply mode and terminal |
CN106293953A (en) * | 2015-06-08 | 2017-01-04 | 龙芯中科技术有限公司 | A kind of method and system accessing shared video data |
CN106406977A (en) * | 2016-08-26 | 2017-02-15 | 山东乾云启创信息科技股份有限公司 | Virtualization implementation system and method of GPU (Graphics Processing Unit) |
CN106504185A (en) * | 2016-10-26 | 2017-03-15 | 腾讯科技(深圳)有限公司 | One kind renders optimization method and device |
CN106526859A (en) * | 2016-12-14 | 2017-03-22 | 中国航空工业集团公司洛阳电光设备研究所 | VR and AR compatible head-wearing display equipment |
CN106559579A (en) * | 2016-11-30 | 2017-04-05 | 努比亚技术有限公司 | Mobile terminal and CPU/GPU scheduling parameter update methods |
CN106569877A (en) * | 2016-11-14 | 2017-04-19 | 中国石油化工股份有限公司 | Method for sharing graphic workstation GPU by virtual machines in direct connection way |
CN106713988A (en) * | 2016-12-09 | 2017-05-24 | 福建星网视易信息系统有限公司 | Beautifying method and system for virtual scene live |
CN106797398A (en) * | 2014-10-16 | 2017-05-31 | 华为技术有限公司 | Method and system for providing from virtual desktop serve to client |
CN106775940A (en) * | 2016-12-06 | 2017-05-31 | 郑州云海信息技术有限公司 | A kind of graphic system and virtual method |
CN106886455A (en) * | 2017-02-23 | 2017-06-23 | 北京图森未来科技有限公司 | A kind of method and system for realizing user isolation |
CN107003892A (en) * | 2016-12-29 | 2017-08-01 | 深圳前海达闼云端智能科技有限公司 | GPU vitualization method, device, system and electronic equipment, computer program product |
CN107066378A (en) * | 2017-01-24 | 2017-08-18 | 成都皓图智能科技有限责任公司 | A kind of real-time online GPU general-purpose computations simulation and adjustment method |
CN107077377A (en) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | A kind of device virtualization method, device, system and electronic equipment, computer program product |
CN107102957A (en) * | 2016-02-22 | 2017-08-29 | 深圳市知穹科技有限公司 | The method and system that a kind of internal memory based between GPU and NIC is directly exchanged at a high speed |
CN107102897A (en) * | 2016-02-23 | 2017-08-29 | 深圳市知穹科技有限公司 | A kind of database active defense method of many GPU parallel processings |
CN107122241A (en) * | 2016-02-25 | 2017-09-01 | 深圳市知穹科技有限公司 | Database firewall system and its control method based on CPU and GPU |
CN107193759A (en) * | 2017-04-18 | 2017-09-22 | 上海交通大学 | The virtual method of device memory administrative unit |
CN107272871A (en) * | 2017-05-26 | 2017-10-20 | 深圳酷旗互联网有限公司 | A kind of optimization method and device for reducing Android device power consumption |
CN107678853A (en) * | 2016-08-02 | 2018-02-09 | 中国电信股份有限公司 | The dispatching method and device of graphics processing tasks |
CN107908585A (en) * | 2017-11-30 | 2018-04-13 | 郑州云海信息技术有限公司 | A kind of PCIE BOX plates for surpassing calculation function with PCIe card and GPU |
CN107943592A (en) * | 2017-12-13 | 2018-04-20 | 江苏省邮电规划设计院有限责任公司 | A kind of method for avoiding GPU resource contention towards GPU cluster environment |
WO2018075790A1 (en) * | 2016-10-20 | 2018-04-26 | Pure Storage, Inc. | Performance tuning in a storage system that includes one or more storage devices |
CN107992355A (en) * | 2017-12-21 | 2018-05-04 | 中兴通讯股份有限公司 | A kind of method, apparatus and virtual machine of application deployment software |
CN108170519A (en) * | 2018-01-25 | 2018-06-15 | 上海交通大学 | Optimize the systems, devices and methods of expansible GPU vitualization |
CN108388460A (en) * | 2018-02-05 | 2018-08-10 | 中国人民解放军战略支援部队航天工程大学 | Long-range real-time rendering platform construction method based on graphics cluster |
CN108510430A (en) * | 2018-03-27 | 2018-09-07 | 长沙景嘉微电子股份有限公司 | A kind of implementation method of resource-sharing in the GPU rendered based on piecemeal |
EP3376361A3 (en) * | 2017-10-19 | 2018-10-10 | Pure Storage, Inc. | Ensuring reproducibility in an artificial intelligence infrastructure |
CN108664329A (en) * | 2018-05-10 | 2018-10-16 | 努比亚技术有限公司 | A kind of resource allocation method, terminal and computer readable storage medium |
CN108710536A (en) * | 2018-04-02 | 2018-10-26 | 上海交通大学 | A kind of multi-level fine-grained virtualization GPU method for optimizing scheduling |
CN108733490A (en) * | 2018-05-14 | 2018-11-02 | 上海交通大学 | A kind of GPU vitualization QoS control system and method based on resource-sharing adaptive configuration |
CN108804199A (en) * | 2017-05-05 | 2018-11-13 | 龙芯中科技术有限公司 | Graphics processor virtual method and device |
CN108845970A (en) * | 2018-05-30 | 2018-11-20 | 郑州云海信息技术有限公司 | A kind of device and method of free switching GPU topology server |
CN109032964A (en) * | 2018-07-02 | 2018-12-18 | 京东方科技集团股份有限公司 | Buffer replacing method and its device, heterogeneous multi-core system |
CN109101283A (en) * | 2018-07-17 | 2018-12-28 | 北京元心科技有限公司 | Control method, device and the electronic equipment of GPU equipment |
CN109120979A (en) * | 2018-08-23 | 2019-01-01 | Oppo广东移动通信有限公司 | Video source modeling control method, device and electronic equipment |
CN109379627A (en) * | 2018-11-27 | 2019-02-22 | Oppo广东移动通信有限公司 | Method for processing video frequency, device, electronic equipment and storage medium |
CN109542829A (en) * | 2018-11-29 | 2019-03-29 | 北京元心科技有限公司 | The control method of GPU equipment, device and electronic equipment in multisystem |
CN109542567A (en) * | 2018-11-20 | 2019-03-29 | 四川长虹电器股份有限公司 | The rendering method and browser of browser based on Linux platform |
CN109582425A (en) * | 2018-12-04 | 2019-04-05 | 中山大学 | A kind of GPU service redirection system and method merged based on cloud with terminal GPU |
CN109698970A (en) * | 2018-11-16 | 2019-04-30 | 南京熊猫电子股份有限公司 | TV multifunctional single key control method and Android TV based on android system |
CN109712060A (en) * | 2018-12-04 | 2019-05-03 | 成都雨云科技有限公司 | A kind of cloud desktop video card sharing method and system based on GPU container technique |
CN109783378A (en) * | 2019-01-02 | 2019-05-21 | 郑州云海信息技术有限公司 | GPU is in the compatibility test method of Ubnutu system, device, terminal and storage medium |
EP3485365A1 (en) * | 2016-10-20 | 2019-05-22 | Pure Storage, Inc. | Performance tuning in a storage system that includes one or more storage devices |
CN110083324A (en) * | 2019-04-30 | 2019-08-02 | 华为技术有限公司 | Method, apparatus, electronic equipment and the computer storage medium of Image Rendering |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130093776A1 (en) * | 2011-10-14 | 2013-04-18 | Microsoft Corporation | Delivering a Single End User Experience to a Client from Multiple Servers |
US8941670B2 (en) * | 2012-01-17 | 2015-01-27 | Microsoft Corporation | Para-virtualized high-performance computing and GDI acceleration |
US20150206270A1 (en) * | 2014-01-22 | 2015-07-23 | Nvidia Corporation | System and method for wirelessly sharing graphics processing resources and gpu tethering incorporating the same |
US9916175B2 (en) * | 2015-01-25 | 2018-03-13 | Objective Interface Systems, Inc. | Multi-session zero client device and network for transporting separated flows to device sessions via virtual nodes |
US10089115B2 (en) * | 2016-07-07 | 2018-10-02 | Intel Corporation | Apparatus to optimize GPU thread shared local memory access |
US10580189B2 (en) * | 2016-09-16 | 2020-03-03 | Intel Corporation | Apparatus and method for optimized ray tracing |
US20180152686A1 (en) * | 2016-11-28 | 2018-05-31 | Microsoft Technology Licensing, Llc | Tone mapping functions for rendering high dynamic range video on enhanced dynamic range display devices |
US10394604B2 (en) * | 2017-03-15 | 2019-08-27 | Samsung Electronics Co., Ltd. | Method for using local BMC to allocate shared GPU resources inside NVMe over fabrics system |
US10891773B2 (en) * | 2017-04-07 | 2021-01-12 | Intel Corporation | Apparatus and method for efficient graphics virtualization |
US10510133B2 (en) * | 2017-06-20 | 2019-12-17 | Think Silicon Sa | Asymmetric multi-core heterogeneous parallel processing system |
US11475636B2 (en) * | 2017-10-31 | 2022-10-18 | Vmware, Inc. | Augmented reality and virtual reality engine for virtual desktop infrastucture |
-
2019
- 2019-08-07 CN CN201910724527.1A patent/CN110442389B/en active Active
Patent Citations (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103339600A (en) * | 2010-10-01 | 2013-10-02 | Flex Electronics ID Co.,Ltd. | Instant remote rendering |
CN102033781A (en) * | 2011-01-27 | 2011-04-27 | 中标软件有限公司 | Desktop system switching method for virtual machine |
CN104049904A (en) * | 2013-03-14 | 2014-09-17 | 辉达公司 | Page state directory for managing unified virtual memory |
CN103699183A (en) * | 2013-12-12 | 2014-04-02 | 上海兆民云计算科技有限公司 | Low-power-consumption terminal based on virtual desktop |
CN103701807A (en) * | 2013-12-26 | 2014-04-02 | 华为技术有限公司 | Method and device for sending data under VDI (visual desktop infrastructure) environment |
CN105446462A (en) * | 2014-06-27 | 2016-03-30 | 联想(北京)有限公司 | Display method, device, circuit and electronic equipment |
CN106797398A (en) * | 2014-10-16 | 2017-05-31 | 华为技术有限公司 | Method and system for providing from virtual desktop serve to client |
CN104360710A (en) * | 2014-10-22 | 2015-02-18 | 技嘉科技股份有限公司 | Display circuit capable of switching external display ports |
CN104536802A (en) * | 2014-12-19 | 2015-04-22 | 中兴通讯股份有限公司 | Method for achieving calling of applications and virtual machine |
CN104516782A (en) * | 2014-12-26 | 2015-04-15 | 上海迈微软件科技有限公司 | Method for switching operating environments of intelligent system and equipment |
CN104731653A (en) * | 2015-03-31 | 2015-06-24 | 上海盈方微电子有限公司 | Android display system software drawing and hardware drawing dynamic switching method |
CN106293953A (en) * | 2015-06-08 | 2017-01-04 | 龙芯中科技术有限公司 | A kind of method and system accessing shared video data |
CN105354153A (en) * | 2015-11-23 | 2016-02-24 | 浙江大学城市学院 | Implement method for data exchange and cache of tightly-coupled heterogeneous multi-processor |
CN107102957A (en) * | 2016-02-22 | 2017-08-29 | 深圳市知穹科技有限公司 | The method and system that a kind of internal memory based between GPU and NIC is directly exchanged at a high speed |
CN107102897A (en) * | 2016-02-23 | 2017-08-29 | 深圳市知穹科技有限公司 | A kind of database active defense method of many GPU parallel processings |
CN107122241A (en) * | 2016-02-25 | 2017-09-01 | 深圳市知穹科技有限公司 | Database firewall system and its control method based on CPU and GPU |
CN105807895A (en) * | 2016-03-31 | 2016-07-27 | 宇龙计算机通信科技(深圳)有限公司 | Method for switching power supply mode and terminal |
CN107678853A (en) * | 2016-08-02 | 2018-02-09 | 中国电信股份有限公司 | The dispatching method and device of graphics processing tasks |
CN106406977A (en) * | 2016-08-26 | 2017-02-15 | 山东乾云启创信息科技股份有限公司 | Virtualization implementation system and method of GPU (Graphics Processing Unit) |
EP3485365A1 (en) * | 2016-10-20 | 2019-05-22 | Pure Storage, Inc. | Performance tuning in a storage system that includes one or more storage devices |
WO2018075790A1 (en) * | 2016-10-20 | 2018-04-26 | Pure Storage, Inc. | Performance tuning in a storage system that includes one or more storage devices |
CN106504185A (en) * | 2016-10-26 | 2017-03-15 | 腾讯科技(深圳)有限公司 | One kind renders optimization method and device |
CN106569877A (en) * | 2016-11-14 | 2017-04-19 | 中国石油化工股份有限公司 | Method for sharing graphic workstation GPU by virtual machines in direct connection way |
CN106559579A (en) * | 2016-11-30 | 2017-04-05 | 努比亚技术有限公司 | Mobile terminal and CPU/GPU scheduling parameter update methods |
CN106775940A (en) * | 2016-12-06 | 2017-05-31 | 郑州云海信息技术有限公司 | A kind of graphic system and virtual method |
CN106713988A (en) * | 2016-12-09 | 2017-05-24 | 福建星网视易信息系统有限公司 | Beautifying method and system for virtual scene live |
CN106526859A (en) * | 2016-12-14 | 2017-03-22 | 中国航空工业集团公司洛阳电光设备研究所 | VR and AR compatible head-wearing display equipment |
CN107003892A (en) * | 2016-12-29 | 2017-08-01 | 深圳前海达闼云端智能科技有限公司 | GPU vitualization method, device, system and electronic equipment, computer program product |
CN107077377A (en) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | A kind of device virtualization method, device, system and electronic equipment, computer program product |
CN107066378A (en) * | 2017-01-24 | 2017-08-18 | 成都皓图智能科技有限责任公司 | A kind of real-time online GPU general-purpose computations simulation and adjustment method |
CN106886455A (en) * | 2017-02-23 | 2017-06-23 | 北京图森未来科技有限公司 | A kind of method and system for realizing user isolation |
CN107193759A (en) * | 2017-04-18 | 2017-09-22 | 上海交通大学 | The virtual method of device memory administrative unit |
CN108804199A (en) * | 2017-05-05 | 2018-11-13 | 龙芯中科技术有限公司 | Graphics processor virtual method and device |
CN107272871A (en) * | 2017-05-26 | 2017-10-20 | 深圳酷旗互联网有限公司 | A kind of optimization method and device for reducing Android device power consumption |
EP3376361A3 (en) * | 2017-10-19 | 2018-10-10 | Pure Storage, Inc. | Ensuring reproducibility in an artificial intelligence infrastructure |
CN107908585A (en) * | 2017-11-30 | 2018-04-13 | 郑州云海信息技术有限公司 | A kind of PCIE BOX plates for surpassing calculation function with PCIe card and GPU |
CN107943592A (en) * | 2017-12-13 | 2018-04-20 | 江苏省邮电规划设计院有限责任公司 | A kind of method for avoiding GPU resource contention towards GPU cluster environment |
CN107992355A (en) * | 2017-12-21 | 2018-05-04 | 中兴通讯股份有限公司 | A kind of method, apparatus and virtual machine of application deployment software |
CN108170519A (en) * | 2018-01-25 | 2018-06-15 | 上海交通大学 | Optimize the systems, devices and methods of expansible GPU vitualization |
CN108388460A (en) * | 2018-02-05 | 2018-08-10 | 中国人民解放军战略支援部队航天工程大学 | Long-range real-time rendering platform construction method based on graphics cluster |
CN108510430A (en) * | 2018-03-27 | 2018-09-07 | 长沙景嘉微电子股份有限公司 | A kind of implementation method of resource-sharing in the GPU rendered based on piecemeal |
CN108710536A (en) * | 2018-04-02 | 2018-10-26 | 上海交通大学 | A kind of multi-level fine-grained virtualization GPU method for optimizing scheduling |
CN108664329A (en) * | 2018-05-10 | 2018-10-16 | 努比亚技术有限公司 | A kind of resource allocation method, terminal and computer readable storage medium |
CN108733490A (en) * | 2018-05-14 | 2018-11-02 | 上海交通大学 | A kind of GPU vitualization QoS control system and method based on resource-sharing adaptive configuration |
CN108845970A (en) * | 2018-05-30 | 2018-11-20 | 郑州云海信息技术有限公司 | A kind of device and method of free switching GPU topology server |
CN109032964A (en) * | 2018-07-02 | 2018-12-18 | 京东方科技集团股份有限公司 | Buffer replacing method and its device, heterogeneous multi-core system |
CN109101283A (en) * | 2018-07-17 | 2018-12-28 | 北京元心科技有限公司 | Control method, device and the electronic equipment of GPU equipment |
CN109120979A (en) * | 2018-08-23 | 2019-01-01 | Oppo广东移动通信有限公司 | Video source modeling control method, device and electronic equipment |
CN109698970A (en) * | 2018-11-16 | 2019-04-30 | 南京熊猫电子股份有限公司 | TV multifunctional single key control method and Android TV based on android system |
CN109542567A (en) * | 2018-11-20 | 2019-03-29 | 四川长虹电器股份有限公司 | The rendering method and browser of browser based on Linux platform |
CN109379627A (en) * | 2018-11-27 | 2019-02-22 | Oppo广东移动通信有限公司 | Method for processing video frequency, device, electronic equipment and storage medium |
CN109542829A (en) * | 2018-11-29 | 2019-03-29 | 北京元心科技有限公司 | The control method of GPU equipment, device and electronic equipment in multisystem |
CN109582425A (en) * | 2018-12-04 | 2019-04-05 | 中山大学 | A kind of GPU service redirection system and method merged based on cloud with terminal GPU |
CN109712060A (en) * | 2018-12-04 | 2019-05-03 | 成都雨云科技有限公司 | A kind of cloud desktop video card sharing method and system based on GPU container technique |
CN109783378A (en) * | 2019-01-02 | 2019-05-21 | 郑州云海信息技术有限公司 | GPU is in the compatibility test method of Ubnutu system, device, terminal and storage medium |
CN110083324A (en) * | 2019-04-30 | 2019-08-02 | 华为技术有限公司 | Method, apparatus, electronic equipment and the computer storage medium of Image Rendering |
Also Published As
Publication number | Publication date |
---|---|
CN110442389A (en) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101956411B1 (en) | Delivering a single end user experience to a client from multiple servers | |
EP2622463B1 (en) | Instant remote rendering | |
US8957905B2 (en) | Cross-environment user interface mirroring | |
CN100517287C (en) | Sharined physical device among multiple clients | |
CN110442389B (en) | Method for sharing GPU (graphics processing Unit) in multi-desktop environment | |
US8933949B2 (en) | User interaction across cross-environment applications through an extended graphics context | |
EP2622461B1 (en) | Shared memory between child and parent partitions | |
US8819705B2 (en) | User interaction support across cross-environment applications | |
US8872835B2 (en) | Prevention of DoS attack by a rogue graphics application | |
WO2015096516A1 (en) | Method and device for sending data in vdi environment | |
WO2015062339A1 (en) | Method and device for running remote application program | |
US20160314008A1 (en) | Method for implementing gpu virtualization and related apparatus, and system | |
CN106020929A (en) | System and method for supporting 3D application in virtual environment | |
CN108762934B (en) | Remote graphic transmission system and method and cloud server | |
CN112148422A (en) | IO processing method and device | |
CN109712060B (en) | Cloud desktop display card sharing method and system based on GPU container technology | |
EP3301574B1 (en) | Method for managing graphic cards in a computing system | |
CN110007863B (en) | Storage service access method based on lib library interface and related device | |
Carabas et al. | Lightweight display virtualization for mobile devices | |
CN116126441A (en) | Data processing method and device | |
CN116401050A (en) | Realization method for dynamically adjusting signal creation cloud desktop GPU | |
CN117311849A (en) | Method, system and mobile terminal capable of realizing customization based on cloud computer | |
CN116382838A (en) | gpu virtualization implementation method |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |