Blame src/hwloc/doc/main.doxy

Packit Service c5cf8c
/*!
Packit Service c5cf8c
Packit Service c5cf8c
\mainpage Hardware Locality
Packit Service c5cf8c
Packit Service c5cf8c

Portable abstraction of parallel architectures for high-performance computing

Packit Service c5cf8c
Packit Service c5cf8c

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