Group specific CPU, GPU and RAM


I’m a beginner of CryoEM and we got a workstation early this year. I am currently trying to accelerate some of jobs which can take days to complete. Our workstation has 4x RTX3090, 2x intel CPUs, 512GB RAM.

My question: is that possible to group specific CPU, GPU and RAM together? Like: CPU0+GPU0+GPU1+RAM0-3 always work together.

The reason I ask is I found the communications between different CPU and PCIE slots have different speeds:

It looks like to me that if the GPU and ssd directly communicate with the CPU, then I have the full speed. Otherwise, the communication will go between two CPUs and slow down.

Does my question make any sense? Or either Linux or cryosparc can actually handle this correctly to achieve maximum performance?

Thank you!

Hi Parrot,

The easiest way to do that with CryoSPARC would probably be to setup a scheduler with cgroups and manually assign the resources to different groups.

However, in our use, we have not found CryoSPARC to be optimized enough that isolating everything is a problem. It’s less of an issue on datacenter CPUs compared to consumer CPUs anyways as there are more PCIe lanes coming directly from the CPU and not from the motherboard chipset.

Thank you so much! Now I know where to go.