For further details on SYCL, see the SYCL Specification.


If you are unfamiliar with C++ templates and lambda functions, consult a C++ language references to gain a basic understanding before continuing.

Header File

A single header file must be included:

#include "CL/sycl.hpp"


Unless otherwise noted, all symbols should be prefixed with the sycl namespace. buffer is sycl::buffer, and info::device::name is sycl::info::device::name.

Common Interface

In this section, we define methods that are common to multiple classes.