src-d/kmcuda
Large scale K-means and K-nn implementation on NVIDIA GPU / CUDA
Implements the Yinyang K-means algorithm with triangle inequality pruning for 1.6-2x speedup over Lloyd, alongside K-nn search using ball-tree-like centroid filtering and binary heap neighbor tracking. Exposes a C library interface (`kmeans_cuda`, `knn_cuda`) with native Python 3 and R bindings, supporting multiple distance metrics (L2, angular/cosine), centroid initialization schemes (random, k-means++, AFKMC2), and 16-bit float compression; multi-GPU acceleration provides linear speedup across devices.
841 stars. No commits in the last 6 months.
Stars
841
Forks
146
Language
Jupyter Notebook
License
—
Category
Last pushed
Oct 11, 2022
Commits (30d)
0
Get this data via API
curl "https://pt-edge.onrender.com/api/v1/quality/ml-frameworks/src-d/kmcuda"
Open to everyone — 100 requests/day, no key needed. Get a free key for 1,000/day.
Related frameworks
scikit-learn-contrib/hdbscan
A high performance implementation of HDBSCAN clustering.
annoviko/pyclustering
pyclustering is a Python, C++ data mining library.
panagiotisanagnostou/HiPart
Hierarchical divisive clustering algorithm execution, visualization and Interactive visualization.
wq2012/SpectralCluster
Python re-implementation of the (constrained) spectral clustering algorithms used in Google's...
mqcomplab/MDANCE
MDANCE: O(N) clustering for molecular dynamics. Process 1.5M frames in 40min. 8 specialized algorithms.