The Journal of Supercomputing

, Volume 66, Issue 1, pp 364–380 | Cite as

Resource-efficient utilization of CPU/GPU-based heterogeneous supercomputers for Bayesian phylogenetic inference

  • Jun Chai
  • Huayou Su
  • Mei Wen
  • Xing Cai
  • Nan Wu
  • Chunyuan Zhang


Bayesian inference is one of the most important methods for estimating phylogenetic trees in bioinformatics. Due to the potentially huge computational requirements, several parallel algorithms of Bayesian inference have been implemented to run on CPU-based clusters, multicore CPUs, or small clusters of CPUs and GPUs. To the best of our knowledge, however, none of the existing methods is able to simultaneously and fully utilize both CPUs and GPUs for the computations, leaving idle either the CPU part or the GPU part of modern heterogeneous supercomputers. Aiming at an optimized utilization of heterogeneous computing resources, which is a promising hardware architecture for future bioinformatics applications, we present a new hybrid parallel algorithm and implementation of Bayesian phylogenetic inference, which combines MPI, OpenMP, and CUDA programming. The novelty of our algorithm, denoted as oMC3, is its ability of using CPU cores simultaneously with GPUs for the computations, while ensuring a fair work division between the two types of hardware components. We have implemented oMC3 based on MrBayes, which is one of the most popular software packages for Bayesian phylogenetic inference. Numerical experiments show that oMC3 obtains 2.5× speedup over nMC3, which is a cutting-edge GPU implementation of MrBayes, on a single server consisting of two GPUs and sixteen CPU cores. Moreover, oMC3 scales nicely when 128 GPUs and 1536 CPU cores are in use.


Bayesian inference CPU/GPU-based heterogeneous Supercomputer Hybrid programming Resource-efficient utilization 



The authors gratefully acknowledge the support from National Natural Science Foundation of China under NSFC Nos. 61033008, 60903041, and 61103080, Research Fund for the Doctoral Program of Higher Education of China under SRFDP No. 20104307110002, Hunan Provincial Innovation Foundation for Postgraduate under No. CX2010B028, Fund of Innovation in Graduate School of NUDT under No. B100603, and Research Grant No. 214113 from the Research Council of Norway. We also acknowledge the experimental platform support from the National Supercomputing Center in Changsha.


  1. 1.
    Bader DA, Moret B, Vawter L (2001) Industrial applications of high-performance computing for phylogeny reconstruction. Proc SPIE 4528:159–168 CrossRefGoogle Scholar
  2. 2.
    U.S. National Science Foundation (2004) Assembling the tree of life (ATOL): to construct a phylogeny for the 1.7 million described species of life. National Science Foundation, Program Solicitation, NSF 04-526 Google Scholar
  3. 3.
    Feng X, Cameron KW, Buell DA (2006) PBPI: a high performance implementation of Bayesian phylogenetic inference. In: Proceedings of the 2006 ACM/IEEE conference on supercomputing. IEEE, New York Google Scholar
  4. 4.
    Huelsenbeck JP, Ronquist F, Nielsen R, Bollback JP (2001) Bayesian inference of phylogeny and its impact on evolutionary biology. Science 294:2310–2314 CrossRefGoogle Scholar
  5. 5.
    Altekar G, Dwarkadas S, Huelsenbeck JP, Ronquist F (2004) Parallel metropolis coupled Markov chain Monte Carlo for Bayesian phylogenetic inference. Bioinformatics 20(3):407–415 CrossRefGoogle Scholar
  6. 6.
    Feng X, Buell DA, Rose JR, Waddell PJ (2003) Parallel algorithms for Bayesian phylogenetic inference. J Parallel Distrib Comput 63(7–8):707–718 CrossRefGoogle Scholar
  7. 7.
    Feng X, Cameron KW, Sosa CP, Smith B (2007) Building the tree of life on terascale systems. In: Proceedings of the 21st international parallel and distributed processing symposium, Long Beach, CA, March 2007, pp 1–10. Google Scholar
  8. 8.
    Van der Wath RC, Van der Wath E, Carapelli A, Nardi F, Frati F, Milanesi L, Li P (2008) Bayesian phylogeny on grid. Bioinf Res Dev 13:404–416 CrossRefGoogle Scholar
  9. 9.
    Pfeiffer W, Stamatakis A s (2010) Hybrid parallelization of the MrBayes & RAxML phylogenetics codes.
  10. 10.
    Zhou J, Wang G, Liu X (2010) A new hybrid parallel algorithm for MrBayes. In: Proceedings ICA3PP 2010. LNCS, vol 6081, pp 102–112 Google Scholar
  11. 11.
    Pratas F, Trancoso P, Stamatakis A, Sousa L (2009) Fine-grain parallelism using multi-core, cell/BE, and GPU systems: accelerating the phylogenetic likelihood function. In: Proceedings ICPP 2009. IEEE Computer Society, Los Alamitos, pp 9–17 Google Scholar
  12. 12.
    Zhou J, Liu X, Stones DS, Xie Q, Wang G (2011) MrBayes on a graphics processing unit. Bioinformatics 27(9):1255–1261 CrossRefGoogle Scholar
  13. 13.
    Suchard MA, Rambaut A (2009) Many-core algorithms for statistical phylogenetics. Bioinformatics 25(11):1370–1376 CrossRefGoogle Scholar
  14. 14.
    Ayres DL, Darling A, Zwickl DJ, Beerli P, Holder MT, Lewis PO, Huelsenbeck JP, Ronquist F, Swofford DL, Cummings MP, Rambaut A, Suchard MA (2012) BEAGLE: an application programming interface and high-performance computing library for statistical phylogenetics. Syst Biol 61(1):170–173 CrossRefGoogle Scholar
  15. 15.
    Ronquist F, Teslenko M, Van der Mark P, Ayres DL, Darling A, Höhna S, Larget B, Liu L, Suchard MA, Huelsenbeck JP (2012) MrBayes 3.2: efficient Bayesian phylogenetic inference and model choice across a large model space. Syst Biol 61(3):539–542 CrossRefGoogle Scholar
  16. 16.
    Yang XJ, Liao XK, Lu K, Hu QF, Song JQ, Su JS (2011) The TianHe-1A supercomputer: its hardware and software. J Comput Sci Technol 26(3):344–351 CrossRefGoogle Scholar
  17. 17.
  18. 18.
  19. 19.
    Sun NH, Xing J, Huo ZG, Huo ZG, Tan GM, Xiong J, Li B, Ma C (2010) Dawning Nebulae: a PetaFLOPS supercomputer with a heterogeneous structure. J Comput Sci Technol 26(3):352–362 CrossRefGoogle Scholar
  20. 20.
    Shimokawabe T, Aoki T, Takaki A, Yamanaka A, Nukada T, Endo N, Maruyama S, Matsuoka S (2011) Peta-scale phase-field simulation for dendritic solidification on the TSUBAME 2.0 supercomputer. In: Proceedings of the 2011 ACM/IEEE conference on supercomputing, Seattle, WA. IEEE, New York Google Scholar
  21. 21.
    Huelsenbeck JP, Ronquist F (2005) Bayesian analysis of molecular evolution using MrBayes. In: Statistical methods in molecular evolution. Springer, Berlin, pp 183–226 CrossRefGoogle Scholar
  22. 22.
  23. 23.
    NVIDIA CUDA C programming guide version 4.1.
  24. 24.
    Optimal MrBayes (version 1.0) user manual.

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Jun Chai
    • 1
  • Huayou Su
    • 1
  • Mei Wen
    • 1
  • Xing Cai
    • 2
    • 3
  • Nan Wu
    • 1
  • Chunyuan Zhang
    • 1
  1. 1.School of ComputerNational University of Defense TechnologyChangshaP.R. China
  2. 2.Simula Research LaboratoryLysakerNorway
  3. 3.Department of InformaticsUniversity of OsloOsloNorway

Personalised recommendations