A Tutorial on Khronos SYCL for OpenCL


Tuesday, May the 12th 2015

View the Project on GitHub codeplaysoftware/iwocl2015



SYCL (sɪkəl - as in sickle) is a royalty-free, cross-platform C++ abstraction layer that builds on the underlying concepts, portability and efficiency of OpenCL, while adding the ease-of-use and flexibility of C++. For example, SYCL enables single source development where C++ template functions can contain both host and device code to construct complex algorithms that use OpenCL acceleration, and then re-use them throughout their source code on different types of data.


The SYCL @ IWOCL Tutorial takes place on the morning of Tuesday, May the 12th 2015 (5/12/2015); as part of The 2015 International Workshop on OpenCL (IWOCL) at Stanford University, California. Attendance at the SYCL @ IWOCL Tutorial can be secured simply through registration for IWOCL.


SYCL for OpenCL is designed and specified by a subgroup of the OpenCL committee within Khronos. The SYCL subgroup is the sibling of the SPIR subgroup; a peer of SPIR, if you will (and also pronounced as a sharp metal object). A second provisional specification for SYCL is available here. This half-day tutorial will provide an opportunity to learn about the latest developments in SYCL from leading members of the Khronos SYCL subgroup. Tutorial speakers include the SYCL specification editors; and the developers of two prototype SYCL implementations.

Attendees of Ronan Keryell's session are encouraged to install the open-source cpu-only implementation of SYCL, available here, and code along on laptop/tablet.

To enable attendees to take part in the "Khronos SYCL for OpenCL" tutorial, Codeplay has produced a virtual machine image of the Ubuntu 14.10 operating system. This includes a pre-installed trial version of Codeplay's pre-release alpha version of its SYCL 1.2 implementation, along with sample code and exercises to demonstrate the concepts of SYCL. This virtual machine will also include the open-source triSYCL project, a work-in-progress SYCL 1.2 implementation.

The virtual machine will be distributed via memory sticks at the event, which attendees can take away afterwards. In order to actively participate at the "Hands on SYCL using Codeplay’s SYCL implementation" tutorial exercises, attendees will need a laptop allowing such media to be accessed, with the following minimum requirements: