This video was presented at the online version of IWOCL / SYCLcon 2020.
Authors: Aksel Alpay and Vincent Heuveline (Heidelberg University), Sohan Lal and Nicolai Stawinoga (TU Berlin), Philip Salzmann, Peter Thoman and Thomas Fahringer (University of Innsbruck) and Biagio Cosenza (University of Salerno)
Additional Information and Slides:
https://www.iwocl.org/iwocl-2020/conf...
Presentation Abstract
SYCL is a royalty-free Khronos group open standard that enables heterogeneous programming using pure C++, which targets a broad range of parallel devices, including multicore CPUs, GPUs, and FPGAs, without any additional attributes or pragmas. While SYCL kernels follow a data-parallel model, they are implicitly organized in a task graph built by the runtime from data access specifications. Scheduling, data management and synchronization between different tasks are handled implicitly by the SYCL runtime, which varies depending on the implementation. While this simultaneously preserves programmer productivity and allows the SYCLruntime to automatically perform optimizations such as over-lapping data transfers and kernel execution, it is not apparent whether the SYCL implementation actually employs such optimizations for a particular code pattern. Benchmarks are therefore necessary to characterize the performance of programming models such as SYCL that rely heavily on implicit operations. To this end, we present SYCL-Bench, a versatile benchmark suite written in SYCL. SYCL-Bench not only contains benchmarks to characterize the hardware but also SYCL-specific benchmarks that present optimization opportunities to the SYCL runtime and test how well a particular SYCL implementation capitalizes on those opportunities. SYCL-Bench benchmarking methodology includes:109 codes suited for hardware characterization; 24 codes based on data-parallel patterns such as reduction; 9 codes to evaluate SYCL-specific runtime features. We experimentally demonstrate the effectiveness of SYCL-Bench by performing a device characterization on NVIDIA GeForce GTX Titan X, GeForce 1080 Ti, and AMD Radeon VII GPUs, and by evaluating the runtime efficiency of HipSYCL and ComputeCPPSYCL implementations.
IWOCL Newsletter
Signup to receive regular updates on IWOCL, OpenCL and SYCL at: https://www.iwocl.org/opencl-newsletter/