Applying the Stream-Based Computing Model to Design Hardware Accelerators: A Case Study

  • Frederico Pratas
  • Leonel Sousa
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5657)


To facilitate the design of hardware accelerators we propose in this paper the adoption of the stream-based computing model and the usage of Graphics Processing Units (GPUs) as prototyping platforms. This model exposes the maximum data parallelism available in the applications and decouples computation from memory accesses. The design and implementation procedures, including the programming of GPUs, are illustrated with the widely used MrBayes bioinformatics application. Experimental results show that a straightforward mapping of the stream-based program for the GPU into hardware structures leads to improvements in performance, scalability and cost. Moreover, it is shown that a set of simple optimization techniques can be applied in order to reduce the cost, and the power consumption of hardware solutions.


Graphic Processing Unit Substitution Matrix Conditional Likelihood Hardware Accelerator Discrete Rate 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Plishker, W., Sane, N., Kiemb, M., Anand, K., Bhattacharyya, S.: Functional DIF for Rapid Prototyping. In: RSP, pp. 17–23 (2008)Google Scholar
  2. 2.
    Dally, J., Labonte, F., Das, A., Hanrahan, P., Ahn, J., Gummaraju, J., Erez, M., Jayasena, N., Buck, I., Knight, J., Kapasi, U.: Merrimac: Supercomputing with Streams. In: Proc. of the Int. Conf. on Supercomputing, USA (2003)Google Scholar
  3. 3.
    Gummaraju, J., Rosenblum, M.: Stream Programming on General-Purpose Processors. In: MICRO 2005, Washington, DC, USA, pp. 343–354. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  4. 4.
    Lindholm, E., Nickolls, J., Oberman, S., Montrym, J.: NVIDIA Tesla: A Unified Graphics and Computing Architecture. In: MICRO 2008, March 2008, vol. 28(2), pp. 39–55 (2008)Google Scholar
  5. 5.
    Thies, W., Karczmarek, M., Amarasinghe, S.: StreamIt: A Language for Streaming Applications. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 179–196. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  6. 6.
    Ronquist, F., Huelsenbeck, J.: MrBayes 3: Bayesian Phylogenetic Inference Under Mixed Models. Bioinformatics 19(12), 1572–1574 (2003)CrossRefGoogle Scholar
  7. 7.
    Stamatakis, A., Ludwig, T., Meier, H.: RAxML-III: A Fast Program for Maximum Likelihood-based Inference of Large Phylogenetic Trees. Bioinformatics 21(4), 456–463 (2005)CrossRefGoogle Scholar
  8. 8.
    Felsenstein, J.: Evolutionary Trees from DNA Sequences: A Maximum Likelihood Approach. Journal of Molecular Evolution 17, 368–376 (1981)CrossRefGoogle Scholar
  9. 9.
    Ott, M., Zola, J., Stamatakis, A., Aluru, S.: Large-scale Maximum Likelihood-based Phylogenetic Analysis on the IBM BlueGene/L. In: On-Line Proc. of IEEE/ACM Supercomputing Conf. (2007)Google Scholar
  10. 10.
    Yang, Z.: Maximum Likelihood Phylogenetic Estimation from DNA Sequences with Variable Rates Over Sites. Journal of Molecular Evolution 39, 306–314 (1994)CrossRefGoogle Scholar
  11. 11.
    Parhi, K.: VLSI Digital Signal Processing Systems. Wiley, New York (1999)Google Scholar
  12. 12.
    Xilinx: Virtex-5 Family Overview. Xilinx Product Specification (February 2009)Google Scholar
  13. 13.
    Rambaut, A., Grass, N.: Seq-Gen: An Application for the Monte Carlo Simulation of DNA Sequence Evolution along Phylogenetic Trees. C. App. in BioSc. 13, 235–238 (1997)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2009

Authors and Affiliations

  • Frederico Pratas
    • 1
  • Leonel Sousa
    • 1
  1. 1.INESC-ID/IST TULisbon, PortugalLisboaPortugal

Personalised recommendations