This all works using a fairly recent (past 5 years or so) feature of modern CPUs called device virtualization. This allows a virtual machine to have direct access to hardware installed in the host machine (eg. a GPU). So when you boot up the VM the hardware shows up in device manager, you have to install the device drivers, and the VM can use the hardware without any performance penalty. The caveat is that multiple VMs can't use the same device at the same time unless you have hardware that is explicitly designed for it (eg. some very high-end GPUs designed for large VM systems).
Whenever I have tried this, the VM has always been excruciatingly slow. There always seems to be a performance penalty, even when I assign 8 threads and 8 GB of memory (and never load it too much). But I have not used what you mentioned, but simply VMWare Workstation.
Two main VM environments people use for this are VMWare ESXi and the KVM system in Linux. This video is of a guy doing this in VMWare, this video is of a guy doing this in a commercial variant of the Linux KVM system.
Whenever I have tried this, the VM has always been excruciatingly slow. There always seems to be a performance penalty, even when I assign 8 threads and 8 GB of memory (and never load it too much). But I have not used what you mentioned, but simply VMWare Workstation.
Thank you. I'll look into this.
Well, I am convinced. ESXi it is for me.