From 21f868112fdb8308b0c781aba7c6abcb69d8c170 Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Tue, 10 Mar 2026 16:23:16 -0700 Subject: [PATCH 1/4] use openMP for threading instead of TBB --- .github/workflows/build_pip.yaml | 2 +- CMakeLists.txt | 4 ++-- conda-recipe/meta.yaml | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_pip.yaml b/.github/workflows/build_pip.yaml index 511a54cf..04a2c47b 100644 --- a/.github/workflows/build_pip.yaml +++ b/.github/workflows/build_pip.yaml @@ -42,7 +42,7 @@ jobs: - name: Install Compiler and MKL run: | - conda install mkl-devel tbb-devel dpcpp_linux-64 + conda install mkl-devel dpcpp_linux-64 python -c "import sys; print(sys.executable)" which python diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a00e86f..36eb2b2d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,10 +23,10 @@ cmake_print_variables(Python_NumPy_INCLUDE_DIRS) set(CYTHON_FLAGS "-t -w \"${CMAKE_SOURCE_DIR}\"") find_package(Cython REQUIRED) -find_package(TBB REQUIRED) +find_package(OpenMP REQUIRED) set(MKL_ARCH "intel64") set(MKL_LINK "dynamic") -set(MKL_THREADING "tbb_thread") +set(MKL_THREADING "intel_thread") set(MKL_INTERFACE "lp64") find_package(MKL REQUIRED) diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index 38ea112f..7abdc981 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -28,7 +28,6 @@ requirements: - python - python-gil # [py>=314] - mkl-devel - - tbb-devel - numpy-base - wheel >=0.41.3 run: From 4aa9008fed9c6c4ff9abe7bbbec82f1f856057e1 Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Wed, 11 Mar 2026 03:45:29 -0700 Subject: [PATCH 2/4] remove find_package(OpenMP) from CMake OpenMP implicitly needs to be found by MKL with "intel_thread" set, so the set is unnecessary --- CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 36eb2b2d..504d7dd5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,7 +23,6 @@ cmake_print_variables(Python_NumPy_INCLUDE_DIRS) set(CYTHON_FLAGS "-t -w \"${CMAKE_SOURCE_DIR}\"") find_package(Cython REQUIRED) -find_package(OpenMP REQUIRED) set(MKL_ARCH "intel64") set(MKL_LINK "dynamic") set(MKL_THREADING "intel_thread") From 49c0187032275d28dbcb628ab9ff68aad8c91750 Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Thu, 12 Mar 2026 08:33:10 -0700 Subject: [PATCH 3/4] Remove mention of tbb_devel and TBB from AGENTS and README --- AGENTS.md | 3 +-- README.md | 3 +-- conda-recipe/AGENTS.md | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 71aaa95e..c5268458 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -21,13 +21,12 @@ It provides: **Required:** - Compiler toolchain: Intel `icx` or `clang` (with Intel-only flags gated when using clang) - IntelĀ® OneMKL (mkl-devel) -- IntelĀ® TBB (tbb-devel) - NumPy, Cython, scikit-build, cmake, ninja **Conda environment:** ```bash conda install -c https://software.repos.intel.com/python/conda \ - mkl-devel tbb-devel dpcpp_linux-64 numpy-base \ + mkl-devel dpcpp_linux-64 numpy-base \ cmake ninja cython scikit-build export MKLROOT=$CONDA_PREFIX CC=${CC:-icx} pip install --no-build-isolation --no-deps . # clang is also supported in CI diff --git a/README.md b/README.md index 91d5f31d..5902d19a 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,6 @@ If these are installed as part of a `oneAPI` installation, the following package If build dependencies are to be installed with Conda, the following packages must be installed from the Intel(R) channel - `mkl-devel` -- `tbb-devel` - `dpcpp_linux-64` (or `dpcpp_win-64` for Windows) - `numpy-base` @@ -57,7 +56,7 @@ then the remaining dependencies - `cython` - `scikit-build` -and for `mkl-devel`, `tbb-devel` and `dpcpp_linux-64` in a Conda environment, `MKLROOT` environment variable must be set +and for `mkl-devel` and `dpcpp_linux-64` in a Conda environment, `MKLROOT` environment variable must be set On Linux ```sh export MKLROOT=$CONDA_PREFIX diff --git a/conda-recipe/AGENTS.md b/conda-recipe/AGENTS.md index 3328dd69..ff9c4eaa 100644 --- a/conda-recipe/AGENTS.md +++ b/conda-recipe/AGENTS.md @@ -13,7 +13,7 @@ Conda package build recipe for Intel channel distribution. - **Channels:** `https://software.repos.intel.com/python/conda`, `conda-forge` - **Python versions:** 3.10, 3.11, 3.12, 3.13, 3.14 - **Compilers:** Intel C compiler (icx/icl) -- **Dependencies:** mkl-devel, tbb-devel, dpcpp_{linux,win}-64, numpy-base +- **Dependencies:** mkl-devel, dpcpp_{linux,win}-64, numpy-base ## Build outputs - Conda package: `mkl_umath--.conda` @@ -27,4 +27,4 @@ Conda package build recipe for Intel channel distribution. ## Maintenance - Keep `conda_build_config.yaml` in sync with CI matrix - NumPy pin: must match Intel channel NumPy versions -- MKL/TBB versions: track oneAPI releases +- MKL version: track oneAPI releases From 2d93668ac85da508aa5448306663c7b5ab6fcab6 Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Thu, 12 Mar 2026 08:33:25 -0700 Subject: [PATCH 4/4] Remove intel-oneapi-tbb from Intel clang build --- .github/workflows/build-with-clang.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-with-clang.yml b/.github/workflows/build-with-clang.yml index 251747da..c4d1fe8a 100644 --- a/.github/workflows/build-with-clang.yml +++ b/.github/workflows/build-with-clang.yml @@ -40,7 +40,6 @@ jobs: - name: Install Intel OneAPI run: | sudo apt-get install intel-oneapi-compiler-dpcpp-cpp - sudo apt-get install intel-oneapi-tbb sudo apt-get install intel-oneapi-mkl-devel - name: Setup Python