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

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.

Documentation

Links