Hi,
Never mind, I figured it out. hwloc_cudart_get_device_pci_ids was giving
the PCI Domain as being 0 for all GPUs. Looking at hwloc/cudart.h, I
found some strange conditional. Removing it solved the problem. Is
CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID a holdover from some older CUDA version?
diff --git a/include/hwloc/cudart.h b/include/hwloc/cudart.h
index 243e0fd..e2fd74d 100644
--- a/include/hwloc/cudart.h
+++ b/include/hwloc/cudart.h
@@ -56,12 +56,7 @@ hwloc_cudart_get_device_pci_ids(hwloc_topology_t
topology __hwloc_attribute_unus
return -1;
}
-#ifdef CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID
*domain = prop.pciDomainID;
-#else
- *domain = 0;
-#endif
-
*bus = prop.pciBusID;
*dev = prop.pciDeviceID;
Imre