Hi,
I’m trying to perform full-frame motion correction using RTX2080s. Interestingly, if I give the job only one movie to process, it works fine. However, if it is processing more than one movie, it typically seems to process either zero or one movies and then fail a memory allocation. It appears, to me, that it’s trying to load another movie onto the GPU before the first is done? But that’s a guess.
I’m on cryoSPARC v2.14.2, cuda 10.2, nvidia driver version 440.64.00. This is a standalone install with 4x RTX 2080s, CentOS 7.7.1908, and I just rebooted the system just to be sure
Error:
[CPU: 6.27 GB] Traceback (most recent call last): File "cryosparc2_compute/jobs/runcommon.py", line 1685, in run_with_except_hook run_old(*args, **kw) File "/home/cryosparc/cryosparc2/cryosparc2_worker/deps/anaconda/lib/python2.7/threading.py", line 754, in run self.__target(*self.__args, **self.__kwargs) File "cryosparc2_compute/jobs/pipeline.py", line 153, in thread_work work = processor.process(item) File "cryosparc2_worker/cryosparc2_compute/jobs/motioncorrection/run.py", line 146, in cryosparc2_compute.jobs.motioncorrection.run.run_rigid_motion_correction_multi.motionworker.process File "cryosparc2_worker/cryosparc2_compute/jobs/motioncorrection/run.py", line 149, in cryosparc2_compute.jobs.motioncorrection.run.run_rigid_motion_correction_multi.motionworker.process File "cryosparc2_worker/cryosparc2_compute/jobs/motioncorrection/run.py", line 150, in cryosparc2_compute.jobs.motioncorrection.run.run_rigid_motion_correction_multi.motionworker.process File "cryosparc2_worker/cryosparc2_compute/jobs/motioncorrection/motioncorrection.py", line 215, in cryosparc2_compute.jobs.motioncorrection.motioncorrection.motion_correction File "cryosparc2_worker/cryosparc2_compute/jobs/motioncorrection/motioncorrection.py", line 240, in cryosparc2_compute.jobs.motioncorrection.motioncorrection.motion_correction File "cryosparc2_worker/cryosparc2_compute/engine/cuda_core.py", line 312, in cryosparc2_compute.engine.cuda_core.EngineBaseThread.ensure_allocated File "/home/cryosparc/cryosparc2/cryosparc2_worker/deps/anaconda/lib/python2.7/site-packages/pycuda/gpuarray.py", line 210, in __init__ self.gpudata = self.allocator(self.size * self.dtype.itemsize) MemoryError: cuMemAlloc failed: out of memory
J6 is a clone of J3, except J6 is trying to process all 4k movies instead of 1 (i.e., changed “Only process this many movies” box and nothing else)
Any help would be appreciated.