Hi guys,
Cryosparc 2.9.0 throws up the following error at the beginning of 2D classification. I am using cuda 10.0 ? Is it cuda to driver incompatibility? Will changing to Cuda 8 or 9 solve the issue and is there a way to do this without having to re-install cryosparc? Any help would be greatly appreciated.
Thanks a lot,
Arka
Traceback (most recent call last):
File "cryosparc2_compute/jobs/runcommon.py", line 830, in run_with_except_hook
run_old(*args, **kw)
File "cryosparc2_worker/cryosparc2_compute/engine/cuda_core.py", line 110, in cryosparc2_compute.engine.cuda_core.GPUThread.run (/home/installtest/deps_manage/cryosparc2_package/deploy/stage/cryosparc2_worker/cryosparc2_compute/engine/cuda_core.c:4625)
File "cryosparc2_worker/cryosparc2_compute/engine/cuda_core.py", line 111, in cryosparc2_compute.engine.cuda_core.GPUThread.run (/home/installtest/deps_manage/cryosparc2_package/deploy/stage/cryosparc2_worker/cryosparc2_compute/engine/cuda_core.c:4576)
File "cryosparc2_worker/cryosparc2_compute/engine/engine.py", line 991, in cryosparc2_compute.engine.engine.process.work (/home/installtest/deps_manage/cryosparc2_package/deploy/stage/cryosparc2_worker/cryosparc2_compute/engine/engine.c:27291)
File "cryosparc2_worker/cryosparc2_compute/engine/engine.py", line 109, in cryosparc2_compute.engine.engine.EngineThread.load_image_data_gpu (/home/installtest/deps_manage/cryosparc2_package/deploy/stage/cryosparc2_worker/cryosparc2_compute/engine/engine.c:5742)
File "cryosparc2_worker/cryosparc2_compute/engine/gfourier.py", line 33, in cryosparc2_compute.engine.gfourier.fft2_on_gpu_inplace (/home/installtest/deps_manage/cryosparc2_package/deploy/stage/cryosparc2_worker/cryosparc2_compute/engine/gfourier.c:1866)
File "/net/nfs1/public/EM/cryoSPARCv2/cryosparcV2p9p0/cryosparc2_worker/deps/anaconda/lib/python2.7/site-packages/skcuda/fft.py", line 101, in __init__
capability = misc.get_compute_capability(misc.get_current_device())
File "/net/nfs1/public/EM/cryoSPARCv2/cryosparcV2p9p0/cryosparc2_worker/deps/anaconda/lib/python2.7/site-packages/skcuda/misc.py", line 254, in get_current_device
return drv.Device(cuda.cudaGetDevice())
File "/net/nfs1/public/EM/cryoSPARCv2/cryosparcV2p9p0/cryosparc2_worker/deps/anaconda/lib/python2.7/site-packages/skcuda/cudart.py", line 766, in cudaGetDevice
cudaCheckStatus(status)
File "/net/nfs1/public/EM/cryoSPARCv2/cryosparcV2p9p0/cryosparc2_worker/deps/anaconda/lib/python2.7/site-packages/skcuda/cudart.py", line 564, in cudaCheckStatus
raise e
cudaErrorInsufficientDriver
Please double check your CUDA configuration. Are you able to successfully run nvidia-smi on the machine you’re trying to run this job on? It looks like you probably need to re-install CUDA with the proper driver.
Hi Stephan,
Thanks a lot for your reply. This is a machine that we regularly use for relion gpu jobs and nividia-smi returns details as it should. I will try reinstalling CUDA with the proper driver.
Cheers,
Arka
Run into this issue before. Make sure that the path of both the worker and master point to the right cuda10 directory. Stop cryosparcm. and go to cryosparc2_worker directory and run
Hi Stephan, Stav,
I updated the driver on the machine and now it throws up a different error as stated below. I am using Cuda 10.0. Do you think moving to Cuda 10.1 could solve the issue?
Thanks!
Arka
Traceback (most recent call last):
File "cryosparc2_compute/jobs/runcommon.py", line 830, in run_with_except_hook
run_old(*args, **kw)
File "cryosparc2_worker/cryosparc2_compute/engine/cuda_core.py", line 110, in cryosparc2_compute.engine.cuda_core.GPUThread.run (/home/installtest/deps_manage/cryosparc2_package/deploy/stage/cryosparc2_worker/cryosparc2_compute/engine/cuda_core.c:4625)
File "cryosparc2_worker/cryosparc2_compute/engine/cuda_core.py", line 111, in cryosparc2_compute.engine.cuda_core.GPUThread.run (/home/installtest/deps_manage/cryosparc2_package/deploy/stage/cryosparc2_worker/cryosparc2_compute/engine/cuda_core.c:4576)
File "cryosparc2_worker/cryosparc2_compute/engine/engine.py", line 1053, in cryosparc2_compute.engine.engine.process.work (/home/installtest/deps_manage/cryosparc2_package/deploy/stage/cryosparc2_worker/cryosparc2_compute/engine/engine.c:28374)
File "cryosparc2_worker/cryosparc2_compute/engine/engine.py", line 308, in cryosparc2_compute.engine.engine.EngineThread.compute_resid_pow (/home/installtest/deps_manage/cryosparc2_package/deploy/stage/cryosparc2_worker/cryosparc2_compute/engine/engine.c:11165)
File "cryosparc2_worker/cryosparc2_compute/engine/cuda_core.py", line 293, in cryosparc2_compute.engine.cuda_core.EngineBaseThread.ensure_allocated (/home/installtest/deps_manage/cryosparc2_package/deploy/stage/cryosparc2_worker/cryosparc2_compute/engine/cuda_core.c:9489)
LogicError: cuMemHostAlloc failed: OS call failed or operation not supported on this OS
Its worth a try. To re-compile cryoSPARC with a new version of CUDA, use the command cryosparcw newcuda <path_to_cuda> e.g. cryosparcm newcuda /usr/local/cuda-10.1
Also, what are your system’s details (OS, GPUs, CUDA Driver version)?
And what are the parameters of your 2D Classification job (# particles, # classes)?
Hi Stephan,
Thanks a lot. I changed the driver to be compatible with CUDA 10.1.
NVIDIA-SMI 418.56 Driver Version: 418.56 CUDA Version: 10.1
OS is Scientific Linux, GPUS GTX 1080. For 2D classification I am using 50 classes with 440000 particles and a box size of 322 pix.
Oddly, cryosparcm does not recognize the newcuda command!
Could you please comment on that?
Cheers,
Arka