Allowing cpus to be set annd used in run_alphafold.py
Change requirements so that TF is both cpu and gpu enabled Set a default for use_gpu_relax that would not fail in the run (False in this case) Adding cpu in hhsearch, hhblits, jackhmmer and hmmersearch wrappers as well as in the main call, add n_cpu to pipeline.DataPipeline and pipeline_multimer and adjust jackhmmer and hhblits to accept said attribute
Thanks for the PR - I was looking to do something similar.
It looks like --cpus is not propagated to the hhblits step, i.e. line 377 of run_alphafold.py (so it's always the default of 4). On my system, I find that dedicating more cpus to this step brings significant improvements.
Hi, thanks for this PR, I will take a look.
@jshleap I am wondering about the TF CPU -> GPU switch -- we use TF only in bits of the data pipeline where running on GPU doesn't really help, so actually switching to TF GPU should not make running AlphaFold any faster. Did you observe any speedups when changing it?
@ma595 What kind of speedups did you observe with n_cpu > 4 and what number did you use?
@Augustin-Zidek you mean in the requirements? newer versions of tensorflow don't need to be hardcoded. TF will check if a GPU is available and will use it and will default to CPU if not.
Yes, I mean in requirements.txt. What I am saying is that there is no need for GPU support in AlphaFold's TF installation since it is used only for the data pipeline.
Yeah, and what I am saying is that there is no need for the -cpu as TF will take advantage of GPU if one otherwise defaults to CPU. What I mean is that the tensortflow wheels ship now as generic wheels, so there is no need to add the -cpu. TF supports both cpu and gpu since v2.0.0 (https://www.tensorflow.org/install/pip#tensorflow-2-packages-are-available).
What is the status of this PR that would be very useful?