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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
The Khronos Group, OpenCL 1.0 specification (2008)
Nvidia CUDA programming guide 2.0 (2008)
Aho, A.V., Ullman, J.D.: The Theory of Parsing, Translation and Compiling. Prentice-Hall, Englewood Cliffs (1973), I and II
Charalambous, M., Trancoso, P., Stamatakis, A.: Initial experiences porting a bioinformatics application to a graphics processor. Adv. in Informatics, 415–425 (2005)
Durbin, R., Eddy, S., Krogh, A., Mitchison, G.: Biological Sequence Analysis. Cambridge University Press, Cambridge (1998)
Giegerich, R., Meyer, C., Steffen, P.: A discipline of dynamic programming over sequence data. Science of Computer Programming 51(3), 215–263 (2004)
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)
Giraud, M., Varré, J.-S.: Parallel position weight matrices algorithms. In: International Symposium on Parallel and Distributed Computing, ISPDC 2009 (2009)
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)
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)
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)
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)
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)
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)
Nussinov, R., Pieczenik, G., Griggs, J.R., Kleitman, D.J.: Algorithms for loop matchings. SIAM J. Appl. Math. 35, 68–82 (1978)
Reeder, J., Giegerich, R.: Design, implementation and evaluation of a practical pseudoknot folding algorithm based on thermodynamics. BMC Bioinformatics 5(104) (2004)
Reeder, J., Reeder, J., Giegerich, R.: Locomotif: From graphical motif description to RNA motif search. Bioinformatics 23(13), 391–400 (2007)
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)
Schatz, M.C., Trapnell, C., Delcher, A.L., Varshney, A.: High-throughput sequence alignment using graphics processing units. BMC Bioinformatics 8, 474 (2007)
Searls, D.B.: Linguistic approaches to biological sequences. CABIOS 13(4), 333–344 (1997)
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)
Steffen, P.: Compiling a Domain Specific Language for Dynamic Programming. PhD thesis, Bielefeld University (2006)
Steffen, P., Giegerich, R.: Versatile and declarative dynamic programming using pair algebras. BMC Bioinformatics 6(224) (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)