Author:
Faqir-Rhazoui Youssef,García Carlos
Abstract
AbstractThe 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.
Funder
Ministerio de Economía y Competitividad
Comunidad de Madrid
Universidad Complutense de Madrid
Publisher
Springer Science and Business Media LLC
Subject
Hardware and Architecture,Information Systems,Theoretical Computer Science,Software
Reference38 articles.
1. Hwu W-m, Patel S (2018) Accelerator architectures -a 10-year retrospective. IEEE Micro 38(6):56–62. https://doi.org/10.1109/MM.2018.2877839
2. Kirk DB, W-mW Hwu (2010) Programming massively parallel processors: a hands-on approach, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco
3. Stone JE, Gohara D, Shi G (2010) Opencl: a parallel programming standard for heterogeneous computing systems. Comput Sci Eng 12(3):66–73. https://doi.org/10.1109/MCSE.2010.69
4. Munshi A, Gaster B, Mattson TG, Ginsburg D (2011) OpenCL programming guide, 1st edn. Pearson Education, Boston
5. Khronos SYCL working group: (2023) SYCL specification. https://registry.khronos.org/SYCL/
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献