MrBayes on a Graphics Processing Unit

MOTIVATION Bayesian phylogenetic inference can be used to propose a 'tree of life' for a collection of species whose DNA sequences are known. While there are many packages available that implement Bayesian phylogenetic inference, such as the popular MrBayes, running these programs poses significant computational challenges. Parallelized versions of the Metropolis coupled Markov chain Monte Carlo (MC³) algorithm in MrBayes have been presented that can run on various platforms, such as a graphics processing unit (GPU). The GPU has been used as a cost-effective means for computational research in many fields. However, until now, some limitations have prevented the GPU from being used to run MrBayes MC³ effectively. RESULTS We give an appraisal of the possibility of realistically implementing MrBayes MC³ in parallel on an ordinary four-core desktop computer with a GPU. An earlier proposed algorithm for running MrBayes MC³ in parallel on a GPU has some significant drawbacks (e.g. too much CPU-GPU communication) which we resolve. We implement these improvements on the NVIDIA GeForce GTX 480 as most other GPUs are unsuitable for running MrBayes MC³ due to a range of reasons, such as having insufficient support for double precision floating-point arithmetic. Experiments indicate that run-time can be decreased by a factor of up to 5.4 by adding a single GPU (versus state-of-the-art multicore parallel algorithms). We can also achieve a speedup (versus serial MrBayes MC³) of more than 40 on a sufficiently large dataset using two GPUs. AVAILABILITY GPU MrBayes (i.e. the proposed implementation of MrBayes MC³ for the GPU) is available from http://mrbayes-gpu.sourceforge.net/.

[1]  Ziheng Yang Maximum likelihood phylogenetic estimation from DNA sequences with variable rates over sites: Approximate methods , 1994, Journal of Molecular Evolution.

[2]  Marc A. Suchard,et al.  Many-core algorithms for statistical phylogenetics , 2009, Bioinform..

[3]  X. Feng,et al.  PBPI: a High Performance Implementation of Bayesian Phylogenetic Inference , 2006, ACM/IEEE SC 2006 Conference (SC'06).

[4]  Frederico Pratas,et al.  Applying the Stream-Based Computing Model to Design Hardware Accelerators: A Case Study , 2009, SAMOS.

[5]  Sandhya Dwarkadas,et al.  Parallel Metropolis coupled Markov chain Monte Carlo for Bayesian phylogenetic inference , 2002, Bioinform..

[6]  J. Felsenstein Evolutionary trees from DNA sequences: A maximum likelihood approach , 2005, Journal of Molecular Evolution.

[7]  Simon Whelan,et al.  Statistical Methods in Molecular Evolution , 2005 .

[8]  Xizhou Feng,et al.  Parallel algorithms for Bayesian phylogenetic inference , 2003, J. Parallel Distributed Comput..

[9]  Pedro Trancoso,et al.  Initial Experiences Porting a Bioinformatics Application to a Graphics Processor , 2005, Panhellenic Conference on Informatics.

[10]  Qiang Xie,et al.  The Bayesian phylogenetic analysis of the 18S rRNA sequences from the main lineages of Trichophora (Insecta: Heteroptera: Pentatomomorpha). , 2005, Molecular phylogenetics and evolution.

[11]  Andrew Rambaut,et al.  Seq-Gen: an application for the Monte Carlo simulation of DNA sequence evolution along phylogenetic trees , 1997, Comput. Appl. Biosci..

[12]  Sylvia Richardson,et al.  Markov Chain Monte Carlo in Practice , 1997 .

[13]  John P. Huelsenbeck,et al.  MRBAYES: Bayesian inference of phylogenetic trees , 2001, Bioinform..

[14]  Thomas Ludwig,et al.  RAxML-III: a fast program for maximum likelihood-based inference of large phylogenetic trees , 2005, Bioinform..

[15]  John P. Huelsenbeck,et al.  Bayesian Analysis of Molecular Evolution Using MrBayes , 2005 .

[16]  Pietro Liò,et al.  Bayesian Phylogeny on Grid , 2008, BIRD.

[17]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[18]  Gang Wang,et al.  A New Hybrid Parallel Algorithm for MrBayes , 2010, ICA3PP.

[19]  Qiang Xie,et al.  18S rRNA hyper-elongation and the phylogeny of Euhemiptera (Insecta: Hemiptera). , 2008, Molecular phylogenetics and evolution.

[20]  Pedro Trancoso,et al.  Fine-grain Parallelism Using Multi-core, Cell/BE, and GPU Systems: Accelerating the Phylogenetic Likelihood Function , 2009, 2009 International Conference on Parallel Processing.