|
1 |
| -Introduction |
2 |
| - |
3 |
| -The Hardware Locality (hwloc) software project aims at easing the process of |
4 |
| -discovering hardware resources in parallel architectures. It offers |
5 |
| -command-line tools and a C API for consulting these resources, their locality, |
6 |
| -attributes, and interconnection. hwloc primarily aims at helping |
7 |
| -high-performance computing (HPC) applications, but is also applicable to any |
8 |
| -project seeking to exploit code and/or data locality on modern computing |
9 |
| -platforms. |
10 |
| - |
11 |
| -hwloc Summary |
12 |
| - |
13 |
| -hwloc provides command line tools and a C API to obtain the hierarchical map of |
14 |
| -key computing elements within a node, such as: NUMA memory nodes, shared |
15 |
| -caches, processor packages, dies and cores, processing units (logical |
16 |
| -processors or "threads") and even I/O devices. hwloc also gathers various |
17 |
| -attributes such as cache and memory information, and is portable across a |
18 |
| -variety of different operating systems and platforms. |
19 |
| - |
20 |
| -hwloc primarily aims at helping high-performance computing (HPC) applications, |
21 |
| -but is also applicable to any project seeking to exploit code and/or data |
22 |
| -locality on modern computing platforms. |
23 |
| - |
24 |
| -hwloc supports the following operating systems: |
25 |
| - |
26 |
| - * Linux (with knowledge of cgroups and cpusets, memory targets/initiators, |
27 |
| - etc.) on all supported hardware, including Intel Xeon Phi, ScaleMP vSMP, |
28 |
| - and NumaScale NumaConnect. |
29 |
| - * Solaris (with support for processor sets and logical domains) |
30 |
| - * AIX |
31 |
| - * Darwin / OS X |
32 |
| - * FreeBSD and its variants (such as kFreeBSD/GNU) |
33 |
| - * NetBSD |
34 |
| - * HP-UX |
35 |
| - * Microsoft Windows |
36 |
| - |
37 |
| -Since it uses standard Operating System information, hwloc's support is mostly |
38 |
| -independant from the processor type (x86, powerpc, ...) and just relies on the |
39 |
| -Operating System support. The main exception is BSD operating systems (NetBSD, |
40 |
| -FreeBSD, etc.) because they do not provide support topology information, hence |
41 |
| -hwloc uses an x86-only CPUID-based backend (which can be used for other OSes |
42 |
| -too, see the Components and plugins section). |
43 |
| - |
44 |
| -To check whether hwloc works on a particular machine, just try to build it and |
45 |
| -run lstopo or lstopo-no-graphics. If some things do not look right (e.g. bogus |
46 |
| -or missing cache information), see Questions and Bugs. |
47 |
| - |
48 |
| -hwloc only reports the number of processors on unsupported operating systems; |
49 |
| -no topology information is available. |
50 |
| - |
51 |
| -For development and debugging purposes, hwloc also offers the ability to work |
52 |
| -on "fake" topologies: |
53 |
| - |
54 |
| - * Symmetrical tree of resources generated from a list of level arities, see |
55 |
| - Synthetic topologies. |
56 |
| - * Remote machine simulation through the gathering of topology as XML files, |
57 |
| - see Importing and exporting topologies from/to XML files. |
58 |
| - |
59 |
| -hwloc can display the topology in a human-readable format, either in graphical |
60 |
| -mode (X11), or by exporting in one of several different formats, including: |
61 |
| -plain text, LaTeX tikzpicture, PDF, PNG, and FIG (see Command-line Examples |
62 |
| -below). Note that some of the export formats require additional support |
63 |
| -libraries. |
64 |
| - |
65 |
| -hwloc offers a programming interface for manipulating topologies and objects. |
66 |
| -It also brings a powerful CPU bitmap API that is used to describe topology |
67 |
| -objects location on physical/logical processors. See the Programming Interface |
68 |
| -below. It may also be used to binding applications onto certain cores or memory |
69 |
| -nodes. Several utility programs are also provided to ease command-line |
70 |
| -manipulation of topology objects, binding of processes, and so on. |
71 |
| - |
72 |
| -Bindings for several other languages are available from the project website. |
| 1 | +This is a truncated and poorly-formatted version of the documentation main page. |
| 2 | +See https://www.open-mpi.org/projects/hwloc/doc/ for more. |
| 3 | + |
73 | 4 |
|
74 | 5 | Installation
|
75 | 6 |
|
@@ -762,4 +693,5 @@ Make sure to have had a look at those too!
|
762 | 693 |
|
763 | 694 |
|
764 | 695 |
|
765 |
| -See https://www.open-mpi.org/projects/hwloc/doc/ for more hwloc documentation. |
| 696 | +See https://www.open-mpi.org/projects/hwloc/doc/ for more hwloc documentation, |
| 697 | +actual links to related pages, images, etc. |
0 commit comments