English

Flash-KMeans: Fast and Memory-Efficient Exact K-Means

Distributed, Parallel, and Cluster Computing 2026-04-13 v2

Abstract

kk-means has historically been positioned primarily as an offline processing primitive, typically used for dataset organization or embedding preprocessing rather than as a first-class component in online systems. In this work, we revisit this classical algorithm under the lens of modern AI system design and enable kk-means as an online primitive. We point out that existing GPU implementations of kk-means remain fundamentally bottlenecked by low-level system constraints rather than theoretical algorithmic complexity. Specifically, the assignment stage suffers from a severe IO bottleneck due to the massive explicit materialization of the N×KN \times K distance matrix in High Bandwidth Memory (HBM). Simultaneously, the centroid update stage is heavily penalized by hardware-level atomic write contention caused by irregular, scatter-style token aggregations. To bridge this performance gap, we propose flash-kmeans, an IO-aware and contention-free kk-means implementation for modern GPU workloads. Flash-kmeans introduces two core kernel-level innovations: (1) FlashAssign, which fuses distance computation with an online argmin to completely bypass intermediate memory materialization; (2) sort-inverse update, which explicitly constructs an inverse mapping to transform high-contention atomic scatters into high-bandwidth, segment-level localized reductions. Furthermore, we integrate algorithm-system co-designs, including chunked-stream overlap and cache-aware compile heuristics, to ensure practical deployability. Extensive evaluations on NVIDIA H200 GPUs demonstrate that flash-kmeans achieves up to 17.9×\times end-to-end speedup over best baselines, while outperforming industry-standard libraries like cuML and FAISS by 33×\times and over 200×\times, respectively. Our code is open-sourced at https://github.com/svg-project/flash-kmeans.

Keywords

Cite

@article{arxiv.2603.09229,
  title  = {Flash-KMeans: Fast and Memory-Efficient Exact K-Means},
  author = {Shuo Yang and Haocheng Xi and Yilong Zhao and Muyang Li and Xiaoze Fan and Jintao Zhang and Han Cai and Yujun Lin and Xiuyu Li and Kurt Keutzer and Song Han and Chenfeng Xu and Ion Stoica},
  journal= {arXiv preprint arXiv:2603.09229},
  year   = {2026}
}
R2 v1 2026-07-01T11:11:47.970Z