Popcorn: Accelerating Kernel K-means on GPUs through Sparse Linear Algebra
Abstract
K-means is a popular clustering algorithm with significant applications in numerous scientific and engineering areas. One drawback of K-means is its inability to identify non-linearly separable clusters, which may lead to inaccurate solutions in certain cases. Kernel K-means is a variant of classical K-means that can find non-linearly separable clusters. However, it scales quadratically with respect to the size of the dataset, taking several minutes to cluster even medium-sized datasets on traditional CPU-based machines. In this paper, we present a formulation of Kernel K-means using sparse-dense matrix multiplication (SpMM) and sparse matrix-vector multiplication (SpMV), and we show that our formulation enables the rapid implementation of a fast GPU-based version of Kernel K-means with little programming effort. Our implementation, named Popcorn, is the first open-source GPU-based implementation of Kernel K-means. Popcorn achieves a speedup of up to 123.8x over a CPU implementation of Kernel K-means and a speedup of up to 2.6x over a GPU implementation of Kernel K-means that does not use sparse matrix computations. Our results support the effectiveness of sparse matrices as tools for efficient parallel programming.
Cite
@article{arxiv.2501.05587,
title = {Popcorn: Accelerating Kernel K-means on GPUs through Sparse Linear Algebra},
author = {Julian Bellavita and Thomas Pasquali and Laura Del Rio Martin and Flavio Vella and Giulia Guidi},
journal= {arXiv preprint arXiv:2501.05587},
year = {2025}
}