Assigning cryoSPARC Live Workers to specific GPUs


I’ve been using cryoSPARC Live and I like it very much. I was wondering if there is any way of assigning which GPU to use (like in the normal cryoSPARC projects). So far I haven’t found any answer, and I don’t know if you select, for example, 2 GPUs for preprocessing steps (from 8 available), they will go to the ones that are free or directly to 0 and 1.

Is there any solution to this? I would like to use it in an 8 GPU workstation but don’t always have available slots 0 and 1, so would like to chose where to run the Live jobs.

Thanks in advance.

Hi @LTP,

You can queue cryoSPARC Live Workers directly to GPUs in the following hacky way- this feature isn’t currently available in cryoSPARC Live.

First, on the configuration tab, select how many preprocessing workers you’d like to have.
Screen Shot 2021-03-23 at 10.50.50 AM

Then, start the session so that the cryoSPARC Live Workers are spawned and automatically queued to the GPUs by the cryoSPARC job scheduler.

On the main cryoSPARC page, inside the workspace corresponding to the session where the cryoSPARC Live Workers are, kill each job, then clear each job. Pull up the job’s builder by clicking on the “Building” button or by selecting the job and pressing the “B” key.
Screen Shot 2021-03-23 at 10.54.07 AM (2)

You can then press the “Queue” button and switch to the “Run on Specific GPU” tab to queue this job directly to a GPU.

Note that if you clone one of these jobs, the cryoSPARC Live session will not be able to keep track of the new job you just created, so when you pause the session, you will have to manually kill the new cryoSPARC Live Worker job(s). This is why it’s important you select the number of preprocessing jobs you want from the configuration tab first, then kill and re-queue them.