|
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