But, given how flaky this can be with Intel configurations, I'd expect the AMD ones to be even flakier. Ryzen's possible popularity may improve the situation.
Then again, I think this is just a very particular use case. I unfortunately have it, but for most people it shouldn't matter.
Guess, we'll have to wait until they come out to see how they behave.
With a practical example:
1 - You boot up your Linux base system.
2 - You fire up KVM with GPU PCI passthrough with a Windows guest to play some games.
3 - You shutdown windows.
Now you can't use the GPU anymore, the module was assigned by KVM and you can't - for instance - run a CUDA simulation in the Linux host. You need to reboot X (you don't need to reboot the system).
The workaround/solution is to fire up KVM with GPU PCI passthrough to another guest (This time a Linux guest) and in there you will have full access to the GPU to do CUDA computations (or whatever else you want).
However if you only have one nvidia gpu (and have a different kind of gpu for display), then I think simply running "sudo rmmod vfio" "sudo modprobe nvidia" would work.
Maybe we had different setups, so this wouldn’t apply – I used to unbind the device with the following script, and then load the `nvidia` module; the device was then available on the host:
for dev in "0000:01:00.0" "0000:01:00.1"; do
if [ -e /sys/bus/pci/devices/${dev}/driver ]; then
echo "${dev}" > /sys/bus/pci/devices/${dev}/driver/unbind
fi
done