Expand description
PCI topology parsing and device discovery utilities for RDMA device selection.
ibverbs-specific selection logic lives in crate::backend::ibverbs::device_selection.
Structs§
- PCIAddress
- A PCI address, e.g.
0000:07:00.0, as found under/sys/bus/pci/devices. - PciPath
- A classified path between two PCI endpoints: its
PathTypeand the bottleneck (minimum) PCIe link bandwidth along it, in MB/s.
Enums§
- Memory
Location - A source of memory for a transfer. A
Noneindex means “any device of this kind”: the location is then ranked against the best of all CPU nodes or all GPUs. - Path
Type - Locality of a path between two PCI endpoints, ordered best to worst. A path’s type is its worst (least local) segment.
Functions§
- cpu_
path - Path from CPU memory to the device at
addr. With a specific NUMA node, the device isPathType::Phbwhen it sits on that node andPathType::Sysotherwise; withNone(any CPU) it is judged against its own node and so is alwaysPathType::Phb. Bandwidth is the device’s PCIe chain bottleneck. - cuda_
device_ count - Number of CUDA devices visible to this process.
- cuda_
pci_ address - PCI address of the CUDA device with runtime ordinal
ordinal, from the CUDA driver. - pci_
path - The
PathTypeand bottleneck bandwidth of the PCIe path between two PCI endpoints.