Bioinformatics, Compute Unified Device Architecture (CUDA), Graphics Processing Unit (GPU), General Purpose computation on the Graphics Processing Unit (GPGPU), Supercomputing, Smith-Waterman


Software Engineering | Theory and Algorithms




We created a powerful computing platform based on video cards with the goal of accelerating the performance of bioinformatics codes. To satisfy the demands of the video gaming industry, modern graphics processing units (GPUs) have become very advanced computational devices, using a large set of stream processors to render multiple pixels in parallel. Recently, computer scientists have taken interest in a GPU's ability to execute a single instruction on multiple data (SIMD computation) for general applications, as opposed to graphics processing only. This is known as general purpose computation on a graphics processing unit, or GPGPU.

Our project was comprised of three stages. First, we researched and constructed a computer containing GPGPU-capable hardware including two high-end graphics cards. Second, we explored the hardware and software characteristics of the GPU cards to fully understand both how they function and how to program them. Third, we developed and wrote bioinformatics software; specifically a massively parallelized version of the Smith-Waterman algorithm, which is used for performing DNA and protein sequence alignment. We are currently in the final optimization and performance analysis stage of development.