rusty1s / pytorch_sparse

PyTorch Extension Library of Optimized Autograd Sparse Matrix Operations
MIT License
1.01k stars 147 forks source link

undefined symbol -- does *Not* seem to be because of mismatched Pytorch & CUDA #188

Closed sunchipsster1 closed 2 years ago

sunchipsster1 commented 2 years ago

Hi guys, I am encountering a problem with using pytorch_sparse. On python3.7, I have pip installed the following:

pip3 install torch==1.7.0+cu101 -f https://download.pytorch.org/whl/cu101/torch_stable.html

as well as pip3 install -r requirements.txt with the following items: mkl-fft==1.3.0 mkl-random==1.2.2 mkl-service==2.4.0 numpy pandas==1.3.3 ray==1.1.0 rdkit-pypi torch-geometric==1.6.3 torch-scatter==2.0.5 -f https://pytorch-geometric.com/whl/torch-1.7.0+cu101.html torch-sparse==0.6.8 -f https://pytorch-geometric.com/whl/torch-1.7.0+cu101.html tqdm==4.36.1

But I get the following error. Does anyone know why I get this error?

I searched the issues other kind folks have had -- found that most of them were due to mismatched Pytorch and CUDA.

Thank you very much in advance for your help, and happy holidays! :)

OSError: /home/mila/c/chen.sun/gflownet/gfn/lib/python3.7/site-packages/torch_sparse/_version.so: undefined symbol: _ZN3c106detail12infer_schema20make_function_schemaENS_8ArrayRefINS111ArgumentDefEEES4

rusty1s commented 2 years ago

Yes, this usually indicates a mismatch in PyTorch/CUDA versions. Do you have a local CUDA installed? What's the version of it (nvcc --version)? It might be that the extension packages try to use your local CUDA version (not the one bundled with PyTorch), which could explain the mismatch in versions.

sunchipsster1 commented 2 years ago

Hello! nvcc --version yields: nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Sun_Jul_28_19:07:16_PDT_2019 Cuda compilation tools, release 10.1, V10.1.243

To give more precise information, the exact sequence of steps that I did was to create a new virtual environment: module load python/3.7 module load cuda/10.1 python -m venv X source X/bin/activate pip3 install --upgrade pip

before doing the above pip install procedures. Do you know what I am doing wrongly?

Thank you again for the kind help! :)

rusty1s commented 2 years ago

I am not sure TBH. This looks absolutely correct. Can you see if it helps if you compile these packages from source?

pip uninstall torch-scatter torch-sparse
pip uninstall torch-scatter torch-sparse
pip install --verbose --no-cache-dir torch-scatter==2.0.5
pip install --verbose --no-cache-dir torch-sparse==0.6.8
github-actions[bot] commented 2 years ago

This issue had no activity for 6 months. It will be closed in 2 weeks unless there is some new activity. Is this issue already resolved?