Skip to content
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

IPEX xpu wheel files for windows using the wrong version of Pytorch? Also no torchvision #398

Open
Mindset-Official opened this issue Aug 4, 2023 · 18 comments
Labels
NotAnIssue XPU/GPU XPU/GPU specific issues

Comments

@Mindset-Official
Copy link

Describe the issue

python -m pip install torch==2.0.0a0 intel_extension_for_pytorch==2.0.110+gitba7f6c1 -f https://developer.intel.com/ipex-whl-stable-xpu

wheel files seem to include torch 2.0.0a0 but notes say that xpu is only available for torch 2.0.1a0

Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug 1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import torch
import intel_extension_for_pytorch
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\mymin\AppData\Local\Programs\Python\Python310\lib\site-packages\intel_extension_for_pytorch_init_.py", line 89, in
raise err
OSError: [WinError 126] The specified module could not be found. Error loading "C:\Users\mymin\AppData\Local\Programs\Python\Python310\lib\site-packages\intel_extension_for_pytorch\bin\intel-ext-pt-gpu.dll" or one of its dependencies.
torch.xpu.is_available()
Traceback (most recent call last):
File "", line 1, in
AttributeError: module 'torch' has no attribute 'xpu'

Also there seems to be no version of torchvision for windows? Not sure if this is a mistake or just part of the expiremental nature? as is xpu is not detected and doesn't work on windows so it defaults to cpu still.

@jingxu10
Copy link
Contributor

jingxu10 commented Aug 4, 2023

Because of the experimental nature, the pytorch wheel shipped is 2.0.1 code base, but didn't get version updated in its version.txt file. torchvision wheels are not available at this moment as well.

@min-jean-cho could you check the error above?

OSError: [WinError 126] The specified module could not be found. Error loading "C:\Users\mymin\AppData\Local\Programs\Python\Python310\lib\site-packages\intel_extension_for_pytorch\bin\intel-ext-pt-gpu.dll" or one of its dependencies.

@min-jean-cho
Copy link
Contributor

Thanks @Mindset-Official for trying out. Could you please double check if you have activated oneAPI environment, call "{YOUR_PATH_TO_ONEAPI}\setvars.bat" (e.g., call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat")?

@Mindset-Official
Copy link
Author

Okay, thanks. I was able to get it to run by deleting python and installing miniconda as default, I then ran everything in oneapi environment and

Python 3.10.12 | packaged by Anaconda, Inc. | (main, Jul 5 2023, 19:01:18) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import torch
import intel_extension_for_pytorch
torch.xpu.is_available()
True

appreciate the help and response. I will give it a shot and see how everything works in windows.

@jingxu10 jingxu10 added XPU/GPU XPU/GPU specific issues NotAnIssue labels Aug 4, 2023
@min-jean-cho
Copy link
Contributor

Glad to hear that! Let us know if any other questions.

@Nuullll
Copy link

Nuullll commented Aug 7, 2023

Since Intel hasn't released a corresponding torchvision wheel for windows, the SD Web UI tries to install the latest torchvision == 0.15.2, which requires torch == 2.0.1. So pip install torchvision will uninstall the intel torch because of incompatible version and install torch == 2.0.1 instead. Then intel_extension_for_pytorch bails out because of wrong dll version from torch 2.0.1.

I have to hack torchvision-0.15.1.dist-info/METADATA in the python site-packages to force it compatible with torch == 2.0.0a0.

Metadata-Version: 2.1
Name: torchvision
Version: 0.15.1
Summary: image and video datasets and models for torch deep learning
Home-page: https://github.com/pytorch/vision
Author: PyTorch Core Team
Author-email: [email protected]
License: BSD
Requires-Python: >=3.8
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: requests
- Requires-Dist: torch (==2.0.0)
+ Requires-Dist: torch (==2.0.0a0)
Requires-Dist: pillow (!=8.3.*,>=5.3.0)
Provides-Extra: scipy
Requires-Dist: scipy ; extra == 'scipy'

@Nuullll
Copy link

Nuullll commented Aug 7, 2023

So we really need an intel torchvision wheel for windows. Is that planned in the near future?

@Mindset-Official
Copy link
Author

Since Intel hasn't released a corresponding torchvision wheel for windows, the SD Web UI tries to install the latest torchvision == 0.15.2, which requires torch == 2.0.1. So pip install torchvision will uninstall the intel torch because of incompatible version and install torch == 2.0.1 instead. Then intel_extension_for_pytorch bails out because of wrong dll version from torch 2.0.1.

I have to hack torchvision-0.15.1.dist-info/METADATA in the python site-packages to force it compatible with torch == 2.0.0a0.

Metadata-Version: 2.1
Name: torchvision
Version: 0.15.1
Summary: image and video datasets and models for torch deep learning
Home-page: https://github.com/pytorch/vision
Author: PyTorch Core Team
Author-email: [email protected]
License: BSD
Requires-Python: >=3.8
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: requests
- Requires-Dist: torch (==2.0.0)
+ Requires-Dist: torch (==2.0.0a0)
Requires-Dist: pillow (!=8.3.*,>=5.3.0)
Provides-Extra: scipy
Requires-Dist: scipy ; extra == 'scipy'

Try this <@323514682155466753> 'torch==2.0.0a0 torchvision==0.15.2a0 intel_extension_for_pytorch==2.0.110+gitba7f6c1 -f https://developer.intel.com/ipex-whl-stable-xpu' 0.15.2a0 seems to install correctly for me. It should atleast install without error

@Nuullll
Copy link

Nuullll commented Aug 8, 2023

Thanks @Mindset-Official. torchvision-0.15.2a0+cxx11.abi-cp310-cp310-linux_x86_64.whl seems to be a linux wheel, I doubt it would work as expected on native windows. Anyway I'd give it a try.

Update:

ERROR: torchvision-0.15.2a0+cxx11.abi-cp310-cp310-linux_x86_64.whl is not a supported wheel on this platform.

@charygu
Copy link

charygu commented Nov 27, 2023

Okay, thanks. I was able to get it to run by deleting python and installing miniconda as default, I then ran everything in oneapi environment and

Python 3.10.12 | packaged by Anaconda, Inc. | (main, Jul 5 2023, 19:01:18) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.

import torch
import intel_extension_for_pytorch
torch.xpu.is_available()
True

appreciate the help and response. I will give it a shot and see how everything works in windows.

Hi, Mindset-Official, Could you tell me how you fix that issue? Did you get this fixed on native Windows?

@Mindset-Official
Copy link
Author

Okay, thanks. I was able to get it to run by deleting python and installing miniconda as default, I then ran everything in oneapi environment and
Python 3.10.12 | packaged by Anaconda, Inc. | (main, Jul 5 2023, 19:01:18) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.

import torch
import intel_extension_for_pytorch
torch.xpu.is_available()
True

appreciate the help and response. I will give it a shot and see how everything works in windows.

Hi, Mindset-Official, Could you tell me how you fix that issue? Did you get this fixed on native Windows?

Yeah, what I did in that post fixed it. You can probably run it without miniconda but I left it as is. Definitely make sure to run the environment and call those variables every time you run.

@charygu
Copy link

charygu commented Nov 27, 2023

Okay, thanks. I was able to get it to run by deleting python and installing miniconda as default, I then ran everything in oneapi environment and
Python 3.10.12 | packaged by Anaconda, Inc. | (main, Jul 5 2023, 19:01:18) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.

import torch
import intel_extension_for_pytorch
torch.xpu.is_available()
True

appreciate the help and response. I will give it a shot and see how everything works in windows.

Hi, Mindset-Official, Could you tell me how you fix that issue? Did you get this fixed on native Windows?

Yeah, what I did in that post fixed it. You can probably run it without miniconda but I left it as is. Definitely make sure to run the environment and call those variables every time you run.

Thank you for your reply. I think my oneapi is not good, I am using 2024 as 2023.2 is not available to download from intel. Could you tell me where to download oneapi-basekit 2023.2?

@charygu
Copy link

charygu commented Nov 28, 2023

Okay, thanks. I was able to get it to run by deleting python and installing miniconda as default, I then ran everything in oneapi environment and
Python 3.10.12 | packaged by Anaconda, Inc. | (main, Jul 5 2023, 19:01:18) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.

import torch
import intel_extension_for_pytorch
torch.xpu.is_available()
True

appreciate the help and response. I will give it a shot and see how everything works in windows.

Hi, Mindset-Official, Could you tell me how you fix that issue? Did you get this fixed on native Windows?

Yeah, what I did in that post fixed it. You can probably run it without miniconda but I left it as is. Definitely make sure to run the environment and call those variables every time you run.

I found the solution finally. Thank you very much.

@makejiang
Copy link

Okay, thanks. I was able to get it to run by deleting python and installing miniconda as default, I then ran everything in oneapi environment and
Python 3.10.12 | packaged by Anaconda, Inc. | (main, Jul 5 2023, 19:01:18) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.

import torch
import intel_extension_for_pytorch
torch.xpu.is_available()
True

appreciate the help and response. I will give it a shot and see how everything works in windows.

Hi, Mindset-Official, Could you tell me how you fix that issue? Did you get this fixed on native Windows?

Yeah, what I did in that post fixed it. You can probably run it without miniconda but I left it as is. Definitely make sure to run the environment and call those variables every time you run.

I found the solution finally. Thank you very much.

Hi @charygu, could you share your solution? It is killing me. Thanks!

@charygu
Copy link

charygu commented Nov 30, 2023

Okay, thanks. I was able to get it to run by deleting python and installing miniconda as default, I then ran everything in oneapi environment and
Python 3.10.12 | packaged by Anaconda, Inc. | (main, Jul 5 2023, 19:01:18) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.

import torch
import intel_extension_for_pytorch
torch.xpu.is_available()
True

appreciate the help and response. I will give it a shot and see how everything works in windows.

Hi, Mindset-Official, Could you tell me how you fix that issue? Did you get this fixed on native Windows?

Yeah, what I did in that post fixed it. You can probably run it without miniconda but I left it as is. Definitely make sure to run the environment and call those variables every time you run.

I found the solution finally. Thank you very much.

Hi @charygu, could you share your solution? It is killing me. Thanks!

I didn't stick to oneAPI of windows installer. Instead, I installed it by using conda in my conda env. Then you may get the 2023.2.0 version which includes the dependencies "intel-ext-pt-gpu.dll" needs.

@makejiang
Copy link

Okay, thanks. I was able to get it to run by deleting python and installing miniconda as default, I then ran everything in oneapi environment and
Python 3.10.12 | packaged by Anaconda, Inc. | (main, Jul 5 2023, 19:01:18) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.

import torch
import intel_extension_for_pytorch
torch.xpu.is_available()
True

appreciate the help and response. I will give it a shot and see how everything works in windows.

Hi, Mindset-Official, Could you tell me how you fix that issue? Did you get this fixed on native Windows?

Yeah, what I did in that post fixed it. You can probably run it without miniconda but I left it as is. Definitely make sure to run the environment and call those variables every time you run.

I found the solution finally. Thank you very much.

Hi @charygu, could you share your solution? It is killing me. Thanks!

I didn't stick to oneAPI of windows installer. Instead, I installed it by using conda in my conda env. Then you may get the 2023.2.0 version which includes the dependencies "intel-ext-pt-gpu.dll" needs.

Thanks charygu, 2023.2 works!

@Cyberavater
Copy link

Can anyone give or link me to a proper guide to use this on Windows?

@YimingLiu000
Copy link

Hi@charygu, could you tell me how to activate oneAPI in conda environment? I can use conda install the 2023.2.0 version, but don't know how to load it.

@karthika-ml
Copy link

Hi, here is an amazing blog that I found to configure the intel-ipex to your pytorch on a windows: https://christianjmills.com/posts/intel-pytorch-extension-tutorial/native-windows/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NotAnIssue XPU/GPU XPU/GPU specific issues
Projects
None yet
Development

No branches or pull requests

9 participants