src-d/kmcuda

Large scale K-means and K-nn implementation on NVIDIA GPU / CUDA

50
/ 100
Established

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.

Stale 6m No Package No Dependents
Maintenance 0 / 25
Adoption 10 / 25
Maturity 16 / 25
Community 24 / 25

How are scores calculated?

Stars

841

Forks

146

Language

Jupyter Notebook

License

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.