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

error checking compiler version for cl --> Cuda error #307

Closed
2 tasks
jnsLs opened this issue May 16, 2019 · 4 comments
Closed
2 tasks

error checking compiler version for cl --> Cuda error #307

jnsLs opened this issue May 16, 2019 · 4 comments

Comments

@jnsLs
Copy link

jnsLs commented May 16, 2019

📚 Installation

the dependencies torch-scatter, torch-sparse and torch cluster are not installed correctly
I ran the command for pytorch scatter and get the output (same for sparse and cluster):

running install
running bdist_egg
running egg_info
writing torch_scatter.egg-info\PKG-INFO
writing dependency_links to torch_scatter.egg-info\dependency_links.txt
writing top-level names to torch_scatter.egg-info\top_level.txt
reading manifest file 'torch_scatter.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'torch_scatter.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
running build_ext
C:\Users\Jonas\Anaconda3\envs\schnetenv\lib\site-packages\torch\utils\cpp_extension.py:184: UserWarning: Error checking compiler version for cl: 'utf-8' codec can't decode byte 0x81 in position 62: invalid start byte
warnings.warn('Error checking compiler version for {}: {}'.format(compiler, error))
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\test
copying build\lib.win-amd64-3.7\test\test_backward.py -> build\bdist.win-amd64\egg\test
copying build\lib.win-amd64-3.7\test\test_forward.py -> build\bdist.win-amd64\egg\test
copying build\lib.win-amd64-3.7\test\test_max_min.py -> build\bdist.win-amd64\egg\test
copying build\lib.win-amd64-3.7\test\test_multi_gpu.py -> build\bdist.win-amd64\egg\test
copying build\lib.win-amd64-3.7\test\test_std.py -> build\bdist.win-amd64\egg\test
copying build\lib.win-amd64-3.7\test\utils.py -> build\bdist.win-amd64\egg\test
copying build\lib.win-amd64-3.7\test_init_.py -> build\bdist.win-amd64\egg\test
creating build\bdist.win-amd64\egg\torch_scatter
copying build\lib.win-amd64-3.7\torch_scatter\add.py -> build\bdist.win-amd64\egg\torch_scatter
copying build\lib.win-amd64-3.7\torch_scatter\div.py -> build\bdist.win-amd64\egg\torch_scatter
copying build\lib.win-amd64-3.7\torch_scatter\max.py -> build\bdist.win-amd64\egg\torch_scatter
copying build\lib.win-amd64-3.7\torch_scatter\mean.py -> build\bdist.win-amd64\egg\torch_scatter
copying build\lib.win-amd64-3.7\torch_scatter\min.py -> build\bdist.win-amd64\egg\torch_scatter
copying build\lib.win-amd64-3.7\torch_scatter\mul.py -> build\bdist.win-amd64\egg\torch_scatter
copying build\lib.win-amd64-3.7\torch_scatter\scatter_cpu.cp37-win_amd64.pyd -> build\bdist.win-amd64\egg\torch_scatter
copying build\lib.win-amd64-3.7\torch_scatter\scatter_cuda.cp37-win_amd64.pyd -> build\bdist.win-amd64\egg\torch_scatter
copying build\lib.win-amd64-3.7\torch_scatter\std.py -> build\bdist.win-amd64\egg\torch_scatter
copying build\lib.win-amd64-3.7\torch_scatter\sub.py -> build\bdist.win-amd64\egg\torch_scatter
creating build\bdist.win-amd64\egg\torch_scatter\utils
copying build\lib.win-amd64-3.7\torch_scatter\utils\ext.py -> build\bdist.win-amd64\egg\torch_scatter\utils
copying build\lib.win-amd64-3.7\torch_scatter\utils\gen.py -> build\bdist.win-amd64\egg\torch_scatter\utils
copying build\lib.win-amd64-3.7\torch_scatter\utils_init_.py -> build\bdist.win-amd64\egg\torch_scatter\utils
copying build\lib.win-amd64-3.7\torch_scatter_init_.py -> build\bdist.win-amd64\egg\torch_scatter
byte-compiling build\bdist.win-amd64\egg\test\test_backward.py to test_backward.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\test\test_forward.py to test_forward.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\test\test_max_min.py to test_max_min.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\test\test_multi_gpu.py to test_multi_gpu.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\test\test_std.py to test_std.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\test\utils.py to utils.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\test_init_.py to init.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter\add.py to add.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter\div.py to div.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter\max.py to max.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter\mean.py to mean.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter\min.py to min.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter\mul.py to mul.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter\std.py to std.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter\sub.py to sub.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter\utils\ext.py to ext.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter\utils\gen.py to gen.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter\utils_init_.py to init.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter_init_.py to init.cpython-37.pyc
creating stub loader for torch_scatter\scatter_cpu.cp37-win_amd64.pyd
creating stub loader for torch_scatter\scatter_cuda.cp37-win_amd64.pyd
byte-compiling build\bdist.win-amd64\egg\torch_scatter\scatter_cpu.py to scatter_cpu.cpython-37.pyc
byte-compiling build\bdist.win-amd64\egg\torch_scatter\scatter_cuda.py to scatter_cuda.cpython-37.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying torch_scatter.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying torch_scatter.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying torch_scatter.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying torch_scatter.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
writing build\bdist.win-amd64\egg\EGG-INFO\native_libs.txt
zip_safe flag not set; analyzing archive contents...
torch_scatter.pycache.scatter_cpu.cpython-37: module references file
torch_scatter.pycache.scatter_cuda.cpython-37: module references file
creating 'dist\torch_scatter-1.2.0-py3.7-win-amd64.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing torch_scatter-1.2.0-py3.7-win-amd64.egg
creating c:\users\jonas\anaconda3\envs\schnetenv\lib\site-packages\torch_scatter-1.2.0-py3.7-win-amd64.egg
Extracting torch_scatter-1.2.0-py3.7-win-amd64.egg to c:\users\jonas\anaconda3\envs\schnetenv\lib\site-packages
Adding torch-scatter 1.2.0 to easy-install.pth file

Installed c:\users\jonas\anaconda3\envs\schnetenv\lib\site-packages\torch_scatter-1.2.0-py3.7-win-amd64.egg
Processing dependencies for torch-scatter==1.2.0
Finished processing dependencies for torch-scatter==1.2.0

Environment

  • OS: Windows 10
  • Python version: 3.7
  • PyTorch version: 1.1.0
  • CUDA/cuDNN version: 10.1, V10.1.168
  • GCC version: gcc (MinGW.org GCC-8.2.0-3) 8.2.0
  • How you tried to install PyTorch Geometric and its extensions (pip, source): source using
  • Any other relevant information: using visual studio 2019

Checklist

  • [x ] I followed the installation guide.
  • [x ] I cannot find my error message in the FAQ.
  • [ x] I set up CUDA correctly and can compile CUDA code via nvcc.
  • [x ] I have cloned the repository and tried a manual installation from source.
  • I do have multiple CUDA versions on my machine.
  • [x ] I checked if the official extension example runs on my machine.
  • The offical extension example runs on my machine.

##additional info:

running the first example works

import torch
from torch_geometric.data import Data

edge_index = torch.tensor([[0, 1, 1, 2],
[1, 0, 2, 1]], dtype=torch.long)
x = torch.tensor([[-1], [0], [1]], dtype=torch.float)

data = Data(x=x, edge_index=edge_index)

but transfering to the GPU

device = torch.device('cuda')
data = data.to(device)

results in the error:
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\Jonas\Anaconda3\envs\schnetenv\lib\site-packages\torch_geometric\data\data.py", line 247, in to
return self.apply(lambda x: x.to(device), *keys)
File "C:\Users\Jonas\Anaconda3\envs\schnetenv\lib\site-packages\torch_geometric\data\data.py", line 233, in apply
self[key] = func(item)
File "C:\Users\Jonas\Anaconda3\envs\schnetenv\lib\site-packages\torch_geometric\data\data.py", line 247, in
return self.apply(lambda x: x.to(device), *keys)
File "C:\Users\Jonas\Anaconda3\envs\schnetenv\lib\site-packages\torch\cuda_init_.py", line 163, in _lazy_init
torch._C._cuda_init()
RuntimeError: CUDA error: unknown error

Using cuda with torch but without importing torch_geometric, works. It seems that importing torch_geometric is corrupting the use of cuda. I also tried with cuda 10.0 but it did not make a difference.

Thank you in advance
Jonas

@rusty1s
Copy link
Member

rusty1s commented May 16, 2019

I'm sadly not sure, as I've never tried to install the packages on Windows, but I'm definitely sure that it's possible. It is maybe wisely to also ask for help here.

@kevin-keraudren
Copy link

@jnsLs : you need to load the Visual Studio environment variables before running pip install for torch-scatter. In particular, this will put the Visual Studio compiler tools on your PATH.

In my case, something like this works:

call "%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" x64 10.0.17763.0 && set DISTUTILS_USE_SDK=1 && set PY_VCRUNTIME_REDIST=No thanks && set MSSdk=1 &&  pip install --verbose --no-cache-dir torch-scatter

I could not compile with CUDA 10.1 but it worked with CUDA 10.0, so you might want to downgrade your CUDA installation to match with pytorch.

@jnsLs
Copy link
Author

jnsLs commented Jun 17, 2019

Thank you both. However, unfortunately, that didn't solve my problem. Even though torch-scatter is installed successfully (only with the warning: "WARNING: Subprocess output does not appear to be encoded as cp1252"), I can not send tensors to the GPU:
----code-----------------------------------------------

import torch
from torch_geometric.data import Data
edge_index = torch.tensor([[0, 1, 1, 2],
[1, 0, 2, 1]], dtype=torch.long)
x = torch.tensor([[-1], [0], [1]], dtype=torch.float)
data = Data(x=x, edge_index=edge_index)
device = torch.device('cuda')
data = data.to(device)


Traceback (most recent call last):
File "", line 1, in
File "C:\Users\Jonas\Anaconda3\envs\schnet\lib\site-packages\torch_geometric\data\data.py", line 246, in to
return self.apply(lambda x: x.to(device), *keys)
File "C:\Users\Jonas\Anaconda3\envs\schnet\lib\site-packages\torch_geometric\data\data.py", line 232, in apply
self[key] = func(item)
File "C:\Users\Jonas\Anaconda3\envs\schnet\lib\site-packages\torch_geometric\data\data.py", line 246, in
return self.apply(lambda x: x.to(device), *keys)
File "C:\Users\Jonas\Anaconda3\envs\schnet\lib\site-packages\torch\cuda_init_.py", line 163, in _lazy_init
torch._C._cuda_init()
RuntimeError: CUDA error: unknown error

@rusty1s
Copy link
Member

rusty1s commented Jun 17, 2019

Related pytorch/pytorch#11989?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants