/k-means

Multi-device K-Means based on the He-Vialle implementation.

Primary LanguageC++MIT LicenseMIT

K-Means

license

This repository contains a k-means implementation for CUDA and SYCL.

Requirements

You have to intall the following dependencies:

Project Structure

The repository is ordered in this folders:

  • He_Vialle_impl: Has the original implementation, you can found it here.
  • custom_impl: Has the CUDA and SYCL custom implementations based on the original one.
  • etc: Has the scripts to automatically get the application times.
  • data: You have there all the data requiered to reproduce the experiments.

Publications

  • Youssef Faqir-Rhazoui and Carlos García (2023). "Exploring the Performance and Portability of the k-means Algorithm on SYCL Across CPU and GPU Architectures". The Journal of Supercomputing.

Acknowledgements

This work has been supported by the EU (FEDER), the Spanish MINECO and CM under grants S2018/TCS-4423, PID2021-126576NB-I00 funded by MCIN/AEI/10.13039/501100011033 and by "ERDF A way of making Europe".