IOMMU/PCIe Passthrough works, but! There are gotchas.
I am happy to report that the ACS patches still work with Kernel 4.10+ (Kernel 4.10+ is recommended for Ryzen due to additional functionality of the Ryzen hardware). However, it is a bit weird.
On both the ASRock Taichi X370 (Review out at youtube.com/level1techs) and the Aorus Gaming 5 from Gigabyte, the two CPU-connected PCIe x8 slots are both in IOMMU group 2.
Full writeup coming in a moment! here's the patch:
With patch applied:
Update /etc/default/grub
Unfortunately, b350 isn't ideal for iommu because the pcie x16 provided by the cpu apparently can't be split: