Performance
Please see: http://www.beast2.org/performance-suggestions/index.html for information about optimizing performance. The BEAGLE libraries will be available when you load the BEAST module and BEAGLE is enabled used by default. There are BEAGLE options such as -beage_SSE which may help performance.
Parallel support
Beast supports running on multiple threads.
By default, BEAST will use one thread per partition of your dataset, so it's important that you always use -threads $NSLOTS
or your job may use more CPUs than requested.
Using BEAGLE, which is installed on Hydra, BEAST can further split the sites within a partition to utilize multiple threads on each partition. The options -BEAGLE_CPU -BEAGLE_instaces <i>
will split every partition into i sites and each portion is run on one of the threads avaialble from the -threads
option.
Optimal performance of BEAST will depend on your dataset: how many partitions you have and how much difference there is in the size of partitions. Increasing threads will give diminishing returns due to the overhead of each thread. See: https://groups.google.com/d/msg/beast-users/y9nQ56zygYQ/Gwi_4bKQuGMJ
A reasonable way to configure your run is with options like this. The number of threads you request in your qsub
command should be at least as large as the number of partitions:
beast -BEAGLE_CPU -BEAGLE_instances $NSLOTS -threads $NSLOTS input.xml
Also, it is necessary to and 'useThreads=true'
to the id=likelihood
element in your XML file to utilize these threads. See: https://groups.google.com/forum/#!topic/beast-users/SmxzO7EUJIs and https://groups.google.com/forum/#!topic/beast-users/goQ51Yosn1E
Add-ons
To add a beast add-on use the following command after you've loaded the beast module (module load bioinformatics/beast
) first list available add-ons:
...