Hi!
I have a question regarding how cryoSPARC manages RAM resources overall or specifically for Local Refinement jobs.
For now, I am still using v3.3.2+220518.
I have recently realised that if two Local Refinement jobs are running at the same time (on different GPUs of the same worker), they proceed very very slowly (more than one order of magnitude slower) compared to if they would run one at each time.
Even if Local Refinement uses quite a lot of CPU at certain points of the process, my assessment tells me that such a slowdown cannot be due to CPU bottleneck. Therefore I suspect RAM, however, when I have both jobs running, I have never seen the RAM being used over 75% (for any job type, if I recall correctly). This is true when I have swap memory on or off.
I do not see cryoSPARC using up more than 80% of RAM in our machines at any given point. If there is swap memory, it will store much data there as RAM starts to fill up, and in such a scenario I expect a job to slow down. On the other hand, with swap off, I would expect RAM to be used fully until the point that a job may fail due to running out of memory. Instead what seems to be happening is that memory is kept capped (somewhat at a threshold below 80%) and the jobs are running slow.
As I observe similar in more than one machine, it seems to me a cryoSPARC RAM management issue that I do not understand. @team can you bring some light?
Or is this a known issue that cryoSPARC or Ubuntu try to leave some free memory for other software running? 20% of RAM never being used on biffy machines seems to me a huge waste of resources.
Have a great weekend!
André