Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: GPU acceleration via virtio-GPU native contexts #191

Open
DemiMarie opened this issue Jun 19, 2024 · 4 comments
Open

feature: GPU acceleration via virtio-GPU native contexts #191

DemiMarie opened this issue Jun 19, 2024 · 4 comments

Comments

@DemiMarie
Copy link

This allows for GPU acceleration without the firmware/hardware nightmare that is PCI passthrough. It is in production in ChromeOS for Qualcomm GPUs, under development for Intel, AMD, and GPUs, and neither requires nor uses GPU hardware virtualization support. It works by forwarding the GPU kernel driver API, which is already a security boundary. Most kernel driver vulnerabilities are mitigated, as ioctl submission is serialized and arguments are at least somewat validated.

Qubes OS will be using native contexts for GPU virtualization (QubesOS/qubes-issues#8552) and I am interested in collaborating on the implementation. I presented on this at Xen Project Summit 2024.

@azenla
Copy link
Member

azenla commented Jun 24, 2024

This could be very interesting! Our use case is slightly different in that we need to support things like CUDA, would that be tenable in this situation? If not, we may have to still retain support for NVIDIA vGPUs in our commercial product.

@DemiMarie
Copy link
Author

This could be very interesting! Our use case is slightly different in that we need to support things like CUDA, would that be tenable in this situation? If not, we may have to still retain support for NVIDIA vGPUs in our commercial product.

I’m not very familiar with how Nvidia vGPU works, but my understanding is that it uses mediated devices. Does the vGPU Manager use a kernel module (other than nvidia.ko)?

@azenla
Copy link
Member

azenla commented Jul 1, 2024

It uses the standard kernel modules, so nvidia.ko and friends :)

@DemiMarie
Copy link
Author

It uses the standard kernel modules, so nvidia.ko and friends :)

Does it support the open source versions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants