Cryosparc v2.4.6 w/cuda 10?

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
v2.4.6
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.”

Hi @nis_it,

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.

  1. Ensure cryosparc2_worker/config.sh includes the correct path to CUDA 10 on your system.
  2. Recompile pycuda 2018.1.1 after loading the CUDA 10 binaries into your path:
    a. Navigate to your cryosparc2_worker directory
    b. Execute eval $(bin/cryosparcw env)
    c. Execute pip uninstall pycuda
    d. Execute pip install pycuda==2018.1.1 --no-cache-dir #requires an internet connection

After that, you can try the connect command again.

Good Luck!

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?

Hi @nis_it,

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