VFIO Setup - configuring libvirt domain to use 2950X cores corresponding to the passed through GPU

I need help in configuring my virtual machine to run on the cores which corrispond to the GPU attached to it.

My VM’s xml: https://pastebin.com/5RhLyCae
Output of $ lspci -nn: https://pastebin.com/1huyj4QM
lstopo:

My harware configuration is:

Motherboard: ASRock x399 Taichi (ATX varient)
32 Gigs Gskill ripjawz V (4 x 8 Gigs  -- populated as per the manual)
Host GPU: XFX RX 480 8 gig (1st PCI slot)
Guest GPU: MSI 970 (2nd PCI slot)

The virt-manager GUI won’t let me set specific CPU topology for the guest, and I’m a bit anxious to edit the xml file.

I have just set up the system yesterday, and this is my first real time trying linux in a desktop fashion, so if you see any discrepancies in my setup, please let me know.

Don’t worry about editing the XML file.

Just make a backup copy with virsh dumpxml vmname > /path/to/file.xml and if you screw anything up you can delete the VM without deleting the virtual disk files, then you can recreate the VM using your backed up XML using virsh define /path/to/file.xml

Additionally, virsh edit vmname will do some basic checking and will throw an error and not save changes for some issues with your edits.