CN110442389A - A kind of shared method using GPU of more desktop environments - Google Patents

A kind of shared method using GPU of more desktop environments Download PDF

Info

Publication number
CN110442389A
CN110442389A CN201910724527.1A CN201910724527A CN110442389A CN 110442389 A CN110442389 A CN 110442389A CN 201910724527 A CN201910724527 A CN 201910724527A CN 110442389 A CN110442389 A CN 110442389A
Authority
CN
China
Prior art keywords
gpu
desktop
hardware
module
client
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.)
Granted
Application number
CN201910724527.1A
Other languages
Chinese (zh)
Other versions
CN110442389B (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

A kind of shared framework using GPU of more desktop environments, including GPU hardware, system kernel, system desktop A, system desktop B, GPU client A and GPU client B;System kernel includes GPU drive module, GPU switching module, GPU virtual module A, GPU virtual module B, GPU client A is constituted by the desktop programs of android system and directly using the program of GPU rendering interface, GPU client B is constituted by the desktop programs of linux system and directly using the program of GPU rendering interface, GPU drive module and GPU hardware constitute GPU server-side, and GPU client A calls GPU hardware by the GPU drive module in system kernel;Desktop switch controller A is added in system desktop A, and desktop switch controller B, desktop switch controller A and desktop switch controller B difference control system desktop A or system desktop B is added as current desktop in system desktop B.

Description

A kind of shared method using GPU of more desktop environments
Technical field
The sharing method of design configuration processing unit GPU (Graphics Processing Unit) of the present invention, especially Based on multiple virtual GPU equipment, the method using local GPU is shared simultaneously in multiple desktop environments.
Background technique
Graphics processor (also known as shows core, vision processor, display chip), is one kind specially in PC, work It stands, the microprocessor that image operation works in game machine and some mobile devices (such as tablet computer, smart phone).Purposes It is that will show that information carries out conversion driving required for computer system, and provide row vision signal, control display to display The correct display of device, be connect display and PC mainboard critical elements, and " human-computer dialogue " important equipment it One.GPU undertakes the task of output display figure, for being engaged in professional figure as an important component in host computer Video card is extremely important for the people of shape design.
However, existing operating system does not support multiple desktops to set simultaneously to GPU under normal office and Entertainment Scene Standby access.Such as a desktop computer or notebook terminal with local GPU equipment, as shown in Figure 1, only starting a behaviour Make under the price adjustment of system kernel, current GPU and its driver can not start the desktop and one an of android system simultaneously The desktop of a linux system.Therefore, the invention proposes virtual GPU the scheme svGPU, svGPU of driving stage can be existing On the basis of hardware GPU, by constructing virtual GPU equipment svGPU by software in operating system kernel layer face external drive program It is used for different desktop environments, effect is similar to and is mounted with 2 pieces of identical GPU in a terminal, to reach same Start the ability of multiple and different desktop environments on one terminal device.
GPU vitualization is in fictitious host computer, virtual server field using more.NVIDIA company is proposed the virtual side GPU Case is cut physics GPU by NVIDIA bottom management software on demand, while distributing to multiple virtual machines and using, virtual machine Used GPU is referred to as vGPU.The vGPU computing capability used in virtual machine is matched from what physics GPU was split Volume, in rear end, powerful GPU greatly improves the Floating-point Computation of virtual machine with Parallel Computing Performance under supporting.The design of this technology Original intention is to be applied primarily to virtual server, application to serve the high professional user for calculating trustship of progress for renting cloud host Host server.User can select more vGPU according to their own needs to improve the calculating of the application service of oneself trustship speed Degree.This technology is not what desktop user was developed from the beginning.
VDI (Virtual Desktop Infrastructure) technology is to be transferred to the video output of distal end virtual machine On terminal screen, terminal is only responsible for the information of input and output distal end virtual machine, and internal principle is similar to remote desktop.All is remote Journey desktop transport protocol has all carried out lossy compression to image, the frame of distal end virtual machine output by network transmission to terminal when scheme As reduction actually has been carried out;Even if the vGPU on the virtual machine of rear end has rendered 32 rgb images of a 4K, by remote Journey desktop transport protocol echo (terminal box receives after the data of ciphered compressed data convert into image) arrives terminal display On seen by user's naked eyes when be compressed to carve product again in fact.Its in VDI cloud desktop in highly dense image procossing Aspect GPU of its bottleneck also not in rear end that perform poor is insufficient, and the loss of network transmission and the deficiency of front-end capabilities.
International monopoly (US20180210840) APPARATUS AND METHOD FOR MANAGING A VIRTUAL GRAPHICS PROCESSOR UNIT (VGPU) only provides the method that hardware does GPU vitualization, and this patent provides software The method of GPU vitualization.Intel Company's patent (US20180060996) INTELLIGENT PROVISIONING OF VIRTUAL GRAPHIC PROCESSING UNIT RESOURCES also proposed the concept of vGPU, but the patent towards Scene is the problem of multiple physics GPU carry out task distribution and load balancing by virtual GPU.
Traditional Android desktop and Linux Desktop Share use GPU when, GPU server-side (including GPU driving and GPU hardware), only support a kind of client, such as under the corresponding scene of Fig. 1, the application of the desktop and Android of Android Program (Android App1, Android App2) can be used GPU server-side, but the desktop of Android and Android Application program cannot be shared using GPU server-side with Linux desktop and its program (Linux program 1, Linux program 2), instead .
In conclusion there are no in presently disclosed patent and document in multiple desktop environments while shared using local The method of GPU.In single terminal, using the virtual GPU scheme svGPU of driving stage, allow multiple desktop environments simultaneously It is shared to be solved the problems, such as using the local this field GPU engineers and technicians are highly desirable.
Summary of the invention
The technical problem to be solved in the present invention is that: in the case where for single computer terminal and an only GPU, Using the virtual GPU scheme svGPU of driving stage, allow multiple desktop environments and meanwhile it is shared use local GPU, thus not changing substantially Become under conditions of desktop environment, supports to run multiple desktops in an operating system nucleus.
To achieve the above object, the present invention provides following technical schemes:
A kind of shared framework using GPU of more desktop environments, including GPU hardware, system kernel, system desktop A (android system desktop), system desktop B (linux system desktop), GPU client A and GPU client B;
System kernel includes GPU drive module (GPU Drv), GPU switching module (GPU Switch), GPU virtual module A (Android svGPU1), GPU virtual module B (Linux svGPU2),
GPU client A by android system desktop programs and directly using GPU rendering interface program (such as 3D trip Play) it constitutes,
GPU client B by linux system desktop programs and directly using GPU rendering interface program (such as 3D trip Play) it constitutes,
GPU drive module and GPU hardware constitute GPU server-side, and GPU client A drives mould by the GPU in system kernel Block calls GPU hardware;
Desktop switch controller A is added in system desktop A, and desktop switch controller B, desktop switching control is added in system desktop B Device A and desktop switch controller B difference control system desktop A or system desktop B processed is as current desktop.
A kind of shared method using GPU of more desktop environments, includes the following steps:
Step 1 provides hardware platform;
Step 2, on a hardware platform adaption system A (Android) and system B (Ubuntu Linux), hardware platform point Other independent startup system A and system B, and system A and system B enter desktop environment;
Step 3, system kernel addition GPU switching module, GPU virtual module A, GPU virtual module B in system B;
After step 4, activation system B, the activation system A in a new container (Container), and display system desktop B;
After step 5, system A start completion, system desktop A and system desktop B, system desktop A and system desktop B points of modification It Shi Yong not GPU virtual module A, GPU virtual module B;
Desktop switch controller A and desktop switch controller B is added in step 6 in system desktop A and system desktop B, leads to It crosses desktop switch controller A and desktop switch controller B control GPU switching module and carries out desktop switching;
Step 7, by the desktop switch controller A in system desktop A, desktop is switched to system desktop B;
Step 8, by the desktop switch controller B in system desktop B, desktop is switched to system desktop A.
The beneficial effects of the present invention are:
In the case that 1. the present invention is for single computer terminal and an only GPU, using the virtual GPU of driving stage Scheme svGPU, allow multiple desktop environments and meanwhile it is shared use local GPU, thus under conditions of not changing desktop environment substantially, It supports to run multiple desktops in an operating system nucleus.
2. the software entity for using GPU to service is called GPU client by the present invention, desktop programs are typical GPU clients End, the program for furthermore directly using the direct rendering interface of GPU is also client, such as 3D game of GPU etc..In the present invention In, only indicate that desktop programs, the actually present invention also support other GPU client programs in attached drawing.
3. the GPU driving and physics GPU hardware in kernel in the present invention, are referred to as GPU server-side, in the present invention In, do not need the realization of modification GPU server-side.
4. the process speed of switching display of the invention is very fast, counted through timing, switching time averagely less than 0.2 second, It can accomplish 2 hot-swaps for not stopping desktop environment.To realize at one under conditions of not changing desktop environment substantially The target of the multiple desktops of operation is supported in operating system nucleus.
Detailed description of the invention
In order to more clearly explain the embodiment of the invention or the technical proposal in the existing technology, to embodiment or will show below There is attached drawing needed in technical description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this Some embodiments of invention for those of ordinary skill in the art without creative efforts, can be with It obtains other drawings based on these drawings.
Fig. 1 is multiple Desktop Share GPU architecture figures in the prior art;
Fig. 2 is that multiple Desktop Shares of the invention use GPU mechanism realization figure;
Fig. 3 is the function call flow chart that multiple Desktop Shares of the invention use GPU;
Fig. 4 is the direct browsing process figure of physical memory of multiple Desktop Shares of the invention using the GPU hardware of GPU;
Specific embodiment
To make the object, technical solutions and advantages of the present invention clearer, technical solution of the present invention will be carried out below Detailed description.Obviously, described embodiments are only a part of the embodiments of the present invention, instead of all the embodiments.Base Embodiment in the present invention, those of ordinary skill in the art are obtained all without making creative work Other embodiment belongs to the range that the present invention is protected.
The software entity for using GPU to service is called GPU client by the present invention, and desktop programs are typical GPU clients, Furthermore the program for directly using the direct rendering interface of GPU is also client, such as 3D game of GPU etc..In the present invention, attached Only indicate that desktop programs, the actually present invention also support other GPU client programs in figure.
A kind of shared framework using GPU of more desktop environments, including GPU hardware, system kernel, system desktop A (android system desktop), system desktop B (linux system desktop), GPU client A and GPU client B;
System kernel includes GPU drive module (GPU Drv), GPU switching module (GPU Switch), GPU virtual module A (Android svGPU1), GPU virtual module B (Linux svGPU2),
GPU client A by android system desktop programs and directly using GPU rendering interface program (such as 3D trip Play) it constitutes,
GPU client B by linux system desktop programs and directly using GPU rendering interface program (such as 3D trip Play) it constitutes,
GPU drive module and GPU hardware constitute GPU server-side, and GPU client A drives mould by the GPU in system kernel Block calls GPU hardware;
Desktop switch controller A is added in system desktop A, and desktop switch controller B, desktop switching control is added in system desktop B Device A and desktop switch controller B difference control system desktop A or system desktop B processed is as current desktop.
GPU virtual module A and GPU virtual module B provides GPU interface, GPU virtual module A and GPU to GPU drive module Virtual module B constitutes virtual GPU equipment, and it is GPU hard that system desktop A and system desktop B, which need not distinguish between used equipment, Part or virtual GPU equipment;
It modifies system desktop A and the code segment for using GPU hardware is replaced with the code segment using GPU virtual module A, System desktop A is run on GPU virtual module A;
It modifies system desktop B and the code segment for using GPU hardware is replaced with the code segment using GPU virtual module B, System desktop B is run on GPU virtual module B;
GPU switching module provides the interface of GPU server-side, and the GPU client A and GPU client B on upper layer are used GPU server-side asks summed data to be transmitted to GPU hardware, and desktop switch controller A and desktop switch controller B pass through control GPU switching module switches using GPU hardware;
In the case where not supporting system desktop A and system desktop B shared using GPU, GPU client calls GPU hardware There are two types of modes:
(3) function call;
GPU virtual module A and GPU virtual module B provides function call interface identical with GPU drive module and parameter, The two semanteme is identical, and system desktop A needs to call ioctl interface (IOCTL_GPU_FUNC1 ...), this time calls and is just forwarded to GPU virtual module A, GPU virtual module A calls svgpu_drv_func1 interface, and svgpu_drv_func1 interface turns request Junior's GPU switching module is issued, GPU switching module calls gs_svgpu_drv_func1 interface to be handled, and final call is arrived It is executed in the gpu_drv_func1 interface of GPU drive module, GPU drive module calls the gpu_func1 interface to GPU hardware In;
(4) physical memory of GPU hardware directly accesses;
In order to reduce the modification expense of GPU client, the access for needing that function call and GPU physical memory is allowed directly to access Interface does not change.
The physical memory of GPU hardware is directly accessed, guarantee the access mode of GPU client and does not share GPU hardware The case where it is identical.The physical memory of GPU hardware directly accesses: reducing the expense of data transmission, GPU client is directly write data Enter the video memory of GPU hardware, rather than write the data to memory, then data are transferred to from video memory by dma operation by GPU hardware The access interface of memory, GPU hardware supports the consistent video memory read-write operation of data to guarantee each GPU in the allocated phase of video memory The video memory of client distribution is not overlapped, and when multiple GPU clients use video memory simultaneously, needs to guarantee each GPU client is all assigned to the suitable video memory of quantity, there can be no some GPU client occupy video memory it is excessive, and other visitor The case where family end point is less than video memory.
A kind of shared method using GPU of more desktop environments, includes the following steps:
Step 1 provides hardware platform;
Wherein, hardware platform is the FT1500A desktop computer based on domestic processor, is configured as follows: CPU is at FT1500A Reason device, the compatible Armv8 instruction set of processor, integrated 4 xiaomi processor cores (FTC660), core clock frequencies 1.5GHz, L1 data Cache 32KB, L2Cache 2MB, L3 Cache 8MB, peak performance 24GFlops, memory size 8GB, video card are The HD7450 video card of Advanced Micro Devices production, disk are Samsung SSD hard disk, and display is the liquid crystal display of HDMI interface;
Step 2, on a hardware platform adaption system A (Android) and system B (Ubuntu Linux), hardware platform point Other independent startup system A and system B, and system A and system B enter desktop environment;
Wherein, the version of system A be Android-7.1.2, the 16.04 of the version of system B;
Step 3, system kernel addition GPU switching module, GPU virtual module A, GPU virtual module B in system B;
After step 4, activation system B, the activation system A in a new container (Container), and display system desktop B;
After step 5, system A start completion, system desktop A and system desktop B, system desktop A and system desktop B points of modification It Shi Yong not GPU virtual module A, GPU virtual module B;
Desktop switch controller A and desktop switch controller B is added in step 6 in system desktop A and system desktop B, leads to It crosses desktop switch controller A and desktop switch controller B control GPU switching module and carries out desktop switching;
Step 7, by the desktop switch controller A in system desktop A, desktop is switched to system desktop B;
Step 8, by the desktop switch controller B in system desktop B, desktop is switched to system desktop A.
Wherein, desktop switch controller A and desktop switch controller B is an icon respectively, when double-clicking icon, control GPU switching module carries out desktop switching.
The above description is merely a specific embodiment, but scope of protection of the present invention is not limited thereto, any Those familiar with the art in the technical scope disclosed by the present invention, can easily think of the change or the replacement, and should all contain Lid is within protection scope of the present invention.Therefore, protection scope of the present invention should be based on the protection scope of the described claims.

Claims (10)

1. a kind of shared framework using GPU of more desktop environments, including GPU hardware, system kernel, system desktop A, system desktop B, GPU client A and GPU client B;
System kernel includes GPU drive module, GPU switching module, GPU virtual module A, GPU virtual module B,
GPU client A is constituted by the desktop programs of android system and directly using the program of GPU rendering interface,
GPU client B is constituted by the desktop programs of linux system and directly using the program of GPU rendering interface,
GPU drive module and GPU hardware constitute GPU server-side, and GPU client A passes through the GPU drive module tune in system kernel Use GPU hardware;
Desktop switch controller A is added in system desktop A, and desktop switch controller B, desktop switch controller A is added in system desktop B With desktop switch controller B difference control system desktop A or system desktop B as current desktop.
2. a kind of shared framework using GPU of more desktop environments according to claim 1, it is characterised in that: the virtual mould of GPU Block A and GPU virtual module B provides GPU interface to GPU drive module, and GPU virtual module A and GPU virtual module B constitutes void It is GPU hardware or virtual GPU equipment that quasi- GPU equipment, system desktop A and system desktop B, which need not distinguish between used equipment,.
3. a kind of shared framework using GPU of more desktop environments according to claim 2, it is characterised in that: modification system The code segment for using GPU hardware is replaced with the code segment using GPU virtual module A by desktop A, and system desktop A is run to On GPU virtual module A;
It modifies system desktop B and the code segment for using GPU hardware is replaced with the code segment using GPU virtual module B, system Desktop B is run on GPU virtual module B.
4. a kind of shared framework using GPU of more desktop environments according to claim 3, it is characterised in that: GPU switches mould Block provides the interface of GPU server-side, the GPU client A and GPU client B on upper layer is used the request sum number of GPU server-side Switch use by control GPU switching module according to GPU hardware, desktop switch controller A and desktop switch controller B is transmitted to GPU hardware.
5. a kind of shared framework using GPU of more desktop environments according to any one of claims 1-4, feature exist In: in the case where not supporting system desktop A and system desktop B shared using GPU, GPU client calls GPU hardware to have function It calls and the physical memory of GPU hardware directly accesses two ways.
6. a kind of shared framework using GPU of more desktop environments according to claim 5, it is characterised in that:
(1) function call;
GPU virtual module A and GPU virtual module B provides function call interface identical with GPU drive module and parameter, the two Semantic identical, system desktop A needs to call ioctl interface (IOCTL_GPU_FUNC1 ...), this time calls and is just forwarded to GPU void Quasi- modules A, GPU virtual module A call svgpu_drv_func1 interface, and svgpu_drv_func1 interface forwards the request to down Grade GPU switching module, GPU switching module call gs_svgpu_drv_func1 interface to be handled, and final call to GPU drives It is executed in the gpu_drv_func1 interface of module, GPU drive module is called into the gpu_func1 interface of GPU hardware;
(2) physical memory of GPU hardware directly accesses;
In order to reduce the modification expense of GPU client, the access interface for needing that function call and GPU physical memory is allowed directly to access It does not change.
The physical memory of GPU hardware is directly accessed, guarantees the access mode of GPU client and the feelings of not shared GPU hardware Condition is identical.The physical memory of GPU hardware directly accesses: reducing the expense of data transmission, GPU client writes direct data The video memory of GPU hardware, rather than memory is write the data to, then data are transferred in GPU hardware from video memory by dma operation It deposits, the access interface of GPU hardware supports the consistent video memory read-write operation of data, in the allocated phase of video memory, guarantees each GPU visitor The video memory of family end distribution is not overlapped, and when multiple GPU clients use video memory simultaneously, needs to guarantee each GPU Client is all assigned to the suitable video memory of quantity, and there can be no some GPU client excessive, and other clients that occupy video memory The case where dividing less than video memory.
7. a kind of shared method using GPU of more desktop environments, includes the following steps:
Step 1 provides hardware platform;
Step 2, on a hardware platform adaption system A (Android) and system B, hardware platform independently activation system A and are Unite B, and system A and system B enter desktop environment;
Step 3, system kernel addition GPU switching module, GPU virtual module A, GPU virtual module B in system B;
After step 4, activation system B, the activation system A in a new container, and display system desktop B;
After step 5, system A start completion, system desktop A and system desktop B is modified, system desktop A and system desktop B make respectively With GPU virtual module A, GPU virtual module B;
Desktop switch controller A and desktop switch controller B is added in step 6 in system desktop A and system desktop B, passes through table Face switch controller A and desktop switch controller B control GPU switching module and carry out desktop switching;
Step 7, by the desktop switch controller A in system desktop A, desktop is switched to system desktop B;
Step 8, by the desktop switch controller B in system desktop B, desktop is switched to system desktop A.
8. a kind of shared method using GPU of more desktop environments according to claim 7, it is characterised in that: hardware platform For the FT1500A desktop computer based on domestic processor, configure as follows: CPU is FT1500A processor, and the compatible Armv8 of processor refers to Collection is enabled, 4 xiaomi processor cores, core clock frequencies 1.5GHz, L1 data Cache32KB, L2 Cache2MB, L3 are integrated Cache8MB, peak performance 24GFlops, memory size 8GB, video card are the HD7450 video card of Advanced Micro Devices production, disk three Star SSD hard disk, display are the liquid crystal display of HDMI interface.
9. a kind of shared method using GPU of more desktop environments according to claim 7, it is characterised in that: the version of system A This is Android-7.1.2, the 16.04 of the version of system B.
10. a kind of shared method using GPU of more desktop environments according to claim 7, it is characterised in that: desktop switching Controller A and desktop switch controller B is an icon respectively, and when double-clicking icon, control GPU switching module carries out desktop and cuts It changes.
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 true CN110442389A (en) 2019-11-12
CN110442389B 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)

Cited By (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
CN112114916A (en) * 2020-08-31 2020-12-22 北京技德系统技术有限公司 Method and device for compatibly running Android application on Linux operating system
CN113220474A (en) * 2021-04-21 2021-08-06 麒麟软件有限公司 Android application sharing Linux system screen data method based on Android-EMUGL

Citations (67)

* 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
US20130093776A1 (en) * 2011-10-14 2013-04-18 Microsoft Corporation Delivering a Single End User Experience to a Client from Multiple Servers
US20130181998A1 (en) * 2012-01-17 2013-07-18 Microsoft Corporation Para-virtualized high-performance computing and gdi acceleration
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
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
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
US20160216993A1 (en) * 2015-01-25 2016-07-28 Objective Interface Systems, Inc. Multi-session Zero Client Device and Network for Transporting Separated Flows to Device Sessions via Virtual Nodes
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
CN106775940A (en) * 2016-12-06 2017-05-31 郑州云海信息技术有限公司 A kind of graphic system and virtual method
CN106797398A (en) * 2014-10-16 2017-05-31 华为技术有限公司 Method and system for providing from virtual desktop serve to client
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
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
CN107102897A (en) * 2016-02-23 2017-08-29 深圳市知穹科技有限公司 A kind of database active defense method of many GPU parallel processings
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
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
US20180011711A1 (en) * 2016-07-07 2018-01-11 Intel Corporation Apparatus to optimize gpu thread shared local memory access
CN107678853A (en) * 2016-08-02 2018-02-09 中国电信股份有限公司 The dispatching method and device of graphics processing tasks
US20180082466A1 (en) * 2016-09-16 2018-03-22 Tomas G. Akenine-Moller Apparatus and method for optimized ray tracing
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
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
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
EP3376361A2 (en) * 2017-10-19 2018-09-19 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US20180267836A1 (en) * 2017-03-15 2018-09-20 Samsung Electronics Co., Ltd. Method for using local bmc to allocate shared gpu resources inside nvme over fabrics system
US20180293776A1 (en) * 2017-04-07 2018-10-11 Intel Corporation Apparatus and method for efficient graphics virtualization
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
US20180365792A1 (en) * 2017-06-20 2018-12-20 Think Silicon Sa Asymmetric multi-core heterogeneous parallel processing 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
CN109542567A (en) * 2018-11-20 2019-03-29 四川长虹电器股份有限公司 The rendering method and browser of browser based on Linux platform
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
CN109698970A (en) * 2018-11-16 2019-04-30 南京熊猫电子股份有限公司 TV multifunctional single key control method and Android TV based on android system
US20190130645A1 (en) * 2017-10-31 2019-05-02 Vmware, Inc. Augmented reality and virtual reality engine for virtual desktop infrastucture
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

Patent Citations (67)

* 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
US20130093776A1 (en) * 2011-10-14 2013-04-18 Microsoft Corporation Delivering a Single End User Experience to a Client from Multiple Servers
US20130181998A1 (en) * 2012-01-17 2013-07-18 Microsoft Corporation Para-virtualized high-performance computing and gdi acceleration
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
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
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
US20160216993A1 (en) * 2015-01-25 2016-07-28 Objective Interface Systems, Inc. Multi-session Zero Client Device and Network for Transporting Separated Flows to Device Sessions via Virtual Nodes
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
US20180011711A1 (en) * 2016-07-07 2018-01-11 Intel Corporation Apparatus to optimize gpu thread shared local memory access
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)
US20180082466A1 (en) * 2016-09-16 2018-03-22 Tomas G. Akenine-Moller Apparatus and method for optimized ray tracing
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
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
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
CN107077377A (en) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 A kind of device virtualization method, device, system and electronic equipment, computer program product
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
CN106886455A (en) * 2017-02-23 2017-06-23 北京图森未来科技有限公司 A kind of method and system for realizing user isolation
US20180267836A1 (en) * 2017-03-15 2018-09-20 Samsung Electronics Co., Ltd. Method for using local bmc to allocate shared gpu resources inside nvme over fabrics system
US20180293776A1 (en) * 2017-04-07 2018-10-11 Intel Corporation Apparatus and method for efficient graphics virtualization
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
US20180365792A1 (en) * 2017-06-20 2018-12-20 Think Silicon Sa Asymmetric multi-core heterogeneous parallel processing system
EP3376361A2 (en) * 2017-10-19 2018-09-19 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US20190130645A1 (en) * 2017-10-31 2019-05-02 Vmware, Inc. Augmented reality and virtual reality engine for virtual desktop infrastucture
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

Cited By (5)

* 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
CN112114916A (en) * 2020-08-31 2020-12-22 北京技德系统技术有限公司 Method and device for compatibly running Android application on Linux operating system
CN112114916B (en) * 2020-08-31 2021-06-08 北京技德系统技术有限公司 Method and device for compatibly running Android application on Linux operating system
CN113220474A (en) * 2021-04-21 2021-08-06 麒麟软件有限公司 Android application sharing Linux system screen data method based on Android-EMUGL
CN113220474B (en) * 2021-04-21 2022-08-30 麒麟软件有限公司 Android application sharing Linux system screen data method based on Android-EMUGL

Also Published As

Publication number Publication date
CN110442389B (en) 2024-01-09

Similar Documents

Publication Publication Date Title
CN103282881B (en) Smart machine is directly shared by virtualization
CN104583979B (en) Dynamic physical memory partition technology
KR101495862B1 (en) Virtual server and virtual machine management method for supporting zero client
CN110442389A (en) A kind of shared method using GPU of more desktop environments
RU2649771C2 (en) Mass storage virtualization for cloud computing
CN103034524A (en) Paravirtualized virtual GPU
JP6412708B2 (en) Processing system and multi-processing system
CN104321749A (en) Architecture and method for managing interrupts in a virtualized environment
CN102707991A (en) Multi-root I/O (Input/Output) virtualization sharing method and system
TW201019263A (en) Integrated GPU, NIC and compression hardware for hosted graphics
CN112148422A (en) IO processing method and device
CN106020929A (en) System and method for supporting 3D application in virtual environment
CN103744716A (en) Dynamic interrupt balanced mapping method based on current virtual central processing unit (VCPU) scheduling state
JP2013508869A (en) Application image display method and apparatus
US20130219393A1 (en) Zoning data to a virtual machine
CN113419845A (en) Calculation acceleration method and device, calculation system, electronic equipment and computer readable storage medium
CN113037795B (en) Thin terminal system and processing method thereof
JP6373620B2 (en) Game provision system
CN115526770A (en) Scaling for virtualized graphics processing
CN115202827A (en) Method for processing virtualized interrupt, interrupt controller, electronic device and chip
CN115309511A (en) Xen-based data interaction method and device, storage medium and electronic equipment
CN205103599U (en) Cross -border trade BPO uses cloud terminating set
CN116886751B (en) High-speed communication method and device of heterogeneous equipment and heterogeneous communication system
CN113886018A (en) Virtual machine resource allocation method, device, medium and equipment
CN106257889B (en) Expansion device of virtual interface and network servo system thereof

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