Cluster ComputingEngineeringMemory AccessUnsupervised Machine LearningGpu ComputingCluster TechnologyOptimization-based Data MiningData ScienceData MiningPattern RecognitionParallel ComputingPrincipal Component AnalysisKnowledge DiscoveryComputer EngineeringComputer ScienceGpu ClusterEfficient K-means AlgorithmUnsupervised ClusteringParallel ProgrammingMassive Data ProcessingBig DataK-means Algorithm
The k-means algorithm is widely used for unsupervised clustering. This paper describes an efficient CUDA-based k-means algorithm. Different from existing GPU-based k-means algorithms, our algorithm achieves better efficiency by utilizing the triangle inequality. Our algorithm explores the trade-off between load balance and memory access coalescing through data layout management. Because the effectiveness of the triangle inequity depends on the input data, we further propose a hybrid algorithm that adaptively determines whether to apply the triangle inequality. The efficiency of our algorithm is validated through extensive experiments, which demonstrate improved performance over existing CPU-based and CUDA-based k-means algorithms, in terms of both speed and scalability.
7
Least squares quantization in PCM
Sheelagh Lloyd · IEEE Transactions on Information Theory · 1982 · 15.1K citations · Full text
A fast nearest-neighbor search algorithm
M.T. Orchard · 1991 · 103 citations