CPU extraction for Live?


Would it be possible to add an option to perform particle extraction in Live using multiple CPUs?

Currently, when we want to alter Live extraction parameters after collecting several thousand mics, this then causes motion correction to fall behind by a few hundred micrographs, sometimes taking several hours to catch back up. I am assuming this is because the preprocessing GPUs are overloaded dealing with particle extraction. If this instead could be performed using the CPU, it might be a bit slower, but at least motion correction & CTF would remain up to date (which I think is probably the most important). It also might reduce the system requirements a bit for running Live effectively…?



One other thought - I wonder if the facility of CPU extraction to extract with two different degrees of cropping might be beneficial for Live. We often find that at the level of binning we want for streaming refinement, streaming 2D is extremely slow - in particular, the step where it realigns all the particles can take a long time (>7hrs and still going for a dataset we are collecting now). Perhaps using a greater level of binning for 2D and ab initio might be helpful, and then reverting back to the unbinned (or close to unbinned) particles for streaming refinement, might be worth considering?


Exactly for the same reasons - speed up a first 2D classification and for a better management of the GPU time during on-the-fly processing - end up doing first a binned extraction to test picking parameters, then readjust those parameters and reallocate all GPUs to catch up with motion correction, CTF, and reextract at a non-binned (or less binned) box size.

As usual, Olli’s insights are on the spot! :ok_hand:

This is a great idea, most of our CPU is sitting idle so might as well use it and keep those GPUs free for motion correction and ctf. We often extract with CPUs while we are doing the next steps (after Live) in processing for the same reason to keep the GPUs free for refinements. It can actually be faster depending on how many CPU cores are available.

@olibclarke @AndreGraca @jcoleman We have recorded the suggestion. Thanks!