EFFICIENT PARTITIONING BASED HIERARCHICAL AGGLOMERATIVE CLUSTERING USING GRAPHICS ACCELERATORS WITH CUDA

We explore the capabilities of today’s high-end Graphics processing units (GPU) on desktop computers to efficiently perform hierarchical agglomerative clustering (HAC) through partitioning of gene expressions. Our focus is to significantly reduce time and memory bottlenecks of the traditional HAC algorithm by parallelization and acceleration of computations without com promising the accuracy of clusters. We use partially overlapping partitions (PoP) to parallelize the HAC algorithm using the hardware capabilities of GPU with Compute Unified Device Architecture (CUDA). We compare the computational performance of GPU over the CPU and our experiments show that the computational performance of GPU is much faster than the CPU. The traditional HAC and partitioning based HAC are up to 66 times and 442 times faster on the GPU respectively, than the time taken by a CPU for the tra ditional HAC computations. Moreover, the PoP HAC on GPU requires only a fraction of the memory required by the traditional algorithm on the CPU. The novelties in our research includes boosting computational speed while utilizing GPU global memory, identifying minimum distance pair in virtually a single -pass, avoiding the necessity to maintain huge data in memories and complete the entire HAC computation within the GPU .

[1]  Manoranjan Dash,et al.  Graphics Hardware based Efficient and Scalable Fuzzy C-Means Clustering , 2008, AusDM.

[2]  Ming Ouyang,et al.  COMPUTE PAIRWISE EUCLIDEAN DISTANCES OF DATA POINTS WITH GPUS , 2008 .

[3]  Hidetoshi Shimodaira,et al.  Pvclust: an R package for assessing the uncertainty in hierarchical clustering , 2006, Bioinform..

[4]  Manoranjan Dash,et al.  Efficient K-Means Clustering Using Accelerated Graphics Processors , 2008, DaWaK.

[5]  Fan Meng,et al.  Supercomputing with toys: harnessing the power of NVIDIA 8800GTX and playstation 3 for bioinformatics problem. , 2007, Computational systems bioinformatics. Computational Systems Bioinformatics Conference.

[6]  Jae-Woo Chang,et al.  Advances in Web-Age Information Management , 2001, Lecture Notes in Computer Science.

[7]  Antonio J. Rueda Ruiz,et al.  Geometric Algorithms on CUDA , 2008, GRAPP.

[8]  Christopher DeCoro,et al.  Real-time mesh simplification using the GPU , 2007, SI3D.

[9]  William B. Langdon,et al.  GP on SPMD parallel graphics hardware for mega Bioinformatics data mining , 2008, Soft Comput..

[10]  Nathan A. Carr,et al.  Cache and bandwidth aware matrix multiplication on the GPU , 2010 .

[11]  Thomas Ertl,et al.  Hierarchical splatting of scattered 4D data , 2004, IEEE Computer Graphics and Applications.

[12]  Qiong Zhang,et al.  Hierarchical clustering of gene expression profiles with graphics hardware acceleration , 2006, Pattern Recognit. Lett..

[13]  Dinesh Manocha,et al.  Fast and approximate stream mining of quantiles and frequencies using graphics processors , 2005, SIGMOD '05.

[14]  Ming Ouyang,et al.  Compute Pairwise Manhattan Distance and Pearson Correlation Coefficient of Data Points with GPU , 2009, 2009 10th ACIS International Conference on Software Engineering, Artificial Intelligences, Networking and Parallel/Distributed Computing.

[15]  Manoranjan Dash,et al.  Efficient Hierarchical Agglomerative Clustering Algorithms on GPU Using Data Partitioning , 2011, 2011 12th International Conference on Parallel and Distributed Computing, Applications and Technologies.

[16]  Satoru Miyano,et al.  Open source clustering software , 2004 .

[17]  Clark F. Olson,et al.  Parallel Algorithms for Hierarchical Clustering , 1995, Parallel Comput..

[18]  Bin Zhang,et al.  Defining clusters from a hierarchical cluster tree: the Dynamic Tree Cut package for R , 2008, Bioinform..

[19]  Tian Zhang,et al.  BIRCH: an efficient data clustering method for very large databases , 1996, SIGMOD '96.

[20]  Peter J. Rousseeuw,et al.  Finding Groups in Data: An Introduction to Cluster Analysis , 1990 .

[21]  Ben Shneiderman,et al.  Interactively Exploring Hierarchical Clustering Results , 2003 .

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

[23]  John Quackenbush,et al.  Genesis: cluster analysis of microarray data , 2002, Bioinform..

[24]  Hiroaki Kobayashi,et al.  Multi-grain Parallel Processing of Data-Clustering on Programmable Graphics Hardware , 2004, ISPA.

[25]  Sudipto Guha,et al.  CURE: an efficient clustering algorithm for large databases , 1998, SIGMOD '98.

[26]  Ali S. Hadi,et al.  Finding Groups in Data: An Introduction to Chster Analysis , 1991 .

[27]  Shi-Jinn Horng,et al.  Efficient Parallel Algorithms for Hierarchical Clustering on Arrays with Reconfigurable Optical Buses , 2000, J. Parallel Distributed Comput..

[28]  Hubert Nguyen,et al.  GPU Gems 3 , 2007 .

[29]  Li Er-sen IHS Transform Algorithm of Remote Sensing Image Data Fusion Based on GPU , 2009 .

[30]  Hans-Peter Seidel,et al.  GPU point list generation through histogram pyramids , 2006 .

[31]  Xiaobo Li,et al.  Parallel clustering algorithms , 1989, Parallel Comput..

[32]  CUDA Nvidia ’ s High-Performance Computing Platform Uses Massive , 2008 .

[33]  Ming Ouyang,et al.  Hierarchical Clustering with CUDA/GPU , 2009, PDCCS.

[34]  John Quackenbush,et al.  Microarray gene expression data analysis - a beginner's guide , 2003 .

[35]  Kian-Lee Tan,et al.  Fast hierarchical clustering and its validation , 2003, Data Knowl. Eng..

[36]  Wen-mei W. Hwu,et al.  Optimization principles and application performance evaluation of a multithreaded GPU using CUDA , 2008, PPoPP.

[37]  Pedro Trancoso,et al.  Exploring graphics processor performance for general purpose applications , 2005, 8th Euromicro Conference on Digital System Design (DSD'05).

[38]  Karl Rihaczek,et al.  1. WHAT IS DATA MINING? , 2019, Data Mining for the Social Sciences.

[39]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[40]  Manoranjan Dash,et al.  An Approach for Fast Hierarchical Agglomerative Clustering Using Graphics Processors with CUDA , 2010, PAKDD.

[41]  John Hart,et al.  GPU Acceleration of Iterative Clustering , 2004 .

[42]  Cao Feng,et al.  Fast Clustering of Data Streams Using Graphics Processors , 2007 .

[43]  Meichun Hsu,et al.  Clustering billions of data points using GPUs , 2009, UCHPC-MAW '09.

[44]  Manoranjan Dash,et al.  Hierarchical Agglomerative Clustering Using Graphics Processor with Compute Unified Device Architecture , 2009, 2009 International Conference on Signal Processing Systems.

[45]  Anil K. Jain,et al.  Algorithms for Clustering Data , 1988 .

[46]  Anthony K. H. Tung,et al.  Scalable Clustering Using Graphics Processors , 2006, WAIM.

[47]  R. Suganya,et al.  Data Mining Concepts and Techniques , 2010 .

[48]  Huan Liu,et al.  Efficient Hierarchical Clustering Algorithms Using Partially Overlapping Partitions , 2001, PAKDD.

[49]  Paolo Scardi,et al.  Real‐space calculation of powder diffraction patterns on graphics processing units , 2010 .

[50]  Xiaobo Li,et al.  Parallel Algorithms for Hierarchical Clustering and Cluster Validity , 1990, IEEE Trans. Pattern Anal. Mach. Intell..

[51]  Hiroaki Kobayashi,et al.  Hierarchical parallel processing of large scale data clustering on a PC cluster with GPU co-processing , 2006, The Journal of Supercomputing.

[52]  Naga K. Govindaraju,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007 .