Effective biclustering on GPU - capabilities and constraints

This article presents the benefits and limitations related to designing a parallel biclustering algorithm on a GPU. A definition of biclustering is provided together with a brief description of the GPU architecture. We then review algorithm strategy patterns, which are helpful in providing efficient implementations on GPU. Finally, we highlight programming aspects of implementing biclustering algorithms in CUDA/OpenCL programming language. Streszczenie. W artykule przedstawiono korzy´ sci i ograniczenia zwi ˛ azane z projektowaniem rownoleglego algorytmu biklasteryzacji, przeznaczonego na GPU. Zaprezentowano definicj ˛ e biklasteryzacji oraz skrotowo opisano architektur ˛ e GPU. Zestawiono popularne wzorce strategii implementacji algorytmow, przydatne w projektowaniu efektywnych rozwi ˛ aza ´ n na GPU. Publikacja zawiera takpraktyczne wskazowki programistyczne, w kon- tek´ scie implementacji algorytmow biklasteryzacji w j ˛ ezyku CUDA/OpenCL. (Efektywna biklasteryzacja z wykorzystaniem GPU - mozliwo ´ sci i ograniczenia)

[1]  Arlindo L. Oliveira,et al.  Biclustering algorithms for biological data analysis: a survey , 2004, IEEE/ACM Transactions on Computational Biology and Bioinformatics.

[2]  K. Steinhubl Design of Ion-Implanted MOSFET'S with Very Small Physical Dimensions , 1974 .

[3]  Lothar Thiele,et al.  A systematic comparison and evaluation of biclustering methods for gene expression data , 2006, Bioinform..

[4]  G.E. Moore,et al.  Cramming More Components Onto Integrated Circuits , 1998, Proceedings of the IEEE.

[5]  Karthikeyan Sankaralingam,et al.  Dark Silicon and the End of Multicore Scaling , 2012, IEEE Micro.

[6]  Mehmet Deveci,et al.  A comparative analysis of biclustering algorithms for gene expression data , 2013, Briefings Bioinform..

[7]  Arch D. Robison,et al.  Structured Parallel Programming: Patterns for Efficient Computation , 2012 .

[8]  George M. Church,et al.  Biclustering of Expression Data , 2000, ISMB.

[9]  R.H. Dennard,et al.  Design Of Ion-implanted MOSFET's with Very Small Physical Dimensions , 1974, Proceedings of the IEEE.

[10]  Patryk Orzechowski,et al.  Proximity Measures and Results Validation in Biclustering - A Survey , 2013, ICAISC.

[11]  Emmett Kilgariff,et al.  Fermi GF100 GPU Architecture , 2011, IEEE Micro.

[12]  Ümit V. Çatalyürek,et al.  Betweenness centrality on GPUs and heterogeneous architectures , 2013, GPGPU@ASPLOS.

[13]  Guy E. Blelloch,et al.  Prefix sums and their applications , 1990 .

[14]  W. Daniel Hillis,et al.  Data parallel algorithms , 1986, CACM.

[15]  Hong Yan,et al.  GPU-based biclustering for microarray data analysis in neurocomputing , 2014, Neurocomputing.

[16]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.