Class availability

Class availability#

In SYCL some SYCL runtime classes are available to the SYCL application, some are available within a SYCL kernel function and some are available on both and can be passed as arguments to a SYCL kernel function.

Each of the following SYCL runtime classes must be available to the host application: sycl::buffer, sycl::buffer_allocator, sycl::context, sycl::device, sycl::device_image, sycl::event, exception, sycl::handler, sycl::host_accessor, sycl::host_sampled_image_accessor, sycl::host_unsampled_image_accessor, sycl::id, sycl::image_allocator, sycl::kernel, sycl::kernel_id, marray, kernel_bundle, sycl::nd_range, sycl::platform, sycl::queue, sycl::range, sycl::sampled_image, sycl::image_sampler, sycl::stream, sycl::unsampled_image and vec.

Each of the following SYCL runtime classes must be available within a SYCL kernel function: sycl::accessor, sycl::atomic_ref, sycl::device_event, sycl::group, sycl::h_item, sycl::id, sycl::item, sycl::local_accessor, marray, sycl::multi_ptr, sycl::nd_item, sycl::range, reducer, sycl::sampled_image_accessor, sycl::stream, sycl::sub_group, sycl::unsampled_image_accessor and vec.

See also

SYCL Specification Section 4.4