-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows can't find SYCL Module #1930
Comments
The It is important to understand these details to provide you with the expedient resolution. We also need to know where the dependent libraries needed by Please note a related issue gh-1745, which was fixed in 0.18.3. |
I installed with pip. pip list output``` PS C:\Users\liam> pip list Package Version ------------------------- -------------- anndata 0.11.0 anyio 4.6.2.post1 argon2-cffi 23.1.0 argon2-cffi-bindings 21.2.0 array_api_compat 1.9.1 arrow 1.3.0 asttokens 2.4.1 async-lru 2.0.4 attrs 24.2.0 babel 2.16.0 beautifulsoup4 4.12.3 bleach 6.2.0 build 1.2.2.post1 CacheControl 0.14.1 certifi 2024.8.30 cffi 1.17.1 charset-normalizer 3.4.0 cleo 2.1.0 colorama 0.4.6 comm 0.2.2 contourpy 1.3.0 crashtest 0.4.1 cupy 13.3.0 cycler 0.12.1 Cython 3.0.11 debugpy 1.8.8 decorator 5.1.1 defusedxml 0.7.1 distlib 0.3.9 dpcpp-cpp-rt 2025.0.3 dpctl 0.18.1 dpnp 0.16.0 dulwich 0.22.5 executing 2.1.0 fastjsonschema 2.20.0 fastrlock 0.8.2 filelock 3.16.1 fonttools 4.54.1 fqdn 1.5.1 h11 0.14.0 h5py 3.12.1 httpcore 1.0.6 httpx 0.27.2 idna 3.10 installer 0.7.0 intel-cmplr-lib-rt 2025.0.3 intel-cmplr-lib-ur 2025.0.3 intel-cmplr-lic-rt 2025.0.3 intel-opencl-rt 2025.0.3 intel-openmp 2025.0.3 intel-sycl-rt 2025.0.3 ipykernel 6.29.5 ipython 8.29.0 isoduration 20.11.0 jaraco.classes 3.4.0 jaraco.context 6.0.1 jaraco.functools 4.1.0 jedi 0.19.1 Jinja2 3.1.4 joblib 1.4.2 json5 0.9.25 jsonpointer 3.0.0 jsonref 1.1.0 jsonschema 4.23.0 jsonschema-specifications 2024.10.1 jupyter_client 8.6.3 jupyter_core 5.7.2 jupyter-events 0.10.0 jupyter-lsp 2.2.5 jupyter_server 2.14.2 jupyter_server_terminals 0.5.3 jupyterlab 4.3.0 jupyterlab_pygments 0.3.0 jupyterlab_server 2.27.3 keyboard 0.13.5 keyring 25.5.0 kiwisolver 1.4.7 legacy-api-wrap 1.4 llvmlite 0.43.0 MarkupSafe 3.0.2 matplotlib 3.9.2 matplotlib-inline 0.1.7 mistune 3.0.2 mkl 2025.0.0 more-itertools 10.5.0 msgpack 1.1.0 mudata 0.3.1 natsort 8.4.0 nbclient 0.10.0 nbconvert 7.16.4 nbformat 5.10.4 nest-asyncio 1.6.0 networkx 3.4.2 notebook 7.2.2 notebook_shim 0.2.4 numpy 2.2.0 onemkl-sycl-blas 2025.0.0 onemkl-sycl-dft 2025.0.0 onemkl-sycl-lapack 2025.0.0 onemkl-sycl-rng 2025.0.0 onemkl-sycl-stats 2025.0.0 onemkl-sycl-vm 2025.0.0 opencv-python 4.10.0.84 overrides 7.7.0 packaging 24.2 pandas 2.2.3 pandocfilters 1.5.1 parso 0.8.4 patsy 0.5.6 pexpect 4.9.0 pillow 11.0.0 pip 24.3.1 pip-review 1.3.0 pkginfo 1.11.2 platformdirs 4.3.6 plumbum 1.9.0 poetry 1.8.4 poetry-core 1.9.1 poetry-plugin-export 1.8.0 prometheus_client 0.21.0 prompt_toolkit 3.0.48 protobuf 5.28.3 psutil 6.1.0 ptyprocess 0.7.0 pure_eval 0.2.3 PyAudio 0.2.14 pycparser 2.22 pyelftools 0.31 pyft232 0.12 Pygments 2.18.0 pyluxcore 2.9a1.post4 pyluxcoretools 2.9a1.post3 pynndescent 0.5.13 pyparsing 3.2.0 pyproject_hooks 1.2.0 PyQt5 5.15.11 PyQt5-Qt5 5.15.2 PyQt5_sip 12.15.0 PyQt6-Qt6 6.7.3 PyQt6_sip 13.8.0 pyqtgraph 0.13.7 pyserial 3.5 PySide6_Addons 6.8.0.2 PySide6_Essentials 6.8.0.2 python-dateutil 2.9.0.post0 python-json-logger 2.0.7 pytz 2024.2 pyusb 1.2.1 PyVISA 1.14.1 pywin32 308 pywin32-ctypes 0.2.3 pywinpty 2.0.14 PyYAML 6.0.2 pyzmq 26.2.0 RapidFuzz 3.10.1 referencing 0.35.1 requests 2.32.3 requests-toolbelt 1.0.0 rfc3339-validator 0.1.4 rfc3986-validator 0.1.1 rpds-py 0.21.0 rpyc 6.0.1 scikit-learn 1.5.2 scipy 1.14.1 seaborn 0.13.2 Send2Trash 1.8.3 session_info 1.0.0 setuptools 75.3.0 shellingham 1.5.4 shiboken6 6.8.0.2 six 1.16.0 sniffio 1.3.1 soupsieve 2.6 srsgui 0.4.6 srsinst.rga 0.3.5 stack-data 0.6.3 statsmodels 0.14.4 stdlib-list 0.11.0 tbb 2022.0.0 tcmlib 1.2.0 terminado 0.18.1 thorlabs-apt-device 0.3.8 threadpoolctl 3.5.0 tinycss2 1.4.0 tomlkit 0.13.2 tornado 6.4.1 tqdm 4.67.0 traitlets 5.14.3 trove-classifiers 2024.10.21.16 types-python-dateutil 2.9.0.20241003 typing_extensions 4.12.2 tzdata 2024.2 umf 0.9.1 uri-template 1.3.0 urllib3 2.2.3 virtualenv 20.27.1 wcwidth 0.2.13 webcolors 24.8.0 webencodings 0.5.1 websocket-client 1.8.0 zhinst 24.10.0 zhinst-core 24.10.64896 zhinst-timing-models 24.10.64896 zhinst-toolkit 0.7.0 zhinst-utils 0.5.0 ```PyPI doesn't have 0.18.3 for some reason, what needs to be done to get that version uploaded? I believe I can download the release here from github to try and see if it works |
Ok, I got 0.18.3 by following the README instructions. But I had installed dpctl as a dependency of dpnp, that's why it was installed the default way. However, even after I did this, I still have the problem:
|
New pip list after update to 0.18.3pip list Package Version ------------------------- -------------- anndata 0.11.0 anyio 4.6.2.post1 argon2-cffi 23.1.0 argon2-cffi-bindings 21.2.0 array_api_compat 1.9.1 arrow 1.3.0 asttokens 2.4.1 async-lru 2.0.4 attrs 24.2.0 babel 2.16.0 beautifulsoup4 4.12.3 bleach 6.2.0 build 1.2.2.post1 CacheControl 0.14.1 certifi 2024.8.30 cffi 1.17.1 charset-normalizer 3.4.0 cleo 2.1.0 colorama 0.4.6 comm 0.2.2 contourpy 1.3.0 crashtest 0.4.1 cupy 13.3.0 cycler 0.12.1 Cython 3.0.11 debugpy 1.8.8 decorator 5.1.1 defusedxml 0.7.1 distlib 0.3.9 dpcpp-cpp-rt 2025.0.3 dpctl 0.18.3 dpnp 0.16.0 dulwich 0.22.5 executing 2.1.0 fastjsonschema 2.20.0 fastrlock 0.8.2 filelock 3.16.1 fonttools 4.54.1 fqdn 1.5.1 h11 0.14.0 h5py 3.12.1 httpcore 1.0.6 httpx 0.27.2 idna 3.10 installer 0.7.0 intel-cmplr-lib-rt 2025.0.3 intel-cmplr-lib-ur 2025.0.3 intel-cmplr-lic-rt 2025.0.3 intel-opencl-rt 2025.0.3 intel-openmp 2025.0.3 intel-sycl-rt 2025.0.3 ipykernel 6.29.5 ipython 8.29.0 isoduration 20.11.0 jaraco.classes 3.4.0 jaraco.context 6.0.1 jaraco.functools 4.1.0 jedi 0.19.1 Jinja2 3.1.4 joblib 1.4.2 json5 0.9.25 jsonpointer 3.0.0 jsonref 1.1.0 jsonschema 4.23.0 jsonschema-specifications 2024.10.1 jupyter_client 8.6.3 jupyter_core 5.7.2 jupyter-events 0.10.0 jupyter-lsp 2.2.5 jupyter_server 2.14.2 jupyter_server_terminals 0.5.3 jupyterlab 4.3.0 jupyterlab_pygments 0.3.0 jupyterlab_server 2.27.3 keyboard 0.13.5 keyring 25.5.0 kiwisolver 1.4.7 legacy-api-wrap 1.4 llvmlite 0.43.0 MarkupSafe 3.0.2 matplotlib 3.9.2 matplotlib-inline 0.1.7 mistune 3.0.2 mkl 2025.0.0 mkl_fft 1.3.11 mkl_random 1.2.8 mkl-service 2.4.2 mkl_umath 0.1.2 more-itertools 10.5.0 msgpack 1.1.0 mudata 0.3.1 natsort 8.4.0 nbclient 0.10.0 nbconvert 7.16.4 nbformat 5.10.4 nest-asyncio 1.6.0 networkx 3.4.2 notebook 7.2.2 notebook_shim 0.2.4 numpy 1.26.4 onemkl-sycl-blas 2025.0.0 onemkl-sycl-dft 2025.0.0 onemkl-sycl-lapack 2025.0.0 onemkl-sycl-rng 2025.0.0 onemkl-sycl-stats 2025.0.0 onemkl-sycl-vm 2025.0.0 opencv-python 4.10.0.84 overrides 7.7.0 packaging 24.2 pandas 2.2.3 pandocfilters 1.5.1 parso 0.8.4 patsy 0.5.6 pexpect 4.9.0 pillow 11.0.0 pip 24.3.1 pip-review 1.3.0 pkginfo 1.11.2 platformdirs 4.3.6 plumbum 1.9.0 poetry 1.8.4 poetry-core 1.9.1 poetry-plugin-export 1.8.0 prometheus_client 0.21.0 prompt_toolkit 3.0.48 protobuf 5.28.3 psutil 6.1.0 ptyprocess 0.7.0 pure_eval 0.2.3 PyAudio 0.2.14 pycparser 2.22 pyelftools 0.31 pyft232 0.12 Pygments 2.18.0 pyluxcoretools 2.9a1.post3 pynndescent 0.5.13 pyparsing 3.2.0 pyproject_hooks 1.2.0 PyQt5 5.15.11 PyQt5-Qt5 5.15.2 PyQt5_sip 12.15.0 PyQt6-Qt6 6.7.3 PyQt6_sip 13.8.0 pyqtgraph 0.13.7 pyserial 3.5 PySide6_Addons 6.8.0.2 PySide6_Essentials 6.8.0.2 python-dateutil 2.9.0.post0 python-json-logger 2.0.7 pytz 2024.2 pyusb 1.2.1 PyVISA 1.14.1 pywin32 308 pywin32-ctypes 0.2.3 pywinpty 2.0.14 PyYAML 6.0.2 pyzmq 26.2.0 RapidFuzz 3.10.1 referencing 0.35.1 requests 2.32.3 requests-toolbelt 1.0.0 rfc3339-validator 0.1.4 rfc3986-validator 0.1.1 rpds-py 0.21.0 rpyc 6.0.1 scikit-learn 1.5.2 scipy 1.14.1 seaborn 0.13.2 Send2Trash 1.8.3 session_info 1.0.0 setuptools 75.3.0 shellingham 1.5.4 shiboken6 6.8.0.2 six 1.16.0 sniffio 1.3.1 soupsieve 2.6 srsgui 0.4.6 srsinst.rga 0.3.5 stack-data 0.6.3 statsmodels 0.14.4 stdlib-list 0.11.0 tbb 2022.0.0 tbb4py 2022.0.0 tcmlib 1.2.0 terminado 0.18.1 thorlabs-apt-device 0.3.8 threadpoolctl 3.5.0 tinycss2 1.4.0 tomlkit 0.13.2 tornado 6.4.1 tqdm 4.67.0 traitlets 5.14.3 trove-classifiers 2024.10.21.16 types-python-dateutil 2.9.0.20241003 typing_extensions 4.12.2 tzdata 2024.2 umf 0.9.0 uri-template 1.3.0 urllib3 2.2.3 virtualenv 20.27.1 wcwidth 0.2.13 webcolors 24.8.0 webencodings 0.5.1 websocket-client 1.8.0 zhinst 24.10.0 zhinst-core 24.10.64896 zhinst-timing-models 24.10.64896 zhinst-toolkit 0.7.0 zhinst-utils 0.5.0 |
Python 3.12 was installed using the standard windows installer from python.org The dependent libraries, as found by https://github.com/lucasg/Dependencies for
|
@liam-clink Please try the following code, to check if the fix would work. Save the following snippet into a script import os
import os.path
as.add_dll_directory(os.path.join("C:", "Program Files (x86)", "Intel", "oneAPI", "2025.0", "bin"))
import dpctl
dpctl.lspltform(verbosity=1) and execute It would be helpful if you could verify whether "C:\Users\liam\AppData\Roaming\Python\Library\bin" directory exists, and contains Thank you |
@liam-clink Did the suggested solution help, if you've got a chance to try it? |
I had to fix typos, but this was the output:
|
Ok, so the work-around worked. I am glad to hear it. I will reproduce the issue locally and see if it can be made to work out of the box. Meanwhile, |
Here is the result of my investigation. EnvironmentI installed Python 3.12 downloaded from Python Software Foundation website, and installed into I installed
Output of pip list
Work-around for being able to import
|
Just to make it clear, that oneAPI installation was not necessary to make @liam-clink Feel free to close if you issue has been resolved. |
What about using a GPU with one of codeplay's addons? I believe those require an installation like this |
@liam-clink Yes, library If it makes it easier to use |
One last question, why doesn't dpctl search this Python path by default? Since this is a normal recommended way to install dpctl |
This is a very good question to ask. For security reasons, Python searches for DLLs needed by native Python extensions in a restricted number of folders since version 3.8. DPC++ runtime libraries are installed in a common folder in Python prefix so that they can be reused by other extensions using DPC++, but this common location is not searched by Python itself by default, hence the need to use Please refer to https://bugs.python.org/issue43173 Note, that for |
One more thing, @liam-clink . If you intend to use Bits currently available in PyPI only target SPIR64 devices, i.e., Intel GPUs and x86-64 CPUs. Since you have the oneAPI installed, and assuming you also installed oneAPI for NVidia as well it is pretty straightforward to build Please let me know and I would provide further details. But meanwhile, see #1124 The command to build |
When I import dpctl on Windows 10, it fails, giving this error:
I have made sure that oneAPI is properly installed, I can even build C++ programs with it. I have made sure Visual Studio C++ redistributable is installed, and nothing. I make sure to run
'C:\Program Files (x86)\Intel\oneAPI\setvars.bat'
before doing this, it doesn't make a difference. It's not an outdated version, it's from October this year (0.18.1), so #1177 is not relevant.The text was updated successfully, but these errors were encountered: