Skip to content

Commit 38adbb3

Browse files
Backport numba#8109 Pin TBB support with respect to incompatible 2021.6 API.
As title. Numba is not yet compatible with TBB 2021.6 API, but the ABI seems ok. Conflicts: buildscripts/condarecipe.local/meta.yaml docs/source/user/installing.rst
1 parent 777301d commit 38adbb3

3 files changed

Lines changed: 6 additions & 4 deletions

File tree

‎buildscripts/condarecipe.local/meta.yaml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,10 @@ requirements:
3737
- llvmlite 0.38.*
3838
# TBB devel version is to match TBB libs.
3939
# 2020.3 is the last version with the "old" ABI
40+
# NOTE: 2021.1..2021.5 are API compatible for Numba's purposes.
4041
# NOTE: ppc64le exclusion is temporary until packages are more generally
4142
# available.
42-
- tbb-devel 2021.* # [not (armv6l or armv7l or aarch64 or linux32 or ppc64le)]
43+
- tbb-devel >=2021,<2021.6 # [not (armv6l or armv7l or aarch64 or linux32 or ppc64le)]
4344
run:
4445
- python >=3.7
4546
- numpy >=1.18,<1.23

‎docs/source/user/installing.rst‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,8 @@ vary with target operating system and hardware. The following lists them all
214214
* ``llvm-openmp`` (OSX) - provides headers for compiling OpenMP support into
215215
Numba's threading backend
216216
* ``tbb-devel`` - provides TBB headers/libraries for compiling TBB support
217-
into Numba's threading backend (version >= 2021 required).
217+
into Numba's threading backend (2021 <= version < 2021.6 required).
218+
* ``importlib_metadata`` (for Python versions < 3.9)
218219

219220
* Optional runtime are:
220221

‎numba/np/ufunc/tbbpool.cpp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ Implement parallel vectorize workqueue on top of Intel TBB.
2727
* from here:
2828
* https://github.com/intel/tbb/blob/2019_U5/include/tbb/tbb_stddef.h#L29
2929
*/
30-
#if TBB_INTERFACE_VERSION < 12010
31-
#error "TBB version is too old, 2021 update 1, i.e. TBB_INTERFACE_VERSION >= 12010 required"
30+
#if (TBB_INTERFACE_VERSION >= 12060) || (TBB_INTERFACE_VERSION < 12010)
31+
#error "TBB version is incompatible, 2021.1 through to 2021.5 required, i.e. 12010 <= TBB_INTERFACE_VERSION < 12060"
3232
#endif
3333

3434
#define _DEBUG 0

0 commit comments

Comments
 (0)