Skip to content

Add configurable worker and CPU counts for database searches - #718

Open
dmora127 wants to merge 4 commits into
google-deepmind:mainfrom
dmora127:main
Open

Add configurable worker and CPU counts for database searches#718
dmora127 wants to merge 4 commits into
google-deepmind:mainfrom
dmora127:main

Conversation

@dmora127

Copy link
Copy Markdown

This pull request introduces improved configurability and resource management for running sequence alignment tools in the AlphaFold pipeline. The main focus is on allowing users to control the number of concurrent workers and CPUs for Jackhmmer, Nhmmer, and Hmmsearch processes, which can lead to better performance tuning and system utilization.

Resource Management and Parallelism Improvements:

  • Added new command-line flags in run_alphafold.py to configure the number of CPUs and concurrent workers for Jackhmmer, Nhmmer, and Hmmsearch (--jackhmmer_n_workers, --nhmmer_n_workers, --hmmsearch_n_cpu). These defaults and limits are chosen to optimize parallel execution without overwhelming the system. [1] [2]
  • Updated the DataPipelineConfig class to include new parameters for the number of workers and CPUs for each tool, and ensured these are passed throughout the pipeline. [1] [2] [3]
  • Modified the pipeline logic to use the configured number of workers when running Jackhmmer and Nhmmer in parallel, replacing hardcoded values and improving scalability. [1] [2] [3] [4]

Hmmsearch Configuration:

  • Added support for passing the number of CPUs to Hmmsearch throughout the configuration and tool invocation layers, ensuring that the --cpu flag is set dynamically based on user configuration. [1] [2] [3] [4] [5] [6]

These changes make the pipeline more flexible and efficient, especially on multi-core systems, by allowing fine-grained control over parallel execution and CPU allocation.

@dmora127

Copy link
Copy Markdown
Author

@Augustin-Zidek I added a few changes to allow users to select the number of concurrent searches and number of cores to use for the database search. This has proven very useful for increasing the throughput of running AF3 in HTC computing environments. Let me know if you have any questions for your review.

@Augustin-Zidek

Copy link
Copy Markdown
Collaborator

I've exposed the Hmmsearch CPU count in e2de24b. Could you rebase on top of that?

@Augustin-Zidek

Copy link
Copy Markdown
Collaborator

Also note that --jackhmmer_n_workers and --nhmmer_n_workers are not fully added in run_alphafold.py.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants