I have a 4 GPU machine with a limited number of cores (unfortunately 8).
Trying to run tasks with more than a single GPU fail since the the jobs are submitted to the queuing system but never start due to “resources are not available (CPU)”.
Using a single GPU everything works.
How many CPUs do I need to have per GPU?
Can one control this parameter?
Each job type in cryoSPARC has a different CPU per GPU requirement.
You can spoof the system a bit by overriding how many CPUs the cryoSPARC scheduler thinks you have, to force it to launch jobs on the same cores. This won’t actually cause anything to fail (unless your system is also limited in RAM - I’d recommend at least 128GB for a 4GPU machine) but some parts of some jobs might be a bit slower.
To do this:
cryosparcw connect --master <masterhostname> --worker <workerhostname> --update --cpus X
(you can read the install instructions for more details about the cryosparcw connect command)
If you set X to say 16 CPUs then you should probably be able to launch 4 GPU jobs at once, and they’ll just step on eachother a bit on the CPUs.