Accelerating K-Means on the Graphics Processor via CUDA
Know-Center, Inffeldgasse 21a, 8010 Graz, Austria
First International Conference on Intensive Applications and Services, 2009. INTENSIVE ’09, p.7-15
@conference{zechner2009accelerating,
title={Accelerating K-Means on the Graphics Processor via CUDA},
author={Zechner, M. and Granitzer, M.},
booktitle={Intensive Applications and Services, 2009. INTENSIVE’09. First International Conference on},
pages={7–15},
year={2009},
organization={IEEE}
}
In this paper an optimized k-means implementation on the graphics processing unit (GPU) is presented. NVIDIApsilas compute unified device architecture (CUDA), available from the G80 GPU family onwards, is used as the programming environment. Emphasis is placed on optimizations directly targeted at this architecture to best exploit the computational capabilities available. Additionally drawbacks and limitations of previous related work, e.g. maximum instance, dimension and centroid count are addressed. The algorithm is realized in a hybrid manner, parallelizing distance calculations on the GPU while sequentially updating cluster centroids on the CPU based on the results from the GPU calculations. An empirical performance study on synthetic data is given, demonstrating a maximum 14times speed increase to a fully SIMD optimized CPU implementation.
December 18, 2010 by hgpu