English

A High Performance Implementation of Spectral Clustering on CPU-GPU Platforms

Distributed, Parallel, and Cluster Computing 2018-02-14 v1 Mathematical Software

Abstract

Spectral clustering is one of the most popular graph clustering algorithms, which achieves the best performance for many scientific and engineering applications. However, existing implementations in commonly used software platforms such as Matlab and Python do not scale well for many of the emerging Big Data applications. In this paper, we present a fast implementation of the spectral clustering algorithm on a CPU-GPU heterogeneous platform. Our implementation takes advantage of the computational power of the multi-core CPU and the massive multithreading and SIMD capabilities of GPUs. Given the input as data points in high dimensional space, we propose a parallel scheme to build a sparse similarity graph represented in a standard sparse representation format. Then we compute the smallest kk eigenvectors of the Laplacian matrix by utilizing the reverse communication interfaces of ARPACK software and cuSPARSE library, where kk is typically very large. Moreover, we implement a very fast parallelized kk-means algorithm on GPUs. Our implementation is shown to be significantly faster compared to the best known Matlab and Python implementations for each step. In addition, our algorithm scales to problems with a very large number of clusters.

Keywords

Cite

@article{arxiv.1802.04450,
  title  = {A High Performance Implementation of Spectral Clustering on CPU-GPU Platforms},
  author = {Yu Jin and Joseph F. JaJa},
  journal= {arXiv preprint arXiv:1802.04450},
  year   = {2018}
}

Comments

2016 IEEE International Parallel and Distributed Processing Symposium Workshops (Parallel Computing and Optimization (PCO) workshop). Codes are available on https://github.com/yuj-umd/fastsc

R2 v1 2026-06-23T00:20:23.760Z