|

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, sockets, shared caches, cores and simultaneous
multithreading. 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 (see
v0.9.2 examples).
It also offers a powerful programming interface to gather information
about the hardware, bind processes, and much more.
More details are available in the Documentation
(in both PDF and HTML). The documentation for each version contains
examples of
outputs and an API interface example (these links are for v0.9.2).
Questions and bugs
Questions, comments, and bugs should be sent to hwloc mailing lists.
Also be sure to see the hwloc wiki and bug tracking
system.
History / credits
hwloc is the evolution and merger of the libtopology
project and the Portable Linux Processor Affinity
(PLPA) project. Because of functional and idological overlap,
these two code bases and ideas were merged and released under the name
"hwloc" as an Open MPI sub-project.

libtopology was initially developed by the INRIA Runtime Team-Project
(headed by Raymond
Namyst). PLPA was initially developed by the Open MPI development
team as a sub-project. Both are now deprecated in favor of hwloc,
which is distributed here as an Open MPI sub-project.
|