beast-dev / beast-mcmc

Bayesian Evolutionary Analysis Sampling Trees
http://beast.community
GNU Lesser General Public License v2.1
192 stars 73 forks source link

Make thread control behaviour more intuitive #1039

Open rambaut opened 6 years ago

rambaut commented 6 years ago

BEAGLE 3's CPU kernel is multithreaded. The number of threads produced can be controlled on the command line using the -beagle_thread_count option. The previous -threads controls the number of BEAST threads. The -threads option should be come the priority controlling the overall number of threads.

If only -threads N is specified, given K partitions, then each partition's BEAGLE instance will be created with N/K threads (rounded down?).

If only -beagle_thread_count X is given then each BEAGLE instance has X threads.

If both -threads N and -beagle_thread_count X is specified then there are N threads in the BEAST thread pool and each BEAGLE instance has X threads.

rambaut commented 6 years ago

This just leaves what the default behaviour is. Currently this would result in BEAST using an auto-sizing thread pool with each BEAGLE instances left to create a default number of threads (currently 8?).