We are about to buy a workstation for processing our DWI data and I’m wondering whether it’s better to have one powerful GPU (e.g. RTX 5000 PRO Blackwell 48 GB) vs. having two or three lesser (but still powerful) GPUs (eg. RTX 4000 PRO Blackwell 24 GB) for the same price.
We want to run the CUDA version of eddy within qsiprep on several patients at the same time.
I would like to kindly ask for guidance on this matter.
Thank you very much.
Command used (and if a helper script was used, a link to the helper script or the command generated):
I am not sure we’ve ever benchmarked something like this, but my intuition would be that the two GPU solution would be faster for running all of your subjects because any difference in the per-subject time would only be from Eddy. I can’t imagine any Eddy speed-ups from the stronger GPU out weighing the chance to run twice as many subjects in parallel.
That might depend on what kind of system you are using and the specs of the GPU. I imagine dedicated job schedulers like SLURM could allocate multiple subjects to a GPU if it has enough resources. I do not know about running on a local machine though.
FWIW It is possible to run multiple invocations of eddy_cuda (more generally any CUDA executable) on a single GPU, as long as the GPU has enough memory.
@paulmccarthy thank you, it’s valuable information. I was unsure because when I ran qsiprep on my current machine, it printed “Free GPU slots: 0/1“ while running eddy_cuda, so I got the impression that you cannot run more than one patient at a time.
@samuelholly I’m not 100% sure, but there is a chance that GPUs on shared systems (e.g. HPCs/clusters) can be configured to only allow a certain number of jobs. Most of my experience is using a local GPU, where there doesn’t seem to be any limit to the number of processes that can use it.