README.txt 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. Introduction
  2. The Hardware Locality (hwloc) software project aims at easing the process of
  3. discovering hardware resources in parallel architectures. It offers
  4. command-line tools and a C API for consulting these resources, their locality,
  5. attributes, and interconnection. hwloc primarily aims at helping
  6. high-performance computing (HPC) applications, but is also applicable to any
  7. project seeking to exploit code and/or data locality on modern computing
  8. platforms.
  9. hwloc is actually made of two subprojects distributed together:
  10. * The original hwloc project for describing the internals of computing nodes.
  11. It is described in details starting at section Hardware Locality (hwloc)
  12. Introduction.
  13. * The network-oriented companion called netloc (Network Locality), described
  14. in details starting with section Network Locality (netloc).
  15. See also the Related pages tab above for links to other sections.
  16. Netloc may be disabled, but the original hwloc cannot. Both hwloc and netloc
  17. APIs are documented after these sections.
  18. Installation
  19. hwloc (https://www.open-mpi.org/projects/hwloc/) is available under the BSD
  20. license. It is hosted as a sub-project of the overall Open MPI project (https:/
  21. /www.open-mpi.org/). Note that hwloc does not require any functionality from
  22. Open MPI -- it is a wholly separate (and much smaller!) project and code base.
  23. It just happens to be hosted as part of the overall Open MPI project.
  24. Basic Installation
  25. Installation is the fairly common GNU-based process:
  26. shell$ ./configure --prefix=...
  27. shell$ make
  28. shell$ make install
  29. hwloc- and netloc-specific configure options and requirements are documented in
  30. sections hwloc Installation and Netloc Installation respectively.
  31. Also note that if you install supplemental libraries in non-standard locations,
  32. hwloc's configure script may not be able to find them without some help. You
  33. may need to specify additional CPPFLAGS, LDFLAGS, or PKG_CONFIG_PATH values on
  34. the configure command line.
  35. For example, if libpciaccess was installed into /opt/pciaccess, hwloc's
  36. configure script may not find it by default. Try adding PKG_CONFIG_PATH to the
  37. ./configure command line, like this:
  38. ./configure PKG_CONFIG_PATH=/opt/pciaccess/lib/pkgconfig ...
  39. Running the "lstopo" tool is a good way to check as a graphical output whether
  40. hwloc properly detected the architecture of your node. Netloc command-line
  41. tools can be used to display the network topology interconnecting your nodes.
  42. Installing from a Git clone
  43. Additionally, the code can be directly cloned from Git:
  44. shell$ git clone https://github.com/open-mpi/hwloc.git
  45. shell$ cd hwloc
  46. shell$ ./autogen.sh
  47. Note that GNU Autoconf >=2.63, Automake >=1.11 and Libtool >=2.2.6 are required
  48. when building from a Git clone.
  49. Nightly development snapshots are available on the web site, they can be
  50. configured and built without any need for Git or GNU Autotools.
  51. Questions and Bugs
  52. Bugs should be reported in the tracker (https://github.com/open-mpi/hwloc/
  53. issues). Opening a new issue automatically displays lots of hints about how to
  54. debug and report issues.
  55. Questions may be sent to the users or developers mailing lists (https://
  56. www.open-mpi.org/community/lists/hwloc.php).
  57. There is also a #hwloc IRC channel on Libera Chat (irc.libera.chat).
  58. See https://www.open-mpi.org/projects/hwloc/doc/ for more hwloc documentation.