You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/GSG/next_steps.rst
+18-31Lines changed: 18 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,9 +19,10 @@ After installing |short_name|, set the environment variables:
19
19
20
20
.. tip::
21
21
22
-
oneTBB can coordinate with Intel(R) OpenMP on CPU resources usage
23
-
to avoid excessive oversubscription when both runtimes are used within a process.
24
-
To enable this feature set up ``TCM_ENABLE`` environment variable to ``1``.
22
+
oneTBB can coordinate with Intel(R) OpenMP on CPU resources usage to avoid
23
+
excessive oversubscription when both runtimes are used within a process. To
24
+
enable this feature set ``TCM_ENABLE`` environment variable to ``1``. For
25
+
more details, see :ref:`avoid_cpu_overutilization`.
25
26
26
27
27
28
Build and Run a Sample
@@ -125,34 +126,20 @@ Build and Run a Sample
125
126
126
127
127
128
128
-
Hybrid CPU and NUMA Support
129
-
****************************
129
+
Enable Hybrid CPU and NUMA Support
130
+
***********************************
130
131
131
-
If you need NUMA/Hybrid CPU support in oneTBB, you need to make sure that HWLOC* is installed on your system.
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:
132
141
133
-
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.
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.
134
144
135
-
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.
136
-
137
-
Check HWLOC* on the System
138
-
^^^^^^^^^^^^^^^^^^^^^^^^^^^
139
-
To check if HWLOC* is already installed on your system, run ``hwloc-ls``:
140
-
141
-
* For Linux* OS, in the command line.
142
-
* For Windows* OS, in the command prompt.
143
-
144
-
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.
145
-
146
-
.. 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.
147
-
148
-
Install HWLOC*
149
-
^^^^^^^^^^^^^^
150
-
151
-
To install HWLOC*, visit the official Portable Hardware Locality website (https://www-lb.open-mpi.org/projects/hwloc/).
152
-
153
-
* For Windows* OS, binaries are available for download.
154
-
* For Linux* OS, only the source code is provided and binaries should be built.
155
-
156
-
On Linux* OS, HWLOC* can be also installed with package managers, such as APT*, YUM*, etc. To do so, run: sudo apt install hwloc.
157
-
158
-
.. 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.
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