GPU Parallelization of Algebraic Dynamic Programming [chapter]

Peter Steffen, Robert Giegerich, Mathieu Giraud
2010 Lecture Notes in Computer Science  
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
more » ... cation, we report speedups ranging from 6.1× to 25.8× on a Nvidia GTX 280 through the CUDA libraries. Algebraic dynamic programming. In all these optimization problems, the logical problem decomposition follows the decomposition of the input sequence
doi:10.1007/978-3-642-14403-5_31 fatcat:dnrrorltljgmddh37md5vj3no4