
Last year was a merge request adding ROCm native context support for Virglrenderer. That ROCm native context support has yet to be merged into Virglrenderer for the AMD GPU compute stack for virtualized GPU computing. But now they are looking at a new implementation for providing better support in virtualized environments.
AMD engineer Honglei Huang started a new discussion today around developing a new back-end for ROCm GPU compute under QEMU. With the existing implementation using the VirtIO GPU context type and sharing the display path, they have encountered some roadblocks. Besides many accelerators lacking a display engine, leveraging the VirtIO GPU context type shared with the display path is causing contention and display stuttering. Compute contexts also typically need more memory access than what's allowed, and the ROCm stack not fitting nicely with the render model.
AMD thus is looking at implementing a dedicated headless VirtIO GPU instance solely for compute. They are also developing an open-source ROCm back-end library loaded in-process by QEMU that would be distributed in the future as part of their ROCm stack.
If this topic of AMD ROCm under QEMU for improved virtualized compute is of interest to you, this mailing list thread is where the discussion has begun over this new possible back-end.