Parallelized pairwise sequence alignment using CUDA on multiple GPUs
© Jung; licensee BioMed Central Ltd. 2009
Published: 25 June 2009
Recently, rapid growth of the technology of the Graphics Processing Unit (GPU) has led to a surge of interest in using the GPU for general purpose applications. We can utilize the GPU in computation as a massive parallel co-processor because the GPU consists of multiple cores. The GPU is also an affordable, user-programmable, and attractive commodity. In bioinformatics, finding the similarities in protein and DNA sequence databases has become a fundamental procedure. The Smith-Waterman algorithm based on dynamic programming is one of the methods used to search for all of the possible local alignments between two sequences, enabling us to find the optimal local alignments. However, dynamic programming requires a sequential calculation due to data dependency. Also required are a high number of computation steps proportional to the product of the lengths of the two sequences.
Our approach is to implement the Smith-Waterman algorithm using the huge computational power of the NVIDIA's GPUs, to develop high performance solutions for local sequence alignment . To program the GPU, the parallelized Smith-Waterman, with the wavefront algorithm is implemented in NVIDIA CUDA, an extended C language . The computation is conducted on two NVIDIA GPUs installed in a 2.4 GHz AMD Opteron computer equipped with 2 GB RAM, running Microsoft Windows XP Professional. The results show that the sequence alignment algorithm on the multiple GPUs achieves better performance than the Smith-Waterman algorithm on the CPU and on the single GPU. Therefore, the multiple GPUs are shown to be extremely efficient as a high computing accelerator for a bioinformatics application.
- Smith TF, Waterman MS: Identification of common molecular subsequences. J Mol Biol. 1981, 147: 195-197. 10.1016/0022-2836(81)90087-5.View ArticlePubMedGoogle Scholar
- Compute Unified Device Architecture Programming Guide Ver. 1.1. [http://developer.download.nvidia.com/compute/cuda/1_1/NVIDIA_CUDA_Programming_Guide_1.1.pdf]
This article is published under license to BioMed Central Ltd.