A KMeans implemented in C++ with Python bindings and GPU acceleration
MIT License
A KMeans algorithm implemented in C++ along with Pythoin bindings that runs on the CPU or the GPU.
I wrote this project more as a proof of concept for some key learning points I wanted to understand.
This project is definitely still in beta so there may be some bugs and upgrades to add as time goes on.
Build the dynamic library from source
git clone https://github.com/rmiguelkelly/QuickCluster
cd QuickCluster/quickcluster
MacOS
make darwin
Linux
make linux
Windows and CUDA implementations
Coming soon!
Some example code for running the program
Python (CPU) Example
Python (GPU) Example
C++ (CPU) Example
C++ (GPU) Example
You must build the project first with the above steps
cd ..
pip install .
Note: you may have to edit the runtime paths using a tool like install_name_tool
on MacOS for the dynamic library so that the Python module can link it properly