Center for Bioinformatics and Computational Biology, University of Maryland, College Park, MD 20742, USA.
Department of Microbiology, Immunology and Transplantation, Rega Institute, KU Leuven - University of Leuven, 3000 Leuven, Belgium.
Syst Biol. 2019 Nov 1;68(6):1052-1061. doi: 10.1093/sysbio/syz020.
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 different 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 central processing unit-threaded implementations to the library, allowing the effective 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 effect 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 https://beagle-dev.github.io.
BEAGLE 是一个用于系统发育推断的高性能似然计算库。BEAGLE 库定义了一个简单但灵活的应用程序编程接口 (API),并包含了在不同硬件设备上的各种进化模型下进行计算的高效实现。该库已集成到流行的系统发育软件包,包括 BEAST 和 MrBayes 的最新版本中,并在各种进化研究中得到了广泛应用。在这里,我们介绍了 BEAGLE 3,它具有新的并行实现、对挑战性数据集的性能提升、改进的可扩展性和更好的易用性。我们为库添加了新的 OpenCL 和中央处理器线程实现,允许更广泛地利用现代硬件。此外,我们扩展了 API 和库,以支持独立部分似然数组的并发计算,从而提高核苷酸模型分析的性能,并具有更大的数据分区灵活性。为了更好的可扩展性和易用性,我们改进了系统发育软件包在多 GPU(图形处理单元)和集群环境中使用 BEAGLE 的方式,并引入了一种自动方法,根据数据集、进化模型和硬件选择最快的设备。对于希望集成库的应用程序开发人员,我们还开发了一个在线教程。为了评估改进的效果,我们在最先进的硬件上运行了各种基准测试。对于分区示例分析,我们观察到与我们之前的 GPU 实现相比,运行时性能提高了高达 5.9 倍。BEAGLE 3 是免费的、开源软件,根据 Lesser GPL 许可,并可在 https://beagle-dev.github.io 获得。