Segment 3

This sub-session focused on resolving the critical cross-GPU communication bottleneck caused by the lack of Peer-to-Peer (P2P) DMA in the Proxmox KVM VM. The assistant guided the user through deep investigation of the host's PCIe topology, modification of the Proxmox host kernel command line to enable IOMMU passthrough, and migration of the VM from the legacy i440FX chipset to Q35 with proper PCIe device passthrough. A severe BAR allocation failure that prevented detection of 6 GPUs was fixed by adding `pci=realloc` to the guest kernel. All 8 GPUs became fully operational with PCIe Gen5 x16 links, but P2P remained unsupported. An attempt to disable ACS to merge IOMMU groups failed because each GPU is physically attached to its own distinct PCIe root complex on the AMD EPYC platform, with no shared PCIe switch—a fundamental hardware topology constraint. The VM subsequently failed to boot due to stale IOMMU group numbers in the Proxmox PCI mapping file, which was resolved by updating the mapping. The session concluded with the user asking about hacky workarounds to bypass IOMMU group separation, prompting investigation into insecure kernel parameters and modules like `vfio_iommu_type1.allow_unsafe_interrupts` and `nv_peer_mem`.

Investigate host PCIe topology and IOMMU groupsModify Proxmox host kernel for IOMMU passthroughMigrate VM from i440FX to Q35 with PCIe passthroughFix BAR allocation failure with pci=reallocAttempt ACS disable to merge IOMMU groupsUpdate Proxmox PCI mapping file for VM boot fixInvestigate hacky workarounds for cross-group P2P

The Architecture of Impossibility: An 8-GPU Proxmox VM's Battle Against the Physics of PCIe Topology 4278 words

Chunks