LibVF.IO: Add GPU Virtual Machine (GVM) support

LibVF.IO: Add GPU Virtual Machine (GVM) support

Arthur Rasmusson (Co-Founder, Arc Compute)



Summary

LibVF.IO (vGPU & SR-IOV on Consumer GPUs) has added support for GPU Virtual Machine (GVM).


Pictured: The GPU Virtual Machine (GVM) project logo.



Introduction

OpenMdev is committed to making GPU virtualization accessible to a wider audience by building support through GPL licensed tools that work for the widest range of users and devices possible. In short we're trying our best to bring GPU virtualization to everyone. To this end we created LibVF.IO to make GPU virtualization easier than ever on a wide range of devices (desktops, laptops, embedded, and servers). Today we're announcing support for GPU Virtual Machine (GVM) in LibVF.IO.


Pictured: A section of the LibVF.IO install guide detailing virtual GPU (vGPU) configuration in GVM.


GPU Virtual Machine (GVM) builds upon our prior work and extends user control further into the GPU by supporting the user's ability to create mediated GPU types (vGPUs) exactly matching their specified GVM configuration.

Read the updated setup guide
https://arccompute.com/blog/libvfio-commodity-gpu-multiplexing/


Next Steps

Packaging

Currently installation of GVM for Nvidia GPUs is handled through LibVF.IO. Due to an XML signature which normally prevents the user from making changes to mediated device configuration we are not able to package GVM's components and install them in place under an existing driver.

Packaging of GVM components will require that we remove this signature in-place rather than ahead of time by installing drivers next to GVM. Packaging work is ongoing so that installation scripts will no longer be necessary.

While this limitation remains to make it easy for users of other management stacks (like Libvirt) we also added ./scripts/install-standalone-gvm-components.sh so the user may install exclusively the components needed to interact with GVM through Libvirt & Mdevctl without bringing LibVF.IO along with it.


Improved Support For Devices

To see a full list of supported devices visit the GPU Support page on OpenMdev.

At this time GPU Virtual Machine provides public support for Nvidia GPUs. With Intel's forthcoming Xe products comes the opportunity to build widely available open source support for SR-IOV for GPUs with widespread installation both through it's soon to be released Arctic Sound and Xe devices.

We look forward to announcing public support for a wider range of devices in the near future.


Community

If you would like to ask questions about LibVF.IO or GVM you can join our friendly community. We'd love to help you troubleshoot your setup or work together to improve our open sources.


Discord
https://discord.gg/Rb9K9DYxKK
IRC
#gvm & #gvm-devel on oftc.net