Zuricho / ParallelFold

Modified version of Alphafold to divide CPU part (MSA and template searching) and GPU part. This can accelerate Alphafold when predicting multiple structures
https://parafold.sjtu.edu.cn
133 stars 45 forks source link

is CPU acceleration available in this repo? #17

Open wttat opened 2 years ago

wttat commented 2 years ago

Here is the paper:

4.2.1 CPU acceleration. To accelerate the CPU stage, three independent sequential MSA searches can be arranged in parallel (Fig 4). Due to the limited CPU cores accompanying GPUs, AlphaFold restricts itself to 8 CPU cores for jackhmmer and 4 CPU cores for HHblits to process one query. With unlimited processors on CPU nodes, ParaFold enhances the speed of MSA construction by orchestrating these searches in parallel using a total of 20 cores, i.e. 8 CPUs for jackhmmer1, 8 CPUs for jackhmmer2, and 4 CPUs for HHblits. In AlphaFold, as shown in Fig 4(a), three datasets UniRef90, MGnify, and BFD sequentially were searched by jackhmmer1, jackhmmer2, and HHblits, respectively. In contrast, In ParaFold, we simultaneously started three processes through Python’s multiprocessing library to perform MSA searches in parallel, as shown in Fig 4(b).

4.2.2 GPU acceleration. To accelerate the GPU stage, ParaFold provides optimized batch inference script to avoid JAX recompilation for proteins of similar length.

but there is no CPU acceleration part info in this repo ? Is it available?

Best regard Tong

Zuricho commented 2 years ago

We will add it soon.

akiladonz commented 2 years ago

Hi, Are you planning to add the CPU parallelization anytime soon?

fuji8 commented 2 years ago

@akiladonz I have nothing to do with this repository, but I've written code that does the same for CPU acceleration. https://github.com/deepmind/alphafold/pull/399 This may be helpful if you currently need CPU acceleration.