Blame src/hwloc/README

Packit Service c5cf8c
Introduction
Packit Service c5cf8c
Packit Service c5cf8c
The Hardware Locality (hwloc) software project aims at easing the process of
Packit Service c5cf8c
discovering hardware resources in parallel architectures. It offers
Packit Service c5cf8c
command-line tools and a C API for consulting these resources, their locality,
Packit Service c5cf8c
attributes, and interconnection. hwloc primarily aims at helping
Packit Service c5cf8c
high-performance computing (HPC) applications, but is also applicable to any
Packit Service c5cf8c
project seeking to exploit code and/or data locality on modern computing
Packit Service c5cf8c
platforms.
Packit Service c5cf8c
Packit Service c5cf8c
hwloc is actually made of two subprojects distributed together:
Packit Service c5cf8c
Packit Service c5cf8c
  * The original hwloc project for describing the internals of computing nodes.
Packit Service c5cf8c
 It is described in details starting at section Hardware Locality (hwloc)
Packit Service c5cf8c
 Introduction.
Packit Service c5cf8c
  * The network-oriented companion called netloc (Network Locality), described
Packit Service c5cf8c
 in details starting with section Network Locality (netloc).
Packit Service c5cf8c
Packit Service c5cf8c
See also the Related pages tab above for links to other sections.
Packit Service c5cf8c
Packit Service c5cf8c
Netloc may be disabled, but the original hwloc cannot. Both hwloc and netloc
Packit Service c5cf8c
APIs are documented after these sections.
Packit Service c5cf8c
Packit Service c5cf8c
Installation
Packit Service c5cf8c
Packit Service c5cf8c
hwloc (http://www.open-mpi.org/projects/hwloc/) is available under the BSD
Packit Service c5cf8c
license. It is hosted as a sub-project of the overall Open MPI project (http://
Packit Service c5cf8c
www.open-mpi.org/). Note that hwloc does not require any functionality from
Packit Service c5cf8c
Open MPI -- it is a wholly separate (and much smaller!) project and code base.
Packit Service c5cf8c
It just happens to be hosted as part of the overall Open MPI project.
Packit Service c5cf8c
Packit Service c5cf8c
Basic Installation
Packit Service c5cf8c
Packit Service c5cf8c
Installation is the fairly common GNU-based process:
Packit Service c5cf8c
Packit Service c5cf8c
shell$ ./configure --prefix=...
Packit Service c5cf8c
shell$ make
Packit Service c5cf8c
shell$ make install
Packit Service c5cf8c
Packit Service c5cf8c
hwloc- and netloc-specific configure options and requirements are documented in
Packit Service c5cf8c
sections hwloc Installation and Netloc Installation respectively.
Packit Service c5cf8c
Packit Service c5cf8c
Also note that if you install supplemental libraries in non-standard locations,
Packit Service c5cf8c
hwloc's configure script may not be able to find them without some help. You
Packit Service c5cf8c
may need to specify additional CPPFLAGS, LDFLAGS, or PKG_CONFIG_PATH values on
Packit Service c5cf8c
the configure command line.
Packit Service c5cf8c
Packit Service c5cf8c
For example, if libpciaccess was installed into /opt/pciaccess, hwloc's
Packit Service c5cf8c
configure script may not find it be default. Try adding PKG_CONFIG_PATH to the
Packit Service c5cf8c
./configure command line, like this:
Packit Service c5cf8c
Packit Service c5cf8c
./configure PKG_CONFIG_PATH=/opt/pciaccess/lib/pkgconfig ...
Packit Service c5cf8c
Packit Service c5cf8c
Running the "lstopo" tool is a good way to check as a graphical output whether
Packit Service c5cf8c
hwloc properly detected the architecture of your node. Netloc command-line
Packit Service c5cf8c
tools can be used to display the network topology interconnecting your nodes.
Packit Service c5cf8c
Packit Service c5cf8c
Installing from a Git clone
Packit Service c5cf8c
Packit Service c5cf8c
Additionally, the code can be directly cloned from Git:
Packit Service c5cf8c
Packit Service c5cf8c
shell$ git clone https://github.com/open-mpi/hwloc.git
Packit Service c5cf8c
shell$ cd hwloc
Packit Service c5cf8c
shell$ ./autogen.sh
Packit Service c5cf8c
Packit Service c5cf8c
Note that GNU Autoconf >=2.63, Automake >=1.11 and Libtool >=2.2.6 are required
Packit Service c5cf8c
when building from a Git clone.
Packit Service c5cf8c
Packit Service c5cf8c
Nightly development snapshots are available on the web site, they can be
Packit Service c5cf8c
configured and built without any need for Git or GNU Autotools.
Packit Service c5cf8c
Packit Service c5cf8c
Questions and Bugs
Packit Service c5cf8c
Packit Service c5cf8c
Bugs should be reported in the tracker (https://github.com/open-mpi/hwloc/
Packit Service c5cf8c
issues). Opening a new issue automatically displays lots of hints about how to
Packit Service c5cf8c
debug and report issues.
Packit Service c5cf8c
Packit Service c5cf8c
Questions may be sent to the users or developers mailing lists (http://
Packit Service c5cf8c
www.open-mpi.org/community/lists/hwloc.php).
Packit Service c5cf8c
Packit Service c5cf8c
There is also a #hwloc IRC channel on Freenode (irc.freenode.net).
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
See https://www.open-mpi.org/projects/hwloc/doc/ for more hwloc documentation.