Demo Video

This video demonstrates the K-means clustering algorithm accelerated using a GPU and showcases the project's capabilities.

Project Overview: GPU Accelerated K-means Clustering

The goal of this project was to significantly speed up the K-means clustering algorithm by leveraging the parallel processing power of a GPU. K-means, a popular method for grouping data points, can be computationally intensive, especially with large datasets. To address this, I implemented several variations of the algorithm using CUDA.

Here's a breakdown of the approach:

Key Implementations:

Technical Details:

Analysis:

Results:

The GPU implementations achieved a 6.3x speedup compared to the sequential versions. Furthermore, the K-means++ initialization method significantly improved convergence, reducing the number of iterations to just two in some cases.

This project demonstrates the effectiveness of GPU acceleration in enhancing the performance of the K-means clustering algorithm, showcasing significant speed improvements and efficient resource utilization.