All Projects → goldsborough → k-means

goldsborough / k-means

Licence: other
Code accompanying my blog post on k-means in Python, C++ and CUDA

Programming Languages

Cuda
1817 projects
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to k-means

Ilgpu
ILGPU JIT Compiler for high-performance .Net GPU programs
Stars: ✭ 374 (+567.86%)
Mutual labels:  parallel, cuda
lbvh
an implementation of parallel linear BVH (LBVH) on GPU
Stars: ✭ 67 (+19.64%)
Mutual labels:  parallel, cuda
Numba
NumPy aware dynamic Python compiler using LLVM
Stars: ✭ 7,090 (+12560.71%)
Mutual labels:  parallel, cuda
Awesome Cuda
This is a list of useful libraries and resources for CUDA development.
Stars: ✭ 274 (+389.29%)
Mutual labels:  parallel, cuda
Hybridizer Basic Samples
Examples of C# code compiled to GPU by hybridizer
Stars: ✭ 186 (+232.14%)
Mutual labels:  parallel, cuda
ctuning-programs
Collective Knowledge extension with unified and customizable benchmarks (with extensible JSON meta information) to be easily integrated with customizable and portable Collective Knowledge workflows. You can easily compile and run these benchmarks using different compilers, environments, hardware and OS (Linux, MacOS, Windows, Android). More info:
Stars: ✭ 41 (-26.79%)
Mutual labels:  cuda
gproshan
geometry processing and shape analysis framework
Stars: ✭ 48 (-14.29%)
Mutual labels:  cuda
HiSpatialCluster
Clustering spatial points with algorithm of Fast Search, high performace computing implements of CUDA or parallel in CPU, and runnable implements on python standalone or arcgis.
Stars: ✭ 31 (-44.64%)
Mutual labels:  cuda
euler2d kokkos
Simple 2d finite volume solver for Euler equations using c++ kokkos library
Stars: ✭ 27 (-51.79%)
Mutual labels:  cuda
future.batchtools
🚀 R package future.batchtools: A Future API for Parallel and Distributed Processing using batchtools
Stars: ✭ 77 (+37.5%)
Mutual labels:  parallel
peakperf
Achieve peak performance on x86 CPUs and NVIDIA GPUs
Stars: ✭ 33 (-41.07%)
Mutual labels:  cuda
allgebra
Base container for developing C++ and Fortran HPC applications
Stars: ✭ 14 (-75%)
Mutual labels:  cuda
NewsMTSC
Target-dependent sentiment classification in news articles reporting on political events. Includes a high-quality data set of over 11k sentences and a state-of-the-art classification model.
Stars: ✭ 54 (-3.57%)
Mutual labels:  cuda
split-tests
Split test files in Jest and Cypress into parallel CI jobs
Stars: ✭ 22 (-60.71%)
Mutual labels:  parallel
hack parallel
The core parallel and shared memory library used by Hack, Flow, and Pyre
Stars: ✭ 39 (-30.36%)
Mutual labels:  parallel
gpubootcamp
This repository consists for gpu bootcamp material for HPC and AI
Stars: ✭ 227 (+305.36%)
Mutual labels:  cuda
dbcsr
DBCSR: Distributed Block Compressed Sparse Row matrix library
Stars: ✭ 65 (+16.07%)
Mutual labels:  cuda
pytorch kmeans
Implementation of the k-means algorithm in PyTorch that works for large datasets
Stars: ✭ 38 (-32.14%)
Mutual labels:  k-means
GOSH
An ultra-fast, GPU-based large graph embedding algorithm utilizing a novel coarsening algorithm requiring not more than a single GPU.
Stars: ✭ 12 (-78.57%)
Mutual labels:  cuda
tbslas
A parallel, fast solver for the scalar advection-diffusion and the incompressible Navier-Stokes equations based on semi-Lagrangian/Volume-Integral method.
Stars: ✭ 21 (-62.5%)
Mutual labels:  parallel

⤴️ ⤴️ k-means

license

This repository contains code referenced in my blog post Exploring k-means in Python, C++ and CUDA, where I implement k-means in a variety of platforms. In this post I show how CUDA implementations of k-means can outperform scikit-learn and scipy in performance by a factor of 72 and 90, respectively.

The code is not particularly tidy, but gives an idea of how to implement k-means efficiently on a GPU.

Contents

  • python/ contains Python code for k-means using scikit-learn, scipy and a roll-it-yourself implementation.
  • cpp/ contains C++ implementations of k-means, including one using Eigen.
  • cuda/ holds all CUDA implementations.
  • data/ has some toy data with 100 and 100k datapoints in five clusters as well as a script to generate more.

Authors

Peter Goldsborough + cat ❤️

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].