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 PDF

Info

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
Application number
CN201910724527.1A
Other languages
Chinese (zh)
Other versions
CN110442389A (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.)
Beijing Jide System Technology Co ltd
Original Assignee
Beijing Jide System 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 Beijing Jide System Technology Co ltd filed Critical Beijing Jide System Technology Co ltd
Priority to CN201910724527.1A priority Critical patent/CN110442389B/en
Publication of CN110442389A publication Critical patent/CN110442389A/en
Application granted granted Critical
Publication of CN110442389B publication Critical patent/CN110442389B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • 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

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

Method for sharing GPU (graphics processing Unit) in multi-desktop environment
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.
CN201910724527.1A 2019-08-07 2019-08-07 Method for sharing GPU (graphics processing Unit) in multi-desktop environment Active CN110442389B (en)

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)

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

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

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

Patent Citations (56)

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