The release notes for 2.4.6 say that cuda 9 & 10 are supported; but i am trying to install 2.4.6 on a clean centos 7 instance with cuda 10 and the installer is looking for cuda 8 libs and failing.
Traceback (most recent call last):
File “bin/connect.py”, line 191, in
gpu_devidxs = check_gpus()
File “bin/connect.py”, line 73, in check_gpus
num_devs = print_gpu_list()
File “bin/connect.py”, line 6, in print_gpu_list
import pycuda.driver as cudrv
File “/home/cryosparc_user/cryosparc2_worker/deps/anaconda/lib/python2.7/site-packages/pycuda/driver.py”, line 5, in
from pycuda._driver import * # noqa
ImportError: libcurand.so.8.0: cannot open shared object file: No such file or directory
CUDA Driver Version / Runtime Version 10.0 / 10.0
Release notes for 2.4.6: "Change Log
Nov. 30, 2018
Update: cryoSPARC now supports CUDA 9 and 10.
Note: Updating to this version will trigger a reinstallation of cryoSPARC dependencies. These are included in the installation bundle and should not cause any issues but updating could take longer than normal.
Fixed: Bug in GCTF wrapper that caused problems when run in per-particle local CTF refinement mode.
Fixed: Bug in exposure curation when some micrographs contained no particles."
But the install notes still say: “must have installed CUDA 8.0 Please note that CUDA versions greater than 8.0 are not yet supported by cryoSPARC.”
We apologize for the mismatch in the information provided in the change log and the installation notes. We are currently working on a redesign for the documentation on our website, which reflects the changes in the latest version of cryoSPARC.
It seems like your issue is related to the CUDA-10 binaries’ location not being loaded in your environment prior to the compilation of pycuda during the cryosparc2_worker installation process, causing it to be compiled with what was already loaded, CUDA 8.0. The fix is very simple.
cryosparc2_worker/config.sh includes the correct path to CUDA 10 on your system.
- Recompile pycuda 2018.1.1 after loading the CUDA 10 binaries into your path:
a. Navigate to your cryosparc2_worker directory
eval $(bin/cryosparcw env)
pip uninstall pycuda
pip install pycuda==2018.1.1 --no-cache-dir #requires an internet connection
After that, you can try the
connect command again.
Thank you Stephan, the cuda path was set correctly, but removing and reinstalling pycuda worked.
I don’t understand why pycuda wasn’t compiled correctly the first time the cuda 10 libs/path were set correctly in .bashrc?
Glad it worked out!
Was there a chance
.bashrc wasn’t sourced?
Or is it possible that
usr/lib/cuda was symlinked to
usr/local/cuda-8.0, which was somehow loaded in your environment?
When pycuda is installed, its compiled with the Cuda binaries that are currently in your environment, so it’s possible there was an edge case I might not even be thinking about!
The only thing i can think of would be somehow .bashrc wasn’t sourced at login. this system only has cuda-10 installed, which has been simlinked to usr/local/cuda.
I think I may be missing drivers, Cuda was pre-installed by the vendor that supplied our Ubuntu 20.04 system, # nvidia-smi runs, Cryosparc seems to start, but I don’t know that the full Cuda kit is available.
What binaries/scripts should the CUDA_PATH be pointing to? I will find those and make certain that the CUDA_PATH is correct.
thanks - Brian