Acceleration of the Smith-Waterman algorithm using single and multiple graphics processors

Finding regions of similarity between two very long data streams is a computationally intensive problem referred to as sequence alignment. Alignment algorithms must allow for imperfect sequence matching with different starting locations and some gaps and errors between the two data sequences. Perhaps the most well known application of sequence matching is the testing of DNA or protein sequences against genome databases. The Smith-Waterman algorithm is a method for precisely characterizing how well two sequences can be aligned and for determining the optimal alignment of those two sequences. Like many applications in computational science, the Smith-Waterman algorithm is constrained by the memory access speed and can be accelerated significantly by using graphics processors (GPUs) as the compute engine. In this work we show that effective use of the GPU requires a novel reformulation of the Smith-Waterman algorithm. The performance of this new version of the algorithm is demonstrated using the SSCA#1 (Bioinformatics) benchmark running on one GPU and on up to four GPUs executing in parallel. The results indicate that for large problems a single GPU is up to 45 times faster than a CPU for this application, and the parallel implementation shows linear speed up on up to 4GPUs.

[1]  D. Lipman,et al.  Improved tools for biological sequence comparison. , 1988, Proceedings of the National Academy of Sciences of the United States of America.

[2]  Ali Akoglu,et al.  Scalable and highly parallel implementation of Smith-Waterman on graphics processing unit using CUDA , 2009, Cluster Computing.

[3]  Witold R. Rudnicki,et al.  The new SIMD Implementation of the Smith-Waterman Algorithm on Cell Microprocessor , 2009, Fundam. Informaticae.

[4]  Witold Rudnicki,et al.  A N EFFICIENT IMPLEMENTATION OF S MITH W ATERMAN ALGORITHM ON GPU USING CUDA , FOR MASSIVELY PARALLEL SCANNING OF SEQUENCE DATABASESM , 2009 .

[5]  Andrzej Wozniak,et al.  Using video-oriented instructions to speed up sequence comparison , 1997, Comput. Appl. Biosci..

[6]  Dan Gusfield,et al.  Algorithms on Strings, Trees, and Sequences - Computer Science and Computational Biology , 1997 .

[7]  Giorgio Valle,et al.  CUDA compatible GPU cards as efficient hardware accelerators for Smith-Waterman sequence alignment , 2008, BMC Bioinformatics.

[8]  Weiguo Liu,et al.  Bio-sequence database scanning on a GPU , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[9]  Bowen Alpern,et al.  Microparallelism and High-Performance Protein Matching , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[10]  Yang Liu,et al.  GPU Accelerated Smith-Waterman , 2006, International Conference on Computational Science.

[11]  Torbjørn Rognes,et al.  Six-fold speed-up of Smith-Waterman sequence database searches using parallel processing on common microprocessors , 2000, Bioinform..

[12]  O. Gotoh An improved algorithm for matching biological sequences. , 1982, Journal of molecular biology.

[13]  D. Lipman,et al.  Rapid and sensitive protein similarity searches. , 1985, Science.

[14]  Fang Zhou,et al.  QTL mapping arthritis traits in CXB mice , 2008, BMC Bioinformatics.

[15]  Witold R. Rudnicki,et al.  An efficient implementation of Smith Waterman algorithm on GPU using CUDA, for massively parallel scanning of sequence databases , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[16]  Chee Keong Kwoh,et al.  CBESW: Sequence Alignment on the Playstation 3 , 2008, BMC Bioinformatics.

[17]  M S Waterman,et al.  Identification of common molecular subsequences. , 1981, Journal of molecular biology.

[18]  Yao Zhang,et al.  Scan primitives for GPU computing , 2007, GH '07.

[19]  Dan Gusfield,et al.  Algorithms on strings , 1997 .

[20]  Dan Gusfield,et al.  Algorithms on Strings, Trees, and Sequences - Computer Science and Computational Biology , 1997 .

[21]  Guy E. Blelloch,et al.  Prefix sums and their applications , 1990 .

[22]  John H. Reif,et al.  Synthesis of Parallel Algorithms , 1993 .

[23]  Ali Akoglu,et al.  Sequence alignment with GPU: Performance and design challenges , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[24]  Michael Farrar,et al.  Sequence analysis Striped Smith – Waterman speeds database searches six times over other SIMD implementations , 2007 .

[25]  E. Myers,et al.  Basic local alignment search tool. , 1990, Journal of molecular biology.