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