A Journey to Support vGPU in Firecracker
summary
Implemented vGPU support by adding a PCI device path parser, creating a mPCIe bus in Firecracker, and instantiating devices via VFIO passthrough using the host's sysfs info. Reuses host-side SR-IOV/mediated device infrastructure and borrows cloud-hypervisor ioctl bindings for ioctls and headers. Tested on Intel iGPU and AMD hardware; guest sees the device but drivers fail (missing VBIOS/ACPI tables and DRM errors). Outcome: proof of concept works for detection but not stable for production.
AI-written summary · about
chapters (12)
- 0:00Intro
- 2:03Outline
- 6:33ARM GPU Virtualization Update
- 7:57Motivation
- 8:52Discussion
- 9:44How it works
- 11:33What I did
- 13:09Backport and Refactor for Firecracker
- 17:33Firecracker and VGPU, is it a good fit?
- 19:23What do we want in the first place?
- 20:28New ideas?
- 22:15Conclusion
related talks
34mDeclarative Device Virtualization: Orchestrating GPUs & Hardware in Cloud Native Environments
28mGPU sharing done right: Secrets, security, and scaling with Vault and vCluster
31mBut we have GPUs at home - on-prem ai with kubernetes, Openstack & KubeVirt
41mTowards a Cross-Hypervisor Test Framework for VirtIO Backend Validation Using VirtIO...
29mBuilding containerized workflows with virtio/vDPA
27mKubeVirt vDPA Workflow: From Host to Pod to Domain
32mTo InfiniBand and Beyond!
36mBringing vDPA to Life in Kubernetes
