摘要 |
A method for implementing GPU virtualization. The method is applied to a physical host and the physical host includes: a hardware layer including a GPU, a Host running on the hardware layer, and N back-end GPU Domains and M front-end VMs that run on the Host, where there are service channels between the N back-end GPU Domains and the M front-end VMs. The method includes: transferring, by an mth front-end VM, a GPU command to an nth back-end GPU Domain based on the service channels; and processing, by the nth back-end GPU Domain, the GPU command by using a GPU, to obtain corresponding processing result data, where the type of the operating systems running on the nth back-end GPU Domain and the mth front-end VM is same. The invention helps to optimize performance of a GPU virtualization system. |
主权项 |
1. A method for implementing graphics processing unit GPU virtualization, wherein the method is applied to a physical host, wherein the physical host comprises: a hardware layer comprising a GPU, a Host running on the hardware layer, and N back-end GPU Domains and M front-end virtual machines VMs that run on the Host, wherein there are corresponding front-end and back-end service channels between the N back-end GPU Domains and the M front-end VMs, N is a positive integer greater than or equal to 1, M is a positive integer greater than or equal to 1, M is greater than or equal to N, M is greater than or equal to N, n is a positive integer is less than or equal to N, m is a positive integer is less than or equal to M, and the method comprises:
transferring, by an mth front-end VM, a to-be-transferred GPU command to an nth back-end GPU Domain based on front-end and back-end service channels between the nth back-end GPU Domain of the N back-end GPU Domains and the mth front-end VM of the M front-end VMs, wherein a type of an operating system of the nth back-end GPU Domain is the same as a type of an operating system of the mth front-end VM; and processing, by the nth back-end GPU Domain, the transferred GPU command by using one or more GPUs, to obtain corresponding processing result data. |