~ubuntu-branches/ubuntu/vivid/mpich/vivid-proposed

« back to all changes in this revision

Viewing changes to src/pm/hydra/tools/topo/hwloc/hwloc/README

  • Committer: Package Import Robot
  • Author(s): Anton Gladky
  • Date: 2014-04-01 20:24:20 UTC
  • mfrom: (5.2.4 sid)
  • Revision ID: package-import@ubuntu.com-20140401202420-t5ey1ia2klt5dkq3
Tags: 3.1-4
* [c3e3398] Disable test_primitives, which is unreliable on some platforms.
            (Closes: #743047)
* [265a699] Add minimal autotest.

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
  * Solaris
30
30
  * AIX
31
31
  * Darwin / OS X
32
 
  * FreeBSD and its variants, such as kFreeBSD/GNU
 
32
  * FreeBSD and its variants (such as kFreeBSD/GNU)
 
33
  * NetBSD
33
34
  * OSF/1 (a.k.a., Tru64)
34
35
  * HP-UX
35
36
  * Microsoft Windows
 
37
  * IBM BlueGene/Q Compute Node Kernel (CNK)
36
38
 
37
39
Since it uses standard Operating System information, hwloc's support is mostly
38
40
independant from the processor type (x86, powerpc, ...) and just relies on the
85
87
Nightly development snapshots are available on the web site. Additionally, the
86
88
code can be directly checked out of Subversion:
87
89
 
88
 
shell$ svn checkout http://svn.open-mpi.org/svn/hwloc/trunk hwloc-trunk
89
 
shell$ cd hwloc-trunk
 
90
shell$ git clone https://github.com/open-mpi/hwloc.git
 
91
shell$ cd hwloc
90
92
shell$ ./autogen.sh
91
93
 
92
94
Note that GNU Autoconf >=2.63, Automake >=1.10 and Libtool >=2.2.6 are required
101
103
The hwloc command-line tool "lstopo" produces human-readable topology maps, as
102
104
mentioned above. It can also export maps to the "fig" file format. Support for
103
105
PDF, Postscript, and PNG exporting is provided if the "Cairo" development
104
 
package can be found in "lstopo" when hwloc is configured and build.
 
106
package (usually cairo-devel or libcairo2-dev) can be found in "lstopo" when
 
107
hwloc is configured and build.
105
108
 
106
109
The hwloc core may also benefit from the following development packages:
107
110
 
108
 
  * pciutils (libpci) for I/O discovery.
109
 
  * libnuma for memory binding and migration support on Linux.
 
111
  * libnuma for memory binding and migration support on Linux (numactl-devel or
 
112
 libnuma-dev package).
 
113
  * hwloc can use one of two different libraries for full I/O device discovery:
 
114
 
 
115
  1. libpciaccess (BSD). The relevant development package is usually
 
116
     libpciaccess-devel or libpciaccess-dev.
 
117
  2. libpci, from the pciutils package (GPL). The relevant development
 
118
     package is usually pciutils-devel or libpci-dev.
 
119
 
 
120
 On Linux, PCI discovery may still be performed even if none of the above
 
121
 libraries can be used.
 
122
 
 
123
  * the AMD OpenCL implementation for OpenCL device discovery.
 
124
  * the NVIDIA CUDA Toolkit for CUDA device discovery.
 
125
  * the NVIDIA Tesla Development Kit for NVML device discovery.
 
126
  * the NV-CONTROL X extension library (NVCtrl) for NVIDIA display discovery.
110
127
  * libxml2 for full XML import/export support (otherwise, the internal
111
128
 minimalistic parser will only be able to import XML files that were
112
129
 exported by the same hwloc release). See Importing and exporting topologies
113
 
 from/to XML files for details.
114
 
 
115
 
libpci and libxml2 support may be statically built inside the main hwloc
116
 
library, or as separate dynamically-loaded plugins (see the Components and
117
 
plugins section).
 
130
 from/to XML files for details. The relevant development package is usually
 
131
 libxml2-devel or libxml2-dev.
 
132
  * libtool's ltdl library for dynamic plugin loading. The relevant development
 
133
 package is usually libtool-ltdl-devel or libltdl-dev.
 
134
 
 
135
PCI and XML support may be statically built inside the main hwloc library, or
 
136
as separate dynamically-loaded plugins (see the Components and plugins
 
137
section).
 
138
 
 
139
Note that because of the possibility of GPL taint (remember that hwloc is
 
140
BSD-licensed), hwloc's configure script will prefer libpciaccess to the
 
141
pciutils package. Indeed, if libpciaccess is not found, hwloc will not use
 
142
pciutils unless it is specifically requested via the --enable-libpci flag is
 
143
provided.
 
144
 
 
145
Also note that if you install supplemental libraries in non-standard locations,
 
146
hwloc's configure script may not be able to find them without some help. You
 
147
may need to specify additional CPPFLAGS, LDFLAGS, or PKG_CONFIG_PATH values on
 
148
the configure command line.
 
149
 
 
150
For example, if libpciaccess was installed into /opt/pciaccess, hwloc's
 
151
configure script may not find it be default. Try adding PKG_CONFIG_PATH to the
 
152
./configure command line, like this:
 
153
 
 
154
./configure PKG_CONFIG_PATH=/opt/pciaccess/lib/pkgconfig ...
118
155
 
119
156
CLI Examples
120
157
 
319
356
 
320
357
Programming Interface
321
358
 
322
 
The basic interface is available in hwloc.h. It essentially offers low-level
323
 
routines for advanced programmers that want to manually manipulate objects and
324
 
follow links between them. Documentation for everything in hwloc.h are provided
325
 
later in this document. Developers should also look at hwloc/helper.h (and also
326
 
in this document, which provides good higher-level topology traversal
327
 
examples).
 
359
The basic interface is available in hwloc.h. Some higher-level functions are
 
360
available in hwloc/helper.h to reduce the need to manually manipulate objects
 
361
and follow links between them. Documentation for all these is provided later in
 
362
this document. Developers may also want to look at hwloc/inlines.h which
 
363
contains the actual inline code of some hwloc.h routines, and at this document,
 
364
which provides good higher-level topology traversal examples.
328
365
 
329
366
To precisely define the vocabulary used by hwloc, a Terms and Definitions
330
367
section is available and should probably be read first.
628
665
 
629
666
Questions should be sent to the devel mailing list (http://www.open-mpi.org/
630
667
community/lists/hwloc.php). Bug reports should be reported in the tracker (
631
 
https://svn.open-mpi.org/trac/hwloc/).
 
668
https://git.open-mpi.org/trac/hwloc/).
632
669
 
633
670
If hwloc discovers an incorrect topology for your machine, the very first thing
634
671
you should check is to ensure that you have the most recent updates installed
671
708
  * Multi-node Topologies
672
709
  * Object attributes
673
710
  * Importing and exporting topologies from/to XML files
 
711
  * Synthetic topologies
674
712
  * Interoperability With Other Software
675
713
  * Thread Safety
676
714
  * Components and plugins
681
719
 
682
720
-------------------------------------------------------------------------------
683
721
 
684
 
Generated on Mon Nov 12 2012 03:13:56 for Hardware Locality (hwloc) by   
685
 
doxygen 1.8.1.2
 
722
Generated on Tue Sep 10 2013 16:08:12 for Hardware Locality (hwloc) by   
 
723
doxygen 1.8.4