Benchmarking and Extending SYCL Hierarchical Parallelism
Workshop on Hierarchical Parallelism for Exascale Computing held in conjunction with Supercomputing (HiPAR), 2021
Abstract
SYCL is an open-standard, parallel programming model for programming heterogeneous devices from Khronos. It allows single-source programming of diverse attached devices in a cross-platform manner in modern C++. SYCL provides different layers of parallel abstractions, including Same Instruction Multiple Thread (SIMT) kernels, data-parallel loop concurrency and hierarchical parallelism. We discuss Scoped Parallelism as an extension to the existing Hierarchical Parallelism in SYCL, and highlight the advantages and disadvantages of these models from the perspective of the programmer and an implementer of SYCL. In this paper, we compare writing benchmark programs using SIMT kernel, hierarchical parallelism and scoped parallelism paradigms, and present results running on a high-performance CPU and GPU.
@inproceedings{hipar21,
author = {Deakin, Tom and McIntosh-Smith, Simon and Alpay, Aksel and Heuveline, Vincent},
title = {{Benchmarking and Extending SYCL Hierarchical Parallelism}},
booktitle = {{Workshop on Hierarchical Parallelism for Exascale Computing held in conjunction with Supercomputing (HiPAR)}},
year = {2021},
publisher = {{IEEE}},
doi = {10.1109/HiPar54615.2021.00007},
keywords = {Conferences and Workshops}
}