Litcius/Paper detail

Exploring the performance and portability of the k-means algorithm on SYCL across CPU and GPU architectures

Youssef Faqir-Rhazoui, Carlos García

2023The Journal of Supercomputing13 citationsDOIOpen Access PDF

Abstract

Abstract The aim of SYCL is to reduce the gap between the performance and code portability of the main accelerators used in HPC, such as multi-vendor CPUs, GPUs, and FPGAs. To evaluate SYCL’s performance portability, this paper uses the k -means algorithm as a case study. The k -means algorithm is simple to code but can be complex to optimize. In this research, we compare our developed SYCL version with the most efficient implementations of CUDA and OpenMP. Our resulting SYCL code can potentially run on multi-vendor CPUs and GPUs. Additionally, we have created a hand-tuned SYCL variation that is optimized for specific device architectures (CPU, NVIDIA GPU, and Intel GPU) to evaluate the performance difference between a standard version and an optimized one. The results show that SYCL outperforms Intel GPUs and CPUs compared to the state-of-the-art He-Vialle version, while on NVIDIA GPUs SYCL offers equivalent performance compared to its native CUDA implementation.

Topics & Concepts

Software portabilityComputer scienceCUDAParallel computingCode (set theory)VendorOperating systemProgramming languageSet (abstract data type)MarketingBusinessParallel Computing and Optimization TechniquesAlgorithms and Data CompressionAdvanced Data Storage Technologies
Exploring the performance and portability of the k-means algorithm on SYCL across CPU and GPU architectures | Litcius