hwloc_xml_parser package

Submodules

hwloc_xml_parser.topology module

class hwloc_xml_parser.topology.Core(*, os_index: int, parent: Object | None = None, element: dataclasses.InitVar[Element])

Bases: Object

Core.

get_num_pus() int

Returns the number of processing units.

classmethod parse(element: Element, parent: Package | Group | None = None) Core
pus: tuple[PU, ...]
class hwloc_xml_parser.topology.Group(*, os_index: int, parent: Object | None = None, element: dataclasses.InitVar[Element])

Bases: Object

Group, e.g. a cluster.

children: tuple[Core, ...]
classmethod parse(element: Element, parent: Package | None = None) Group
class hwloc_xml_parser.topology.Object(*, os_index: int, parent: Object | None = None, element: dataclasses.InitVar[Element])

Bases: object

Base class for objects (Package, Core, PU, …) that hwloc organizes in a tree.

References:

element: dataclasses.InitVar[Element]
classmethod get_logical_from_physical(type: str, hierarchical_indices: Iterable[str]) Tuple[int, ...]

Method to convert from an OS index (physical index) that the OS assigns to an object to the logical index that hwloc assigns to this object.

property hierarchical_index: str
logical_index: int
os_index: int
parent: Object | None
class hwloc_xml_parser.topology.PU(*, os_index: int, parent: Object | None = None, element: dataclasses.InitVar[Element])

Bases: Object

Processing unit. The smallest unit of computation represented by hwloc.

classmethod parse(element: Element, parent: Core | None = None) PU
class hwloc_xml_parser.topology.Package(*, os_index: int, parent: Object | None = None, element: dataclasses.InitVar[Element])

Bases: Object

Package. Usually equivalent to a socket.

all_equal_num_pus_per_core() bool

Returns True if all cores have the same number of processing units.

children: tuple[Core | Group, ...]
cores: tuple[Core, ...]
get_num_cores() int

Returns the number of cores.

get_num_pus() int

Returns the number of processing units.

classmethod parse(element: Element) Package
class hwloc_xml_parser.topology.SystemTopology(load: bool = True, caches: bool = False, io: bool = False, bridges: bool = False)

Bases: object

Read the system topology as reported by hwloc’s tool lstopo.

References:
LSTOPO_NO_GRAPHICS: Final[str] = 'lstopo-no-graphics'
all_equal_num_pus_per_core() bool

Returns True if all cores have the same number of processing units.

get_num_cores() int

Returns the number of cores.

get_num_packages() int

Returns the number of packages.

get_num_pus() int

Returns the number of processing units.

recurse_cores() Generator[Core, None, None]

Returns a generator to recurse over all cores.

recurse_pus() Generator[PU, None, None]

Returns a generator to recurse over all processing units.

Module contents