Note: I haven't dealt with sound yet, which is another potential sticking point if you're doing gaming (most people seem to use a separate sound device, although I've seen some people use network sound when running into issues; HDMI sound I assume would work fine if you're doing GPU pass through) since I was just focused on getting my VR HMD working, which has it's own sound output already.
IOMMU groups are defined by AGESA and the X570 boards in general seem to have much finer grained groupings vs earlier AMD chips/boards (although people seem to have done ACS workarounds). My recommendation is to find something that someone has gotten working already and just follow along (the VFIO subgroup at level1techs and r/VFIO on reddit seem to be the best resources).
Caveats:
- Anti-cheat systems used in multiplayer games generally don't like running in VMs. - Consumer Nvidia cards don't get reset on VM reboot, you need to reboot the machine. - IIRC Nvidia cards need a KVM hack to get the driver to work.
Nvidia cards do require a config workaround for VM detection but the workaround is relatively straightforward (and works w/o further mucking).
The Asrock X570 board mentioned definitely has support, as do the other high-end X570s I looked at like the Aorus Master, Asus C8H, Pro WS, etc.
Based on X570 BIOS updates so far (and their overkill VRMs this gen), I think the Gigabyte/Aorus boards would be my pick atm (I went w/ a C8H and I'm somewhat unhappy w/ the CPU/memory voltage wonkiness when tweak, but it does give me 30 IOMMU groups, so I'm able to do GPU passthrough via VFIO to a Windows VM w/o any issues).