This repository contains a k-means implementation for CUDA and SYCL.
You have to intall the following dependencies:
- CUDA Toolkit 11.7
- oneAPI 2022.3
- Intel Clang/LLVM -> In order to run SYCL over Nvidia GPUs.
- hipSYCL -> Optional.
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.
- 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.
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".