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.
- Simple Python interface similar to SKLearn's KMeans
- Dynamic libraries for MacOS and Linux (Windows coming soon) for C++ integration
- Support for Apple's GPU for hardware acceleration (CUDA coming soon too)
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