CUDA-based Multi-core Implementation of MDS-based Bioinformatics Algorithms

Solving problems in bioinformatics often needs extensive computational power. Current trends in processor architecture, especially massive multi-core processors for graphic cards, combine a large number of cores into a single chip to improve the overall performance. The Compute Unified Device Architecture (CUDA) provides programming interfaces to make full use of the computing power of graphics processing units. We present a way to use CUDA for substantial performance improvement of methods based on multi-dimensional scaling (MDS). The suitability of the CUDA architecture as a high-performance computing platform is studied by adapting a MDS algorithm on specific hardware properties. We show how typical bioinformatics problems related to dimension reduction and network layout benefit from the multi-core implementation of the MDS algorithm. CUDA-based methods are introduced and compared to standard solutions, demonstrating 50-fold acceleration and above.

[1]  Kozo Sugiyama,et al.  A Simple and Unified Method for Drawing Graphs: Magnetic-Spring Algorithm , 1994, GD.

[2]  Kyungsook Han,et al.  InterViewer: Dynamic Visualization of Protein-Protein Interactions , 2002, Graph Drawing.

[3]  Peter Eades,et al.  A Heuristic for Graph Drawing , 1984 .

[4]  M. Januszewski,et al.  Accelerating numerical solution of stochastic differential equations with CUDA , 2009, Comput. Phys. Commun..

[5]  Marc Strickert,et al.  Correlation-maximizing surrogate gene space for visual mining of gene expression patterns in developing barley endosperm tissue , 2007, BMC Bioinformatics.

[6]  Y-h. Taguchi,et al.  Relational patterns of gene expression via non-metric multidimensional scaling analysis , 2004, Bioinform..

[7]  Marc Olano,et al.  Glimmer: Multilevel MDS on the GPU , 2009, IEEE Transactions on Visualization and Computer Graphics.

[8]  Mark J. Harris,et al.  Parallel Prefix Sum (Scan) with CUDA , 2011 .

[9]  Wojciech Basalaj,et al.  Incremental multidimensional scaling method for database visualization , 1999, Electronic Imaging.

[10]  Mihai Patrascu,et al.  Lower bounds for dynamic connectivity , 2004, Symposium on the Theory of Computing.

[11]  Jens Breitbart,et al.  An exploration of CUDA and CBEA for a gravitational wave data-analysis application (Einstein@Home) , 2009 .

[12]  Hong Li,et al.  Parallel simulation for a fish schooling model on a general‐purpose graphics processing unit , 2009, Concurr. Comput. Pract. Exp..

[13]  Michael Garland,et al.  Rapid Multipole Graph Drawing on the GPU , 2009, Graph Drawing.

[14]  Satoru Kawai,et al.  An Algorithm for Drawing General Undirected Graphs , 1989, Inf. Process. Lett..

[15]  P. J. Narayanan,et al.  Accelerating Large Graph Algorithms on the GPU Using CUDA , 2007, HiPC.

[16]  Edward M. Reingold,et al.  Graph drawing by force‐directed placement , 1991, Softw. Pract. Exp..

[17]  Sam S. Stone,et al.  Program Optimization Study on a 128-Core GPU , 2011 .

[18]  Nail A. Gumerov,et al.  ffi cient Personal Supercomputing in Fortran 9 x on CPU-GPU Systems , 2007 .

[19]  Kevin Skadron,et al.  A performance study of general-purpose applications on graphics processors using CUDA , 2008, J. Parallel Distributed Comput..