Skip to content

Commit bebc0cd

Browse files
authored
Docs: HWLOC linked with libtbbbind (#1747)
1 parent 10175ea commit bebc0cd

File tree

1 file changed

+14
-28
lines changed

1 file changed

+14
-28
lines changed

doc/GSG/next_steps.rst

Lines changed: 14 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -129,31 +129,17 @@ Build and Run a Sample
129129
Enable Hybrid CPU and NUMA Support
130130
***********************************
131131

132-
If you need NUMA/Hybrid CPU support in oneTBB, you need to make sure that HWLOC* is installed on your system.
133-
134-
HWLOC* (Hardware Locality) is a library that provides a portable abstraction of the hierarchical topology of modern architectures (NUMA, hybrid CPU systems, etc). oneTBB relies on HWLOC* to identify the underlying topology of the system to optimize thread scheduling and memory allocation.
135-
136-
Without HWLOC*, oneTBB may not take advantage of NUMA/Hybrid CPU support. Therefore, it's important to make sure that HWLOC* is installed before using oneTBB on such systems.
137-
138-
Check HWLOC* on the System
139-
^^^^^^^^^^^^^^^^^^^^^^^^^^^
140-
To check if HWLOC* is already installed on your system, run ``hwloc-ls``:
141-
142-
* For Linux* OS, in the command line.
143-
* For Windows* OS, in the command prompt.
144-
145-
If HWLOC* is installed, the command displays information about the hardware topology of your system. If it is not installed, you receive an error message saying that the command ``hwloc-ls`` could not be found.
146-
147-
.. note:: For Hybrid CPU support, make sure that HWLOC* is version 2.5 or higher. For NUMA support, install HWLOC* version 1.11 or higher.
148-
149-
Install HWLOC*
150-
^^^^^^^^^^^^^^
151-
152-
To install HWLOC*, visit the official Portable Hardware Locality website (https://www-lb.open-mpi.org/projects/hwloc/).
153-
154-
* For Windows* OS, binaries are available for download.
155-
* For Linux* OS, only the source code is provided and binaries should be built.
156-
157-
On Linux* OS, HWLOC* can be also installed with package managers, such as APT*, YUM*, etc. To do so, run: sudo apt install hwloc.
158-
159-
.. note:: For Hybrid CPU support, make sure that HWLOC* is version 2.5 or higher. For NUMA support, install HWLOC* version 1.11 or higher.
132+
To support Hybrid CPU and NUMA platforms, oneTBB relies on the HWLOC* library.
133+
134+
The HWLOC functionality is accessed through a set of proxy libraries whose names begin with the ``tbbbind`` prefix. oneTBB automatically loads them at runtime when needed. To find and load these libraries successfully, locate them in the same directory as the oneTBB library itself (e.g., alongside ``libtbb.so`` or ``tbb.dll``).
135+
136+
Starting with oneTBB 2022.2, the default ``tbbbind`` library is statically linked with HWLOC 2.x. This version is used if a system-provided HWLOC cannot be found.
137+
138+
If you prefer to use a system-provided or custom-built version of HWLOC, make sure it is available in the search paths used by the dynamic loader. Consult your platform’s dynamic loader documentation for details about these paths (e.g., ``LD_LIBRARY_PATH`` on Linux* OS or ``PATH`` on Windows* OS).
139+
140+
To use a specific HWLOC version, place one of the following tbbbind variants in the same directory as the oneTBB library:
141+
142+
* ``tbbbind_2_5`` — depends on HWLOC version 2.5 or higher. Use this version if hybrid CPU support is required.
143+
* ``tbbbind_2_0`` — depends on HWLOC versions 2.1 to 2.4.
144+
145+
.. tip:: To confirm that tbbbind is loaded successfully at runtime, set the environment variable ``TBB_VERSION=1`` before launching your application.

0 commit comments

Comments
 (0)