30 inline namespace _V1 {
34 template <backend Backend>
class backend_traits;
36 template <backend BackendName,
class SyclObjectT>
38 -> backend_return_t<BackendName, SyclObjectT>;
53 !std::is_same_v<Name, auto_name>,
54 "No kernel name provided without -fsycl-unnamed-lambda enabled!");
57 #ifdef __SYCL_UNNAMED_LAMBDA__
86 #ifdef __SYCL_INTERNAL_API
109 #ifdef __SYCL_INTERNAL_API
110 cl_kernel
get()
const;
117 "is_host() is deprecated as the host device is no longer supported.")
118 bool is_host() const;
142 template <typename Param>
143 typename detail::is_kernel_info_desc<Param>::return_type get_info()
const {
150 template <
typename Param>
152 get_backend_info()
const;
159 template <
typename Param>
161 get_info(
const device &Device)
const;
170 template <
typename Param>
172 typename detail::is_kernel_device_specific_info_desc<Param>::return_type
173 get_info(const
device &Device, const
range<3> &WGSize) const;
177 template <typename Param>
178 typename Param::return_type ext_oneapi_get_info(const
queue &q) const;
182 kernel(
std::shared_ptr<detail::kernel_impl> Impl);
186 __SYCL_DEPRECATED("Use getNative() member function")
189 std::shared_ptr<detail::kernel_impl> impl;
192 friend decltype(Obj::impl) detail::
getSyclObjImpl(const Obj &SyclObject);
195 template <
backend BackendName, class SyclObjectT>
196 friend auto
get_native(const SyclObjectT &Obj)
198 template <typename Param>
200 typename detail::is_kernel_info_desc<Param>::return_type>
201 get_info_impl() const;
207 template <>
struct hash<
sycl::kernel> {
209 return hash<std::shared_ptr<sycl::detail::kernel_impl>>()(
The context class represents a SYCL context on which kernel functions may be executed.
This class is the default KernelName template parameter type for kernel invocation APIs such as singl...
The SYCL device class encapsulates a single SYCL device on which kernels may be executed.
The kernel_bundle class represents collection of device images in a particular state.
Provides an abstraction of a SYCL kernel.
bool operator==(const kernel &RHS) const
kernel(kernel &&RHS)=default
kernel(const kernel &RHS)=default
Constructs a SYCL kernel instance from an OpenCL cl_kernel.
kernel & operator=(const kernel &RHS)=default
__SYCL2020_DEPRECATED("is_host() is deprecated as the host device is no longer supported.") bool is_host() const
Get a valid OpenCL kernel handle.
bool operator!=(const kernel &RHS) const
kernel & operator=(kernel &&RHS)=default
Encapsulates a single SYCL queue which schedules kernels on a SYCL device.
Defines the iteration domain of either a single work-group in a parallel dispatch,...
decltype(Obj::impl) getSyclObjImpl(const Obj &SyclObject)
auto convert_from_abi_neutral(ParamT &&Info)
T createSyclObjFromImpl(decltype(T::impl) ImplObj)
typename ABINeutralT< T >::type ABINeutralT_t
kernel_bundle(kernel_bundle< State > &&) -> kernel_bundle< State >
signed char __SYCL2020_DEPRECATED
kernel_bundle< State > get_kernel_bundle(const context &Ctx, const std::vector< device > &Devs)
A kernel bundle in state State which contains all of the kernels in the application which are compati...
auto get_native(const SyclObjectT &Obj) -> backend_return_t< BackendName, SyclObjectT >
typename backend_traits< Backend >::template return_type< SyclType > backend_return_t
uintptr_t pi_native_handle
_Abi const simd< _Tp, _Abi > & noexcept
size_t operator()(const sycl::kernel &Kernel) const
Helper struct to get a kernel name type based on given Name and Type types: if Name is undefined (is ...