CUDASW++
CUDASW++ performs Smith-Waterman protein database searches by leveraging NVIDIA CUDA-enabled GPUs and multicore CPUs to accelerate sensitive local pairwise sequence alignment.
Key Features:
- Smith-Waterman algorithm: Implements the Smith-Waterman algorithm for maximally sensitive local pairwise protein sequence alignment.
- GPU acceleration: Executes alignment kernels on NVIDIA GPUs via the CUDA architecture (tested on Tesla GPUs and GeForce GTX 680/690 Kepler GPUs).
- CPU SIMD acceleration: Uses SSE-based vector execution units on CPUs to accelerate alignment computations.
- CUDA PTX SIMD instructions: Employs CUDA PTX SIMD video instructions to extend data parallelism beyond the conventional SIMT model on GPUs.
- CPU–GPU workload distribution: Automatically distributes workload between CPUs and GPUs based on their respective computational strengths to optimize throughput.
- Performance benchmarks: Demonstrates speed-ups up to 2.9× on single‑GPU GeForce GTX 680 and 3.2× on dual‑GPU GeForce GTX 690 versus CUDASW++ 2.0, reaching peak performance of 119.0 and 185.6 GCUPS respectively.
- Comparative performance: Reportedly outperforms other sequence alignment tools such as SWIPE and BLAST+ in benchmark comparisons.
- Implementation and target architecture: Implemented in CUDA C++ and PTX assembly and targets Kepler‑architecture GPUs, combining CPU and GPU SIMD instructions for concurrent execution.
- Database evaluation: Evaluated using the Swiss-Prot protein database.
Scientific Applications:
- Protein database searches: High-sensitivity protein sequence database searches using Smith-Waterman alignments (e.g., Swiss-Prot).
- Pairwise local alignment: Sensitive pairwise local sequence alignment of protein sequences.
- High-throughput database scanning: Accelerated processing of large-scale protein sequence databases where quadratic-time Smith-Waterman computation is a bottleneck.
Methodology:
Implements the Smith-Waterman algorithm with SSE-based CPU vectorization and GPU acceleration using CUDA PTX SIMD instructions, automatically partitions workload between CPUs and GPUs, and is implemented in CUDA C++ and PTX assembly targeting Kepler GPUs.
Topics
Details
- Tool Type:
- command-line tool
- Operating Systems:
- Linux
- Programming Languages:
- C++
- Added:
- 12/18/2017
- Last Updated:
- 11/24/2024
Operations
Data Inputs & Outputs
Alignment
Inputs
Outputs
Smith-Waterman
Inputs
Other operations do not define inputs or outputs.
Publications
Liu Y, Wirawan A, Schmidt B. CUDASW++ 3.0: accelerating Smith-Waterman protein database search by coupling CPU and GPU SIMD instructions. BMC Bioinformatics. 2013;14(1). doi:10.1186/1471-2105-14-117. PMID:23557111. PMCID:PMC3637623.