The Portable Hardware Locality (hwloc) software package provides
a portable abstraction (across OS, versions, architectures, ...)
of the hierarchical topology of modern architectures, including
NUMA memory nodes, shared caches, processor sockets, processor cores
and processing units (logical processors or "threads"). It also gathers
various system attributes such as cache and memory information. It primarily
aims at helping applications with gathering information about modern
computing hardware so as to exploit it accordingly and efficiently.
hwloc may display the topology in multiple convenient formats.
It also offers a powerful programming interface (C API) to gather information
about the hardware, bind processes, and much more.
hwloc-annotate hwloc-annotate loads a topology from a XML file, adds some annotations, and export the resulting topology to another XML file. The input and output files may be... hwloc-assembler hwloc-assembler combines the input XML topologies and exports the resulting global topologies to a new XML file. All inputs are inserting as children of the... hwloc-assembler-remote hwloc-assembler-remote is a frontend to hwloc-assembler. It takes care of retrieving the remote nodes' topologies before assembling them with hwloc-assembler. hwloc-bind hwloc-bind execs an executable (with optional command line arguments) that is bound to the specified location (or list of locations). Upon successful execution... hwloc-calc hwloc-calc generates and manipulates CPU mask strings or objects. Both input and output may be either objects (with physical or logical indexes), CPU lists... hwloc-compress-dir hwloc-compress-dir takes an input directory containing XML exports and tries to compress it by computing topology diffs between them (with the hwloc-diff... hwloc-diff hwloc-diff computes the difference between two XML topologies and stores the result into <output.xml> if any, or dumps it to stdout otherwise. The output... hwloc-distances hwloc-distances displays also distance matrices attached to the topology. The value in the i-th row and j-th column is the distance from object #i to object #j... hwloc-distrib hwloc-distrib generates a series of CPU masks corresponding to a distribution of a given number of elements over the topology of the machine. The distribution... hwloc-dump-hwdata hwloc may benefit from some locality and topology information from SMBIOS or ACPI tables. They are accessible from raw hardware files under directories such... hwloc-gather-topology hwloc-gather-topology saves all the relevant topology files into an archive (<path>.tar.bz2) and the lstopo output (<path>.output). The utility for example... hwloc-info hwloc-info displays information about the specified object. It is intended to be used with tools such as grep for filtering certain attribute lines. When no... hwloc-patch hwloc-patch loads the difference between two topologies from a XML file (or from the standard input) and applies it to an existing topology, generating a new... hwloc-ps By default, hwloc-ps lists only those currently-running processes that are bound. If -t is given, processes that are not bound but contain at least one bound...