GPU-g is gpu sharing or cutting?


Jianjie Lin
 

Hi ACRN community,

 

As I got reply last time from the community, that by using the gvt-g, we CAN NOT assign the e.g. 60 % GPU to uos.

Now I have another question is about the theory of GVT-G,

If I use the gvt-g with parameter -G "10 128 6"  to launch UOS0,

my question is that the other UOS such as UOS1 can access this part GPU or not? Or more especially, the gvt-g will “cut” the GPU or just doing the GPU-sharing?

1.       “cut” means that if we assign this part to UOS0,  and other UOS CAN not  access this part

2.       “sharing” means that other UOS can share the GPU with UOS0 in the same GPU memory.

 

Thank you for your reply in advanced.

Cheers,

Jianjie Lin

 


Zou, Terry
 

Hi Jianjie, basically GVT-g is based on mediated passthrough technology for graphics sharing between VMs, that could provide full GPU feature as vGPU in each VM, and also secure the isolation among VMs.

So for memory virtualization, it is not simplify ‘cut’ or ‘sharing’ for GPU memory assignment, but at least from general vGPU perspective, one VM cannot touch/access other VM’s memory address, and Hypervisor/DM would handle GPA<->HPA translation right.

 

GVT-g passes through the performance-critical operations, such as Frame Buffer and Command Buffer from the VM. For the global graphics memory space, GVT-g uses graphics memory resource partitioning and an address space ballooning mechanism.

You can find more detailed graphics memory virtualization arch design in: https://projectacrn.github.io/latest/developer-guides/hld/hld-APL_GVT-g.html#graphics-memory-virtualization

 

Best & Regards

Terry

 

From: acrn-users@... <acrn-users@...> On Behalf Of Jianjie Lin
Sent: Tuesday, September 7, 2021 10:40 PM
To: acrn-users@...
Subject: [acrn-users] GPU-g is gpu sharing or cutting?

 

Hi ACRN community,

 

As I got reply last time from the community, that by using the gvt-g, we CAN NOT assign the e.g. 60 % GPU to uos.

Now I have another question is about the theory of GVT-G,

If I use the gvt-g with parameter -G "10 128 6"  to launch UOS0,

my question is that the other UOS such as UOS1 can access this part GPU or not? Or more especially, the gvt-g will “cut” the GPU or just doing the GPU-sharing?

  1. “cut” means that if we assign this part to UOS0,  and other UOS CAN not  access this part
  2. “sharing” means that other UOS can share the GPU with UOS0 in the same GPU memory.

 

Thank you for your reply in advanced.

Cheers,

Jianjie Lin