Missing a fair bit of detail
The article will get you up and running to some extent, but there's a lot of gochas. This really is something ESXi does much better than the alternatives.
It's only 'a basic task' as the first poster notes, when a load of code has been written and a strict hardware compatibility list is in use. Although it's hardly insurmountable elsewhere.
As is noted later in the article when passing through a GPU be certain to pass through the audio device in addition to the graphics device, the HDMI audio part usually being nnnn:nn:nn.1
On average you'll experience far more success with the official closed source Nvidia drivers in the VM than using Nouveau.
There is nothing stopping you passing multiple GPUs or other PCI-e (or indeed PCI) devices to the same VM. Which gets the BIOS on boot if you're daft enough to use the passed through card as the only graphics output may be another question though.
I'd recommend googling 'PCI_passthrough_via_OVMF' for Arch Linux to check iommu groups on your hardware. ESXi makes this easy by displaying it graphically. It's enforced/documented to a varying degree on other software. If for some reason you're passing through PCI, all PCI slots are by definition in the same IOMMU group because they don't feature root ports and note that any onboard graphics may be PCI. Stick to PCI-e!
Most modern systems are probably OK, with one device per group. With older systems you may struggle. All devices in the same group must be passed through to the VM at the same time. If they're owned by and written to by different VMs/the host and a VM Very Bad Things Occur. If you're a consumer and want to fiddle with an old motherboard that supports VT-d beware, there are many sub standard BIOSes out there. Use modern hardware on a HCL.
Unless you have a fancy and expensive multi controller USB card, you cannot pass through each port individually to different VMs. Use the USB mapping facilities within your virtualisation product.
You may also not be able to pass through ports from a discrete USB card if onboard legacy USB is enabled (this is a BIOS setting). Except 'legacy USB' is used by some BMC to provide virtual media support, so you can't pass through discrete USB cards/ports and have virtual media enabled at the same time.
Use Nvidia for GPU passthrough. Do not bother with AMD unless it is a workstation card that explicitly supports passthrough (they did make one at some point). Other AMD GPUs will pass through fine *once* (by 'once' this includes not rebooting the VM) . Thereafter unless you're lucky, and using specific (unreliable) workarounds, it may need a cold host reboot to get it working again.
I've used ESXi, Xen & XCP, KVM, and FreeBSD (byhve) for passthrough in the past. ESXi is generally a doddle. KVM had GPU passthrough working years ago, Xen was more of a hassle but will have caught up now. bhyve is bleeding edge - it *does* work to some extent but it's a very movable feast and is immature as passthrough on VM systems goes, expect pain.