AMD has officially released version 8.0.0.K of its GIM (GPU IOV Module) on GitHub, bringing support for AMD Instinct MI300X GPUs and enhanced SR-IOV (Single Root I/O Virtualization) capabilities for Linux environments. This update reinforces AMD’s commitment to scalable GPU virtualization in KVM/QEMU infrastructures and aims to deliver near-native GPU performance across virtual machines (VMs).
What is GIM and MxGPU?
GIM is a Linux kernel module designed to power MxGPU, AMD’s hardware-based virtualization solution leveraging SR-IOV. Unlike software-emulated solutions, MxGPU enables direct assignment of virtual GPU functions (VFs) to guest VMs, drastically improving efficiency and performance for multi-tenant environments.
With MxGPU, a single MI300X GPU can present multiple isolated VFs, allowing several VMs to utilize the same physical GPU simultaneously — ideal for high-performance computing (HPC), AI/ML workloads, and GPU-intensive virtual desktop infrastructures (VDI).
Key Features in GIM 8.0.0.K
- SR-IOV initialization and virtual GPU provisioning
- World-switch GPU scheduling
- Per-VF fault handling and recovery
- PF/VF communication and resource orchestration
- Optimized for Ubuntu 22.04 + ROCm 6.4, with support for 1 VF per MI300X GPU
The latest release improves compatibility and streamlines installation through a DKMS package or manual compilation. It is designed to be deployed in cloud-scale environments or on-prem enterprise data centers seeking GPU resource consolidation.
Installation Options
Option 1: .deb Package
For quick deployment:
sudo apt update
sudo apt install build-essential dkms autoconf automake
sudo dpkg -i gim_driver_package.deb
sudo modprobe gim
To verify:
lspci -d 1002:74b5
dmesg | grep GIM
Option 2: Build from Source
For those seeking flexibility or bleeding-edge features:
git clone https://github.com/amd/MxGPU-Virtualization.git
cd MxGPU-Virtualization
make clean && make all -j
sudo make install
sudo modprobe gim
VM Integration and Setup
Using libvirt and QEMU, administrators can assign GPU VFs directly to guest VMs by editing the domain XML and inserting the VF device PCI addresses under <hostdev>
.
For example:
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x03' slot='0x02' function='0x0'/>
</source>
</hostdev>
The guest VM must have the ROCm stack installed, and amdgpu
modules loaded to access the virtual GPU instance.
Real Use Cases and Impact
MxGPU’s efficient sharing model is especially beneficial in environments where GPU density, power efficiency, and isolation are critical:
- AI model training in virtualized research clusters
- Secure multi-tenant GPU compute in public/private clouds
- Rendering workloads across containerized environments
- Scalable VDI solutions with GPU acceleration
System Requirements
- AMD Instinct MI300X GPU
- Ubuntu 22.04.5 with kernel 5.15
- BIOS: SR-IOV, IOMMU, and Above 4G Decoding enabled
- QEMU/KVM + libvirt
Final Thoughts
With GIM 8.0.0.K, AMD not only expands the virtualization capabilities of its GPU stack but also positions itself as a major player in secure, high-performance, GPU-based virtualization. The MI300X’s integration into SR-IOV workflows signals AMD’s long-term strategy for HPC, AI, and enterprise-grade GPU infrastructure.
📎 Full source and documentation available at:
https://github.com/amd/MxGPU-Virtualization