• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

config/H03-Jun-2019-29,04323,491

contrib/H03-Jun-2019-4,1193,344

doc/H03-May-2022-23,04119,797

include/H03-May-2022-10,9274,994

src/H03-May-2022-30,83024,114

tests/H03-May-2022-39,29336,086

utils/H03-May-2022-19,97716,961

AUTHORSH A D06-Oct-2015438 1110

COPYINGH A D13-Apr-20162.4 KiB3936

Makefile.amH A D10-Nov-20162.3 KiB7440

Makefile.inH A D03-May-202235 KiB1,056922

NEWSH A D03-Jun-201967.9 KiB1,4511,331

READMEH A D03-Jun-20193.3 KiB7557

VERSIONH A D03-Jun-20191.6 KiB4733

aclocal.m4H A D03-Jun-201943.5 KiB1,2251,115

configureH A D03-May-2022938.6 KiB31,92625,950

configure.acH A D14-Aug-20187.9 KiB245198

hwloc.pc.inH A D14-Jun-2015317 1311

README

1Introduction
2
3hwloc provides command line tools and a C API to obtain the hierarchical map of
4key computing elements, such as: NUMA memory nodes, shared caches, processor
5packages, processor cores, processing units (logical processors or "threads")
6and even I/O devices. hwloc also gathers various attributes such as cache and
7memory information, and is portable across a variety of different operating
8systems and platforms. Additionally it may assemble the topologies of multiple
9machines into a single one so as to let applications consult the topology of an
10entire fabric or cluster at once.
11
12hwloc primarily aims at helping high-performance computing (HPC) applications,
13but is also applicable to any project seeking to exploit code and/or data
14locality on modern computing platforms.
15
16hwloc supports the following operating systems:
17
18  * Linux (including old kernels not having sysfs topology information, with
19 knowledge of cpusets, ScaleMP vSMP and Kerrighed support, etc.) on all
20 supported hardware, including Intel Xeon Phi and NumaScale NumaConnect.
21  * Solaris (with support for processor sets and logical domains)
22  * AIX
23  * Darwin / OS X
24  * FreeBSD and its variants (such as kFreeBSD/GNU)
25  * NetBSD
26  * OSF/1 (a.k.a., Tru64)
27  * HP-UX
28  * Microsoft Windows
29  * IBM BlueGene/Q Compute Node Kernel (CNK)
30
31Since it uses standard Operating System information, hwloc's support is mostly
32independant from the processor type (x86, powerpc, ...) and just relies on the
33Operating System support. The main exception is BSD operating systems (NetBSD,
34FreeBSD, etc.) because they do not provide support topology information, hence
35hwloc uses an x86-only CPUID-based backend (which can be used for other OSes
36too, see the Components and plugins section).
37
38To check whether hwloc works on a particular machine, just try to build it and
39run lstopo or lstopo-no-graphics. If some things do not look right (e.g. bogus
40or missing cache information), see Questions and Bugs below.
41
42hwloc only reports the number of processors on unsupported operating systems;
43no topology information is available.
44
45For development and debugging purposes, hwloc also offers the ability to work
46on "fake" topologies:
47
48  * Symmetrical tree of resources generated from a list of level arities, see
49 Synthetic topologies.
50  * Remote machine simulation through the gathering of topology as XML files,
51 see Importing and exporting topologies from/to XML files.
52
53hwloc can display the topology in a human-readable format, either in graphical
54mode (X11), or by exporting in one of several different formats, including:
55plain text, PDF, PNG, and FIG (see Command-line Examples below). Note that some
56of the export formats require additional support libraries.
57
58hwloc offers a programming interface for manipulating topologies and objects.
59It also brings a powerful CPU bitmap API that is used to describe topology
60objects location on physical/logical processors. See the Programming Interface
61below. It may also be used to binding applications onto certain cores or memory
62nodes. Several utility programs are also provided to ease command-line
63manipulation of topology objects, binding of processes, and so on.
64
65Perl bindings are available from Bernd Kallies on CPAN.
66
67Python bindings are available from Guy Streeter:
68
69  * Fedora RPM and tarball.
70  * git tree (html).
71
72
73
74See https://www.open-mpi.org/projects/hwloc/doc/ for more hwloc documentation.
75