Real-world comparison of CPU and GPU implementations of SNPrank: a network analysis tool for GWAS.
BACKGROUND
Bioinformatics researchers have a variety of programming languages and architectures at their disposal, and recent advances in graphics processing unit (GPU) computing have added a promising new option. However, many performance comparisons inflate the actual advantages of GPU technology. In this study, we carry out a realistic performance evaluation of SNPrank, a network centrality algorithm that ranks single nucleotide polymorhisms (SNPs) based on their importance in the context of a phenotype-specific interaction network. Our goal is to identify the best computational engine for the SNPrank web application and to provide a variety of well-tested implementations of SNPrank for Bioinformaticists to integrate into their research.


RESULTS
Using SNP data from the Wellcome Trust Case Control Consortium genome-wide association study of Bipolar Disorder, we compare multiple SNPrank implementations, including Python, Matlab and Java as well as CPU versus GPU implementations. When compared with naïve, single-threaded CPU implementations, the GPU yields a large improvement in the execution time. However, with comparable effort, multi-threaded CPU implementations negate the apparent advantage of GPU implementations.


BACKGROUND
The SNPrank code is open source and available at http://insilico.utulsa.edu/snprank.
Department of Mathematical and Computer Sciences, University of Tulsa, Tulsa, OK 74104, USA.
Nicholas A
NA
Davis
Ahwan
A
Pandey
B A
BA
McKinney
D000465:Algorithms; D019295:Computational Biology; D003196:Computer Graphics; D003201:Computers; D055106:Genome-Wide Association Study; D020641:Polymorphism, Single Nucleotide; D011381:Programming Languages; D012984:Software