I am trying to run jobs on Cryosparc but they all fail, giving the following error:
Traceback (most recent call last):
File “/CryoSparc/CryoSparcV2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/pytools/init.py”, line 638, in _deco
return func._memoize_dic[args] # pylint: disable=protected-access
AttributeError: ‘function’ object has no attribute ‘_memoize_dic’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/CryoSparc/CryoSparcV2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/pytools/prefork.py”, line 49, in call_capture_output
stderr=PIPE)
File “/CryoSparc/CryoSparcV2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/subprocess.py”, line 800, in init
restore_signals, start_new_session)
File “/CryoSparc/CryoSparcV2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/subprocess.py”, line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: ‘nvcc’: ‘nvcc’
It worked before and we did not update cryosparc or CUDA.
This is what ‘which nvcc’ gives me:
/usr/bin/which: no nvcc in (/CryoSparc/CryoSparcV2/cryosparc2_worker/bin:/CryoSparc/CryoSparcV2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/bin:/CryoSparc/CryoSparcV2/cryosparc2_worker/deps/anaconda/condabin:/usr/local/cuda-10.1/bin:/CryoSparc/CryoSparcV2/cryosparc2_master/deps/anaconda/bin:/bin:/condabin:/CryoSparc/CryoSparcV2/cryosparc2_master/deps/external/mongodb/bin:/CryoSparc/CryoSparcV2/cryosparc2_master/deps/anaconda/bin:/CryoSparc/CryoSparcV2/cryosparc2_master/bin:/CryoSparc/CryoSparcV2/cryosparr)
How many worker nodes does your cryoSPARC instance have?
Is it possible that on the worker where the job ran, nvcc does in fact not exist at the path ${CRYOSPARC_CUDA_PATH}/bin, as defined in /CryoSparc/CryoSparcV2/cryosparc2_worker/config.sh?
Please can you post the output of
eval $(/CryoSparc/CryoSparcV2/cryosparc2_worker/bin/cryosparcw env)
echo $CRYOSPARC_CUDA_PATH
ls -l ${CRYOSPARC_CUDA_PATH}/bin
That’s looks unusual (to me).
Had it not been for the message
I would have expected nvcc to be included in the file listing. How was this toolkit installed? There may be CUDA toolkit distributions where nvcc would end up at a different path.
Assuming no other users or programs are affected by configuring another version of CUDA, I suggest installation of version 11.2 of the CUDA toolkit. For cryoSPARC to work with the newly installed toolkit, you would need to run (after toolkit installation or update, and confirmation that nvcc is present in /path/to/new_cuda_installation/bin/): /CryoSparc/CryoSparcV2/cryosparc2_worker/bin/cryosparcw newcuda \ /path/to/new_cuda_installation
(details).