gcorso / DiffDock

Implementation of DiffDock: Diffusion Steps, Twists, and Turns for Molecular Docking
https://arxiv.org/abs/2210.01776
MIT License
1.05k stars 252 forks source link

RuntimeError: Not compiled with CUDA support #150

Open MsCongs opened 1 year ago

MsCongs commented 1 year ago

I'm running the test example and the code runs successfully without GPU. But when I use GPU, it has bug likes this:

Generating ESM language model embeddings ['IELTQSPSSLSASLGGKVTITCKASQDIKKYIGWYQHKPGKQPRLLIHYTSTLLPGIPSRFRGSGSGRDYSFSISNLEPEDIATYYCLQYYNLRTFGGGTKLEIKRADAAPTVSIFPPSSEQLTSGGASVVCFLNNFYSKDINVKWKIDGSERQNGVLNSWTDQDSKDSTYSMSSTLTLTKDEYERHNSYTCEATHKTSTSPIVKSFNRNE:VQLQESDAELVKPGASVKISCKASGYTFTDHVIHWVKQKPEQGLEWIGYISPGNGDIKYNEKFKGKATLTADKSSSTAYMQLNSLTSEDSAVYLCKRGYYVDYWGQGTTLTVSSAKTTPPSVYPLAPSMVTLGCLVKGYFPEPVTVTWNSGSLSSGVHTFPAVLQSDLYTLSSSVTVPSSTWPSETVTCNVAHPASSTKVDKKIE'] Processing 1 of 1 batches (2 sequences) HAPPENING | confidence model uses different type of graphs than the score model. Loading (or creating if not existing) the data for the confidence model now. Size of test dataset: 1 0it [00:00, ?it/s]Failed on ['1a0q'] The following operation failed in the TorchScript interpreter. Traceback of TorchScript (most recent call last): File "/home/xucg/anaconda3/envs/diffdock/lib/python3.9/site-packages/torch_cluster/radius.py", line 118, in radius_graph

assert flow in ['source_to_target', 'target_to_source']
edge_index = radius(x, x, r, batch, batch,
             ~~~~~~ <--- HERE
                    max_num_neighbors if loop else max_num_neighbors + 1,
                    num_workers)

File "/home/xucg/anaconda3/envs/diffdock/lib/python3.9/site-packages/torch_cluster/radius.py", line 72, in radius ptr_y = torch.bucketize(arange, batch_y)

return torch.ops.torch_cluster.radius(x, y, ptr_x, ptr_y, r,
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
                                      max_num_neighbors, num_workers)

RuntimeError: Not compiled with CUDA support

1it [00:00, 1.39it/s] Failed for 1 complexes Skipped 0 complexes Results are in results/user_inference

The torch.cuda.is_available() returns TRUE. Some important packages are as following: torch-cluster 1.6.1
torch-geometric 2.3.1
torch-scatter 2.1.1
torch-sparse 0.6.14
torch-spline-conv 1.2.2
torchaudio 0.11.0
torchmetrics 1.0.3
torchtriton 2.0.0
torchvision 0.12.0 python 3.9.17
python-dateutil 2.8.2
pytorch 1.11.0
pytorch-cuda 11.7
pytorch-lightning 2.0.6
pytorch-mutex 1.0
cuda-nvcc 11.7.64
cuda-nvdisasm 11.7.50
cuda-nvml-dev 11.7.50
cuda-nvprof 11.7.50
cuda-nvprune 11.7.50
cuda-nvrtc 11.7.99
cuda-nvrtc-dev 11.7.50
cuda-nvtx 11.7.91
cuda-nvvp 11.7.50
cuda-runtime 11.7.1
cuda-sanitizer-api 11.7.50
cuda-toolkit 11.7.0
cuda-tools 11.7.0
cuda-visual-tools 11.7.0
cudatoolkit 11.5.1

MsCongs commented 1 year ago

I solved this problem! I uninstalled the torch-cluster and installed it again using this command "conda install pytorch-cluster -c pyg" instead of original "pip install torch-cluster -f https://data.pyg.org/whl/torch-1.11.0+cu117.html" . If there is anyone has the same bug as me, you could try this way.