Investigation of the SYCL for OpenCL Programming Model
The University of Edinburgh
The University of Edinburgh, 2015
@article{beattie2015investigation,
title={Investigation of the SYCL for OpenCL Programming Model},
author={Beattie, Tim},
year={2015}
}
OpenCL and SYCL for OpenCL are open-standard programming models which enable development of parallel programs which target heterogeneous hardware: systems which contain both general-purpose CPUs and accelerator devices such as GPGPUs or Intel Xeon Phi cards. While OpenCL provides a C API, SYCL provides a C++ API and allows programmers to take advantage of many of C++’s powerful language features. SYCL’s goals are to simplify, abstract, and speed up the process of writing parallel programs while maintaining the performance and capabilities of OpenCL. SYCL also aims to reduce the steep learning curve of OpenCL, enabling programmers to become productive more quickly and with less effort. In this project we investigate SYCL for OpenCL by attempting to port a benchmark program to SYCL and compare its performance with its existing ports to OpenMP, OpenCL, and a serial implementation. We examine the performance of the port and the degree to which SYCL achieves its goals. The program chosen for the port is SLAMBench, a dedicated benchmark for the PAMELA computer vision application. We build on the work of a 2014 dissertation by Angelos Trigkas (ref) which also investigated the usability and performance of Codeplay’s SYCL implementation. Trigkas created SYCL ports of six small programs which were designed specifically for benchmarking hardware and compared the performance of the SYCL ports with ports to two other parallel programming frameworks: OpenCL and OpenMP. We update several of Trigkas’s programs to this year’s SYCL standard and examine their performance. Last year’s project found that the performance of SYCLONE was relatively poor when compared to other programming models. We find two cases where SYCL performance has improved in the past year and two unusual results which merit further investigation.
December 19, 2015 by hgpu