-
Notifications
You must be signed in to change notification settings - Fork 31
Open
Description
It seems intel-sycl-rt
package isn't installing (but required by) during installation of dpctl wheel package:
$ mamba create -n py312 --yes -c conda-forge --override-channels python=3.12 virtualenv
$ mamba activate py312
$ python -m venv pypi_venv
$ source pypi_venv/bin/activate
$ pip install --no-cache-dir --index-url https://pypi.anaconda.org/dppy/label/dev/simple --extra-index-url https://software.repos.intel.com/python/pypi dpctl==0.19.0dev0
Looking in indexes: https://pypi.anaconda.org/dppy/label/dev/simple, https://software.repos.intel.com/python/pypi
Collecting dpctl==0.19.0dev0
Downloading https://pypi.anaconda.org/dppy/label/dev/simple/dpctl/0.19.0dev0/dpctl-0.19.0.dev0%2B278.geefc82b6cd-278-cp312-cp312-manylinux_2_28_x86_64.whl (38.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 38.7/38.7 MB 24.7 MB/s eta 0:00:00
Collecting numpy>=1.23.0 (from dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/numpy/numpy-1.26.4-11-cp312-cp312-manylinux_2_28_x86_64.whl (52.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.2/52.2 MB 25.2 MB/s eta 0:00:00
Collecting mkl_fft (from numpy>=1.23.0->dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/mkl-fft/mkl_fft-1.3.11-81-cp312-cp312-manylinux_2_28_x86_64.whl (3.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.7/3.7 MB 58.5 MB/s eta 0:00:00
Collecting mkl_random (from numpy>=1.23.0->dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/mkl-random/mkl_random-1.2.8-101-cp312-cp312-manylinux_2_28_x86_64.whl (3.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.9/3.9 MB 61.1 MB/s eta 0:00:00
Collecting mkl_umath (from numpy>=1.23.0->dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/mkl-umath/mkl_umath-0.1.2-111-cp312-cp312-manylinux_2_28_x86_64.whl (439 kB)
Collecting mkl (from numpy>=1.23.0->dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/mkl/mkl-2025.0.0-py2.py3-none-manylinux_2_28_x86_64.whl (184.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 184.7/184.7 MB 64.9 MB/s eta 0:00:00
Collecting tbb4py (from numpy>=1.23.0->dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/tbb4py/tbb4py-2022.0.0-py312-none-manylinux_2_28_x86_64.whl (348 kB)
Collecting mkl-service (from numpy>=1.23.0->dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/mkl-service/mkl_service-2.4.2-0-cp312-cp312-manylinux_2_28_x86_64.whl (79 kB)
Collecting intel-openmp>=2024 (from mkl->numpy>=1.23.0->dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/intel-openmp/intel_openmp-2025.0.0-py2.py3-none-manylinux_2_28_x86_64.whl (30.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 30.1/30.1 MB 82.8 MB/s eta 0:00:00
Collecting tbb==2022.* (from mkl->numpy>=1.23.0->dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/tbb/tbb-2022.0.0-py2.py3-none-manylinux_2_28_x86_64.whl (5.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.8/5.8 MB 90.6 MB/s eta 0:00:00
Collecting tcmlib==1.* (from tbb==2022.*->mkl->numpy>=1.23.0->dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/tcmlib/tcmlib-1.2.0-py2.py3-none-manylinux_2_28_x86_64.whl (4.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.2/4.2 MB 82.8 MB/s eta 0:00:00
Collecting intel-cmplr-lib-rt (from mkl_umath->numpy>=1.23.0->dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/intel-cmplr-lib-rt/intel_cmplr_lib_rt-2025.0.0-py2.py3-none-manylinux_2_28_x86_64.whl (45.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.7/45.7 MB 80.7 MB/s eta 0:00:00
Collecting intel-cmplr-lib-ur==2025.0.0 (from intel-openmp>=2024->mkl->numpy>=1.23.0->dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/intel-cmplr-lib-ur/intel_cmplr_lib_ur-2025.0.0-py2.py3-none-manylinux_2_28_x86_64.whl (18.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.6/18.6 MB 88.1 MB/s eta 0:00:00
Collecting umf==0.9 (from intel-cmplr-lib-ur==2025.0.0->intel-openmp>=2024->mkl->numpy>=1.23.0->dpctl==0.19.0dev0)
Downloading https://software.repos.intel.com/python/pypi/umf/umf-0.9.0-py2.py3-none-manylinux_2_28_x86_64.whl (161 kB)
Installing collected packages: tcmlib, intel-cmplr-lib-rt, umf, tbb, tbb4py, intel-cmplr-lib-ur, intel-openmp, mkl, mkl-service, mkl_umath, mkl_random, mkl_fft, numpy, dpctl
Successfully installed dpctl-0.19.0.dev0+278.geefc82b6cd intel-cmplr-lib-rt-2025.0.0 intel-cmplr-lib-ur-2025.0.0 intel-openmp-2025.0.0 mkl-2025.0.0 mkl-service-2.4.2 mkl_fft-1.3.11 mkl_random-1.2.8 mkl_umath-0.1.2 numpy-1.26.4 tbb-2022.0.0 tbb4py-2022.0.0 tcmlib-1.2.0 umf-0.9.0
The import of dpctl package fails with:
$ python -c "import dpctl"
Traceback (most recent call last):
File "<frozen runpy>", line 189, in _run_module_as_main
File "<frozen runpy>", line 148, in _get_module_details
File "<frozen runpy>", line 112, in _get_module_details
File "/localdisk/work/antonvol/bits/dpnp/pypi_venv/lib/python3.12/site-packages/dpctl/__init__.py", line 29, in <module>
from ._device_selection import select_device_with_aspects
File "/localdisk/work/antonvol/bits/dpnp/pypi_venv/lib/python3.12/site-packages/dpctl/_device_selection.py", line 20, in <module>
from ._sycl_device import SyclDevice, SyclDeviceCreationError
ImportError: libsycl.so.8: cannot open shared object file: No such file or directory
because there is no libsycl.so.8
library installed (missing intel-sycl-rt
package):
$ pip list
Package Version
------------------ ---------------------------
dpctl 0.19.0.dev0+278.geefc82b6cd
intel-cmplr-lib-rt 2025.0.0
intel-cmplr-lib-ur 2025.0.0
intel-openmp 2025.0.0
mkl 2025.0.0
mkl_fft 1.3.11
mkl_random 1.2.8
mkl-service 2.4.2
mkl_umath 0.1.2
numpy 1.26.4
pip 24.2
tbb 2022.0.0
tbb4py 2022.0.0
tcmlib 1.2.0
umf 0.9.0
While explicit installing of intel-sycl-rt
package resolves the issue:
$ pip install --no-cache-dir --index-url https://pypi.anaconda.org/dppy/label/dev/simple --extra-index-url https://software.repos.intel.com/python/pypi dpctl==0.19.0dev0 intel-sycl-rt
Looking in indexes: https://pypi.anaconda.org/dppy/label/dev/simple, https://software.repos.intel.com/python/pypi
Requirement already satisfied: dpctl==0.19.0dev0 in ./pypi_venv/lib/python3.12/site-packages (0.19.0.dev0+278.geefc82b6cd)
Collecting intel-sycl-rt
Downloading https://software.repos.intel.com/python/pypi/intel-sycl-rt/intel_sycl_rt-2025.0.0-py2.py3-none-manylinux_2_28_x86_64.whl (11.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.4/11.4 MB 15.6 MB/s eta 0:00:00
Requirement already satisfied: numpy>=1.23.0 in ./pypi_venv/lib/python3.12/site-packages (from dpctl==0.19.0dev0) (1.26.4)
Requirement already satisfied: intel-cmplr-lib-rt==2025.0.0 in ./pypi_venv/lib/python3.12/site-packages (from intel-sycl-rt) (2025.0.0)
Collecting intel-cmplr-lic-rt==2025.0.0 (from intel-sycl-rt)
Downloading https://software.repos.intel.com/python/pypi/intel-cmplr-lic-rt/intel_cmplr_lic_rt-2025.0.0-py2.py3-none-manylinux_2_28_x86_64.whl (18 kB)
Requirement already satisfied: intel-cmplr-lib-ur==2025.0.0 in ./pypi_venv/lib/python3.12/site-packages (from intel-sycl-rt) (2025.0.0)
Requirement already satisfied: umf==0.9 in ./pypi_venv/lib/python3.12/site-packages (from intel-cmplr-lib-ur==2025.0.0->intel-sycl-rt) (0.9.0)
Requirement already satisfied: tcmlib==1.2 in ./pypi_venv/lib/python3.12/site-packages (from umf==0.9->intel-cmplr-lib-ur==2025.0.0->intel-sycl-rt) (1.2.0)
Requirement already satisfied: mkl_fft in ./pypi_venv/lib/python3.12/site-packages (from numpy>=1.23.0->dpctl==0.19.0dev0) (1.3.11)
Requirement already satisfied: mkl_random in ./pypi_venv/lib/python3.12/site-packages (from numpy>=1.23.0->dpctl==0.19.0dev0) (1.2.8)
Requirement already satisfied: mkl_umath in ./pypi_venv/lib/python3.12/site-packages (from numpy>=1.23.0->dpctl==0.19.0dev0) (0.1.2)
Requirement already satisfied: mkl in ./pypi_venv/lib/python3.12/site-packages (from numpy>=1.23.0->dpctl==0.19.0dev0) (2025.0.0)
Requirement already satisfied: tbb4py in ./pypi_venv/lib/python3.12/site-packages (from numpy>=1.23.0->dpctl==0.19.0dev0) (2022.0.0)
Requirement already satisfied: mkl-service in ./pypi_venv/lib/python3.12/site-packages (from numpy>=1.23.0->dpctl==0.19.0dev0) (2.4.2)
Requirement already satisfied: intel-openmp>=2024 in ./pypi_venv/lib/python3.12/site-packages (from mkl->numpy>=1.23.0->dpctl==0.19.0dev0) (2025.0.0)
Requirement already satisfied: tbb==2022.* in ./pypi_venv/lib/python3.12/site-packages (from mkl->numpy>=1.23.0->dpctl==0.19.0dev0) (2022.0.0)
Installing collected packages: intel-cmplr-lic-rt, intel-sycl-rt
Successfully installed intel-cmplr-lic-rt-2025.0.0 intel-sycl-rt-2025.0.0
and python -m dpctl
command now works.
It seems unclear from installation guide that any extra package has to be installed when reading though Pip
chapter.
While looking into the meta data it seems there is no requirements set towards the DPC++ runtime:
$ grep "Requires-Dist" pypi_venv/lib/python3.12/site-packages/dpctl-0.19.0.dev0+278.geefc82b6cd.dist-info/METADATA
Requires-Dist: numpy>=1.23.0
Requires-Dist: Cython; extra == "coverage"
Requires-Dist: pytest; extra == "coverage"
Requires-Dist: pytest-cov; extra == "coverage"
Requires-Dist: coverage; extra == "coverage"
Requires-Dist: tomli; extra == "coverage"
Requires-Dist: Cython; extra == "docs"
Requires-Dist: graphviz; extra == "docs"
Requires-Dist: pydot; extra == "docs"
Requires-Dist: furo; extra == "docs"
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: sphinx-design; extra == "docs"
Requires-Dist: sphinxcontrib-googleanalytics; extra == "docs"
Requires-Dist: sphinxcontrib-jsmath; extra == "docs"
Requires-Dist: sphinxcontrib-programoutput; extra == "docs"
Requires-Dist: sphinxcontrib-spelling; extra == "docs"
So the question arises whether this is expected behavior. And whether the documentation needs to be updated to reflect the current behavior and required extra steps.
Metadata
Metadata
Assignees
Labels
No labels