GPU-accelerated Docker images containing BEAST and BEAGLE, compiled with NVIDIA CUDA support
IMPORTANT: The XML file provided to BEAST will need to be generated by a version of BEAUTi compatible with the version of BEAST distributed within the Docker image (currently v1.10.5pre_thorney_v0.1.2)
- (Follow the
dsub
instructions to Get Started on Google Cloud) - Install dsub
- Enable the required GCP APIs
- Create an input XML for BEAST (via BEAUTi)
- Transfer the XML file to a GS bucket
- Call
dsub_beast.sh
:
Usage:
dsub_beast.sh gs://path/to/in.xml gcp-project-name num_gpus [beagle_order]
Note: The version of BEAST used should match the version of BEAUTi
used to generate the input xml file.
Docker images have been built for several versions of BEAST.
The Docker image to be used can be selected by the BEAST_VERSION environment variable.
For example:
BEAST_VERSION='1.10.5pre_thorney_v0.1.2' dsub_beast.sh gs://path/to/in.xml gcp-project-name num_gpus [beagle_order]
For available versions of BEAST, see the tags on Quay.io:
https://quay.io/repository/broadinstitute/beast-beagle-cuda?tab=tags
If BEAST_VERSION is not specified the 'latest' tag will be used.
The GPU type can be set via the BEAST_GPU_MODEL environment variable.
For example:
BEAST_GPU_MODEL='nvidia-tesla-v100' dsub_beast.sh gs://path/to/in.xml gcp-project-name num_gpus [beagle_order]
For available GPU models, see:
https://cloud.google.com/compute/docs/gpus/
If 'beagle_order' is not specified, the number of partitions will be read from
the input xml file and spread across the number of GPUs specified.
Note: *the entire xml file will be downloaded from its bucket if 'beagle_order' is not specified*
Extra arguments for BEAST may be passed via the BEAST_EXTRA_ARGS environment variable.
For example:
BEAST_EXTRA_ARGS='-beagle_instances 4' dsub_beast.sh gs://path/to/in.xml gcp-project-name num_gpus [beagle_order]