flashinfer.comm.UlyssesRankTopology¶
- class flashinfer.comm.UlyssesRankTopology(rank: int, hostname: str = '', device_index: int = -1, device_uuid: str = '', pci_bus_id: str = '', numa_node: int = -1, nic_name: str = '', peer_p2p: ~typing.Dict[str, bool] = <factory>, peer_nvlink: ~typing.Dict[str, bool] = <factory>, pair_errors: ~typing.Dict[str, str] = <factory>, route: str = 'auto', nics: str = '', pcie_error: str | None = None, probe_error: str | None = None, gid_index: int = -1, gid_indices_override: ~typing.Tuple[int, ...] | None = None, gid_error: str | None = None)¶
Per-rank topology probe result, exchanged across the group.
peer_p2p/peer_nvlinkare keyed by the peer GPU’s UUID so the decision layer can join results across ranks regardless of each process’sCUDA_VISIBLE_DEVICESordering. A peer GPU that is not visible to this rank is simply absent from the dicts (treated as no-P2P).- __init__(rank: int, hostname: str = '', device_index: int = -1, device_uuid: str = '', pci_bus_id: str = '', numa_node: int = -1, nic_name: str = '', peer_p2p: ~typing.Dict[str, bool] = <factory>, peer_nvlink: ~typing.Dict[str, bool] = <factory>, pair_errors: ~typing.Dict[str, str] = <factory>, route: str = 'auto', nics: str = '', pcie_error: str | None = None, probe_error: str | None = None, gid_index: int = -1, gid_indices_override: ~typing.Tuple[int, ...] | None = None, gid_error: str | None = None) None¶
Methods
__init__(rank[, hostname, device_index, ...])Attributes
device_indexdevice_uuidgid_errorgid_indexgid_indices_overridehostnamenic_namenicsnuma_nodepci_bus_idpcie_errorprobe_errorrouterankpeer_p2ppeer_nvlinkpair_errors