BEAGLE 3: Improved Performance, Scaling, and Usability for a High-Performance Computing Library for Statistical Phylogenetics

Daniel L Ayres, Michael P Cummings, Guy Baele, Aaron E. Darling, Paul O Lewis, David L Swofford, John P Huelsenbeck, Philippe Lemey, Andrew Rambaut, Marc A Suchard

Research output: Contribution to journalArticlepeer-review

Abstract / Description of output

beagle is a high-performance likelihood-calculation library for phylogenetic inference. The beagle library defines a simple, but flexible, application programming interface (api), and includes a collection of efficient implementations for calculation under a variety of evolutionary models on di↵erent hardware devices. The library has been integrated into recent versions of popular phylogenetics software packages including beast and mrbayes, and has been widely used across a diverse range of evolutionary studies. Here we present beagle 3, with new parallel implementations, increased performance for challenging data sets, improved scalability, and better usability. We have added new opencl and cpu (central processing unit)-threaded implementations to the library, allowing the e↵ective utilization of a wider range of modern hardware. Further, we have extended the api and library to support concurrent computation of independent partial likelihood arrays, for increased performance of nucleotide-model analyses with greater flexibility of data partitioning. For better scalability and usability, we have improved how phylogenetic software packages use beagle in multi-gpu (graphics processing unit) and cluster environments, and introduced an automated method to select the fastest device given the data set, evolutionary model, and hardware. For application developers who wish to integrate the library, we also have developed an online tutorial. To evaluate the e↵ect of the improvements, we ran a variety of benchmarks on state-of-the-art hardware. For a partitioned exemplar analysis, we observe run-time performance improvements as high as 5.9-fold over our previous gpu implementation. beagle 3 is free, open-source software licensed under the Lesser gpl and available at [Bayesian phylogenetics; maximum likelihood; gpu; multicore processing; parallel computing]
Original languageEnglish
Number of pages10
JournalSystematic biology
Early online date23 Apr 2019
Publication statusE-pub ahead of print - 23 Apr 2019

Keywords / Materials (for Non-textual outputs)

  • Bayesian phylogenetics
  • GPU
  • maximum likelihood
  • multicore processing
  • parallel computing


Dive into the research topics of 'BEAGLE 3: Improved Performance, Scaling, and Usability for a High-Performance Computing Library for Statistical Phylogenetics'. Together they form a unique fingerprint.

Cite this