Skip to main content

GPU Parallelization of Algebraic Dynamic Programming

  • Conference paper
Parallel Processing and Applied Mathematics (PPAM 2009)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6068))

Abstract

Algebraic Dynamic Programming (ADP) is a framework to encode a broad range of optimization problems, including common bioinformatics problems like RNA folding or pairwise sequence alignment. The ADP compiler translates such ADP programs into C. As all the ADP problems have similar data dependencies in the dynamic programming tables, a generic parallelization is possible. We updated the compiler to include a parallel backend, launching a large number of independent threads. Depending on the application, we report speedups ranging from 6.1× to 25.8× on a Nvidia GTX 280 through the CUDA libraries.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. The Khronos Group, OpenCL 1.0 specification (2008)

    Google Scholar 

  2. Nvidia CUDA programming guide 2.0 (2008)

    Google Scholar 

  3. Aho, A.V., Ullman, J.D.: The Theory of Parsing, Translation and Compiling. Prentice-Hall, Englewood Cliffs (1973), I and II

    Google Scholar 

  4. Charalambous, M., Trancoso, P., Stamatakis, A.: Initial experiences porting a bioinformatics application to a graphics processor. Adv. in Informatics, 415–425 (2005)

    Google Scholar 

  5. Durbin, R., Eddy, S., Krogh, A., Mitchison, G.: Biological Sequence Analysis. Cambridge University Press, Cambridge (1998)

    Book  MATH  Google Scholar 

  6. Giegerich, R., Meyer, C., Steffen, P.: A discipline of dynamic programming over sequence data. Science of Computer Programming 51(3), 215–263 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  7. Giegerich, R., Steffen, P.: Challenges in the compilation of a domain specific language for dynamic programming. In: Proceedings of the 2006 ACM Symposium on Applied Computing (2006)

    Google Scholar 

  8. Giraud, M., Varré, J.-S.: Parallel position weight matrices algorithms. In: International Symposium on Parallel and Distributed Computing, ISPDC 2009 (2009)

    Google Scholar 

  9. Ligowski, L., Rudnicki, W.: An efficient implementation Smith-Waterman algorithm on GPU using CUDA, for massively parallel scanning of sequence databases. In: IEEE International Workshop on High Performance Computational Biology, HiCOMB 2009 (2009)

    Google Scholar 

  10. Liu, W., Schmidt, B., Voss, G., Müller-Wittig, W.: GPU-ClustalW: using graphics hardware to accelerate multiple sequence alignment. In: Robert, Y., Parashar, M., Badrinath, R., Prasanna, V.K. (eds.) HiPC 2006. LNCS, vol. 4297, pp. 363–374. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  11. Liu, Y., Maskell, D., Schmidt, B.: CUDASW++: optimizing Smith-Waterman sequence database searches for CUDA-enabled graphics processing units. BMC Research Notes 2(1), 73 (2009)

    Article  Google Scholar 

  12. Liu, Y., Schmidt, B., Maskell, D.: Parallel reconstruction of neighbor-joining trees for large multiple sequence alignments using CUDA. In: IEEE International Workshop on High Performance Computational Biology, HiCOMB 2009 (2009)

    Google Scholar 

  13. Manavski, S.A., Valle, G.: CUDA compatible GPU cards as efficient hardware accelerators for Smith-Waterman sequence alignment. BMC Bioinformatics 9(Suppl. 2), S10 (2008)

    Article  Google Scholar 

  14. Mathews, D., Sabina, J., Zuker, M., Turner, D.: Expanded sequence dependence of thermodynamic parameters improves prediction of RNA secondary structure. Journal of Molecular Biology 288, 911–940 (1999)

    Article  Google Scholar 

  15. Nussinov, R., Pieczenik, G., Griggs, J.R., Kleitman, D.J.: Algorithms for loop matchings. SIAM J. Appl. Math. 35, 68–82 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  16. Reeder, J., Giegerich, R.: Design, implementation and evaluation of a practical pseudoknot folding algorithm based on thermodynamics. BMC Bioinformatics 5(104) (2004)

    Google Scholar 

  17. Reeder, J., Reeder, J., Giegerich, R.: Locomotif: From graphical motif description to RNA motif search. Bioinformatics 23(13), 391–400 (2007)

    Article  Google Scholar 

  18. Rizk, G., Lavenier, D.: GPU accelerated RNA folding algorithm. In: Using Emerging Parallel Architectures for Computational Science / International Conference on Computational Science, ICCS 2009 (2009)

    Google Scholar 

  19. Schatz, M.C., Trapnell, C., Delcher, A.L., Varshney, A.: High-throughput sequence alignment using graphics processing units. BMC Bioinformatics 8, 474 (2007)

    Article  Google Scholar 

  20. Searls, D.B.: Linguistic approaches to biological sequences. CABIOS 13(4), 333–344 (1997)

    Google Scholar 

  21. Shi, H., Schmidt, B., Liu, W., Mueller-Wittig, W.: Accelerating error correction in high-throughput short-read DNA sequencing data with CUDA. In: IEEE International Workshop on High Performance Computational Biology, HiCOMB 2009 (2009)

    Google Scholar 

  22. Steffen, P.: Compiling a Domain Specific Language for Dynamic Programming. PhD thesis, Bielefeld University (2006)

    Google Scholar 

  23. Steffen, P., Giegerich, R.: Versatile and declarative dynamic programming using pair algebras. BMC Bioinformatics 6(224) (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Steffen, P., Giegerich, R., Giraud, M. (2010). GPU Parallelization of Algebraic Dynamic Programming. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Wasniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2009. Lecture Notes in Computer Science, vol 6068. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14403-5_31

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14403-5_31

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14402-8

  • Online ISBN: 978-3-642-14403-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics