DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::queue Class Reference

Encapsulates a single SYCL queue which schedules kernels on a SYCL device. More...

#include <sycl/queue.hpp>

Inheritance diagram for sycl::_V1::queue:
Collaboration diagram for sycl::_V1::queue:

Public Member Functions

 queue (const property_list &PropList={})
 Constructs a SYCL queue instance using the device returned by an instance of default_selector. More...
 
 queue (const async_handler &AsyncHandler, const property_list &PropList={})
 Constructs a SYCL queue instance with an async_handler using the device returned by an instance of default_selector. More...
 
template<typename DeviceSelector , typename = detail::EnableIfSYCL2020DeviceSelectorInvocable<DeviceSelector>>
 queue (const DeviceSelector &deviceSelector, const async_handler &AsyncHandler, const property_list &PropList={})
 Constructs a SYCL queue instance using the device identified by the device selector provided. More...
 
template<typename DeviceSelector , typename = detail::EnableIfSYCL2020DeviceSelectorInvocable<DeviceSelector>>
 queue (const DeviceSelector &deviceSelector, const property_list &PropList={})
 Constructs a SYCL queue instance using the device identified by the device selector provided. More...
 
template<typename DeviceSelector , typename = detail::EnableIfSYCL2020DeviceSelectorInvocable<DeviceSelector>>
 queue (const context &syclContext, const DeviceSelector &deviceSelector, const property_list &propList={})
 Constructs a SYCL queue instance using the device identified by the device selector provided. More...
 
template<typename DeviceSelector , typename = detail::EnableIfSYCL2020DeviceSelectorInvocable<DeviceSelector>>
 queue (const context &syclContext, const DeviceSelector &deviceSelector, const async_handler &AsyncHandler, const property_list &propList={})
 Constructs a SYCL queue instance using the device identified by the device selector provided. More...
 
 __SYCL2020_DEPRECATED ("SYCL 1.2.1 device selectors are deprecated. Please " "use SYCL 2020 device selectors instead.") queue(const device_selector &DeviceSelector
 Constructs a SYCL queue instance using the device returned by the DeviceSelector provided. More...
 
 __SYCL2020_DEPRECATED ("SYCL 1.2.1 device selectors are deprecated. Please " "use SYCL 2020 device selectors instead.") queue(const context &SyclContext
 Constructs a SYCL queue instance that is associated with the context provided, using the device returned by the device selector. More...
 
 __SYCL2020_DEPRECATED ("SYCL 1.2.1 device selectors are deprecated. Please " "use SYCL 2020 device selectors instead.") queue(const context &SyclContext
 Constructs a SYCL queue instance with an async_handler that is associated with the context provided, using the device returned by the device selector. More...
 
 queue (const context &SyclContext, const device &SyclDevice, const property_list &PropList={})
 Constructs a SYCL queue associated with the given context, device and optional properties list. More...
 
 queue (const context &SyclContext, const device &SyclDevice, const async_handler &AsyncHandler, const property_list &PropList={})
 Constructs a SYCL queue associated with the given context, device, asynchronous exception handler and optional properties list. More...
 
 queue (const queue &RHS)=default
 Constructs a SYCL queue with an optional async_handler from an OpenCL cl_command_queue. More...
 
 queue (queue &&RHS)=default
 
queueoperator= (const queue &RHS)=default
 
queueoperator= (queue &&RHS)=default
 
bool operator== (const queue &RHS) const
 
bool operator!= (const queue &RHS) const
 
context get_context () const
 
device get_device () const
 
ext::oneapi::experimental::queue_state ext_oneapi_get_state () const
 
ext::oneapi::experimental::command_graph< ext::oneapi::experimental::graph_state::modifiableext_oneapi_get_graph () const
 
template<typename Param >
detail::is_queue_info_desc< Param >::return_type get_info () const
 Queries SYCL queue for information. More...
 
template<typename Param >
detail::is_backend_info_desc< Param >::return_type get_backend_info () const
 Queries SYCL queue for SYCL backend-specific information. More...
 
template<typename T >
std::enable_if_t< std::is_invocable_r_v< void, T, handler & >, eventsubmit (T CGF, const detail::code_location &CodeLoc=detail::code_location::current())
 Submits a command group function object to the queue, in order to be scheduled for execution on the device. More...
 
template<typename T >
std::enable_if_t< std::is_invocable_r_v< void, T, handler & >, eventsubmit (T CGF, queue &SecondaryQueue, const detail::code_location &CodeLoc=detail::code_location::current())
 Submits a command group function object to the queue, in order to be scheduled for execution on the device. More...
 
event ext_oneapi_submit_barrier (const detail::code_location &CodeLoc=detail::code_location::current())
 Prevents any commands submitted afterward to this queue from executing until all commands previously submitted to this queue have entered the complete state. More...
 
event ext_oneapi_submit_barrier (const std::vector< event > &WaitList, const detail::code_location &CodeLoc=detail::code_location::current())
 Prevents any commands submitted afterward to this queue from executing until all events in WaitList have entered the complete state. More...
 
void wait (const detail::code_location &CodeLoc=detail::code_location::current())
 Performs a blocking wait for the completion of all enqueued tasks in the queue. More...
 
void wait_and_throw (const detail::code_location &CodeLoc=detail::code_location::current())
 Performs a blocking wait for the completion of all enqueued tasks in the queue. More...
 
void wait_proxy (const detail::code_location &CodeLoc)
 Proxy method for wait to forward the code location information to the implementation. More...
 
void wait_and_throw_proxy (const detail::code_location &CodeLoc)
 Proxy method for wait_and_throw to forward the code location information to the implementation. More...
 
void throw_asynchronous ()
 Checks if any asynchronous errors have been produced by the queue and if so reports them to the async_handler passed on the queue construction. More...
 
template<typename PropertyT >
bool has_property () const noexcept
 
template<typename PropertyT >
PropertyT get_property () const
 
template<typename T >
event fill (void *Ptr, const T &Pattern, size_t Count, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the specified memory with the specified pattern. More...
 
template<typename T >
event fill (void *Ptr, const T &Pattern, size_t Count, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the specified memory with the specified pattern. More...
 
template<typename T >
event fill (void *Ptr, const T &Pattern, size_t Count, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the specified memory with the specified pattern. More...
 
event memset (void *Ptr, int Value, size_t Count, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the memory pointed by a USM pointer with the value specified. More...
 
event memset (void *Ptr, int Value, size_t Count, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the memory pointed by a USM pointer with the value specified. More...
 
event memset (void *Ptr, int Value, size_t Count, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the memory pointed by a USM pointer with the value specified. More...
 
event memcpy (void *Dest, const void *Src, size_t Count, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, each is either a host pointer or a pointer within USM allocation accessible on the device associated with this queue. More...
 
event memcpy (void *Dest, const void *Src, size_t Count, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, each is either a host pointer or a pointer within USM allocation accessible on the device associated with this queue. More...
 
event memcpy (void *Dest, const void *Src, size_t Count, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, each is either a host pointer or a pointer within USM allocation accessible on the device associated with this queue. More...
 
template<typename T >
event copy (const T *Src, T *Dest, size_t Count, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, each is either a host pointer or a pointer within USM allocation accessible on the device associated with this queue. More...
 
template<typename T >
event copy (const T *Src, T *Dest, size_t Count, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, each is either a host pointer or a pointer within USM allocation accessible on the device associated with this queue. More...
 
template<typename T >
event copy (const T *Src, T *Dest, size_t Count, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, each is either a host pointer or a pointer within USM allocation accessible on the device associated with this queue. More...
 
event mem_advise (const void *Ptr, size_t Length, int Advice, const detail::code_location &CodeLoc=detail::code_location::current())
 Provides additional information to the underlying runtime about how different allocations are used. More...
 
event mem_advise (const void *Ptr, size_t Length, int Advice, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Provides additional information to the underlying runtime about how different allocations are used. More...
 
event mem_advise (const void *Ptr, size_t Length, int Advice, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Provides additional information to the underlying runtime about how different allocations are used. More...
 
event prefetch (const void *Ptr, size_t Count, const detail::code_location &CodeLoc=detail::code_location::current())
 Provides hints to the runtime library that data should be made available on a device earlier than Unified Shared Memory would normally require it to be available. More...
 
event prefetch (const void *Ptr, size_t Count, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Provides hints to the runtime library that data should be made available on a device earlier than Unified Shared Memory would normally require it to be available. More...
 
event prefetch (const void *Ptr, size_t Count, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Provides hints to the runtime library that data should be made available on a device earlier than Unified Shared Memory would normally require it to be available. More...
 
template<typename T = unsigned char, typename = std::enable_if_t<std::is_same_v<T, unsigned char>>>
event ext_oneapi_memcpy2d (void *Dest, size_t DestPitch, const void *Src, size_t SrcPitch, size_t Width, size_t Height, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one 2D memory region to another, both pointed by USM pointers. More...
 
template<typename T = unsigned char, typename = std::enable_if_t<std::is_same_v<T, unsigned char>>>
event ext_oneapi_memcpy2d (void *Dest, size_t DestPitch, const void *Src, size_t SrcPitch, size_t Width, size_t Height, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one 2D memory region to another, both pointed by USM pointers. More...
 
template<typename T = unsigned char, typename = std::enable_if_t<std::is_same_v<T, unsigned char>>>
event ext_oneapi_memcpy2d (void *Dest, size_t DestPitch, const void *Src, size_t SrcPitch, size_t Width, size_t Height, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one 2D memory region to another, both pointed by USM pointers. More...
 
template<typename T >
event ext_oneapi_copy2d (const T *Src, size_t SrcPitch, T *Dest, size_t DestPitch, size_t Width, size_t Height, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one 2D memory region to another, both pointed by USM pointers. More...
 
template<typename T >
event ext_oneapi_copy2d (const T *Src, size_t SrcPitch, T *Dest, size_t DestPitch, size_t Width, size_t Height, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one 2D memory region to another, both pointed by USM pointers. More...
 
template<typename T >
event ext_oneapi_copy2d (const T *Src, size_t SrcPitch, T *Dest, size_t DestPitch, size_t Width, size_t Height, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one 2D memory region to another, both pointed by USM pointers. More...
 
template<typename T = unsigned char, typename = std::enable_if_t<std::is_same_v<T, unsigned char>>>
event ext_oneapi_memset2d (void *Dest, size_t DestPitch, int Value, size_t Width, size_t Height, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the memory pointed by a USM pointer with the value specified. More...
 
template<typename T = unsigned char, typename = std::enable_if_t<std::is_same_v<T, unsigned char>>>
event ext_oneapi_memset2d (void *Dest, size_t DestPitch, int Value, size_t Width, size_t Height, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the memory pointed by a USM pointer with the value specified. More...
 
template<typename T = unsigned char, typename = std::enable_if_t<std::is_same_v<T, unsigned char>>>
event ext_oneapi_memset2d (void *Dest, size_t DestPitch, int Value, size_t Width, size_t Height, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the memory pointed by a USM pointer with the value specified. More...
 
template<typename T >
event ext_oneapi_fill2d (void *Dest, size_t DestPitch, const T &Pattern, size_t Width, size_t Height, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the memory pointed by a USM pointer with the value specified. More...
 
template<typename T >
event ext_oneapi_fill2d (void *Dest, size_t DestPitch, const T &Pattern, size_t Width, size_t Height, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the memory pointed by a USM pointer with the value specified. More...
 
template<typename T >
event ext_oneapi_fill2d (void *Dest, size_t DestPitch, const T &Pattern, size_t Width, size_t Height, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the memory pointed by a USM pointer with the value specified. More...
 
template<typename T , typename PropertyListT >
event memcpy (ext::oneapi::experimental::device_global< T, PropertyListT > &Dest, const void *Src, size_t NumBytes, size_t Offset, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from a USM memory region to a device_global. More...
 
template<typename T , typename PropertyListT >
event memcpy (ext::oneapi::experimental::device_global< T, PropertyListT > &Dest, const void *Src, size_t NumBytes, size_t Offset, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from a USM memory region to a device_global. More...
 
template<typename T , typename PropertyListT >
event memcpy (ext::oneapi::experimental::device_global< T, PropertyListT > &Dest, const void *Src, size_t NumBytes=sizeof(T), size_t Offset=0, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from a USM memory region to a device_global. More...
 
template<typename T , typename PropertyListT >
event memcpy (void *Dest, const ext::oneapi::experimental::device_global< T, PropertyListT > &Src, size_t NumBytes, size_t Offset, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from a device_global to USM memory. More...
 
template<typename T , typename PropertyListT >
event memcpy (void *Dest, const ext::oneapi::experimental::device_global< T, PropertyListT > &Src, size_t NumBytes, size_t Offset, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from a device_global to USM memory. More...
 
template<typename T , typename PropertyListT >
event memcpy (void *Dest, const ext::oneapi::experimental::device_global< T, PropertyListT > &Src, size_t NumBytes=sizeof(T), size_t Offset=0, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from a device_global to USM memory. More...
 
template<typename T , typename PropertyListT >
event copy (const std::remove_all_extents_t< T > *Src, ext::oneapi::experimental::device_global< T, PropertyListT > &Dest, size_t Count, size_t StartIndex, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies elements of type std::remove_all_extents_t<T> from a USM memory region to a device_global. More...
 
template<typename T , typename PropertyListT >
event copy (const std::remove_all_extents_t< T > *Src, ext::oneapi::experimental::device_global< T, PropertyListT > &Dest, size_t Count, size_t StartIndex, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies elements of type std::remove_all_extents_t<T> from a USM memory region to a device_global. More...
 
template<typename T , typename PropertyListT >
event copy (const std::remove_all_extents_t< T > *Src, ext::oneapi::experimental::device_global< T, PropertyListT > &Dest, size_t Count=sizeof(T)/sizeof(std::remove_all_extents_t< T >), size_t StartIndex=0, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies elements of type std::remove_all_extents_t<T> from a USM memory region to a device_global. More...
 
template<typename T , typename PropertyListT >
event copy (const ext::oneapi::experimental::device_global< T, PropertyListT > &Src, std::remove_all_extents_t< T > *Dest, size_t Count, size_t StartIndex, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies elements of type std::remove_all_extents_t<T> from a device_global to a USM memory region. More...
 
template<typename T , typename PropertyListT >
event copy (const ext::oneapi::experimental::device_global< T, PropertyListT > &Src, std::remove_all_extents_t< T > *Dest, size_t Count, size_t StartIndex, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies elements of type std::remove_all_extents_t<T> from a device_global to a USM memory region. More...
 
template<typename T , typename PropertyListT >
event copy (const ext::oneapi::experimental::device_global< T, PropertyListT > &Src, std::remove_all_extents_t< T > *Dest, size_t Count=sizeof(T)/sizeof(std::remove_all_extents_t< T >), size_t StartIndex=0, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies elements of type std::remove_all_extents_t<T> from a device_global to a USM memory region. More...
 
event ext_oneapi_copy (const void *Src, ext::oneapi::experimental::image_mem_handle Dest, const ext::oneapi::experimental::image_descriptor &DestImgDesc, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src is a USM pointer and Dest is an opaque image memory handle wrapper. More...
 
event ext_oneapi_copy (const void *Src, sycl::range< 3 > SrcOffset, sycl::range< 3 > SrcExtent, ext::oneapi::experimental::image_mem_handle Dest, sycl::range< 3 > DestOffset, const ext::oneapi::experimental::image_descriptor &DestImgDesc, sycl::range< 3 > CopyExtent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src is a USM pointer and Dest is an opaque image memory handle. More...
 
event ext_oneapi_copy (const void *Src, ext::oneapi::experimental::image_mem_handle Dest, const ext::oneapi::experimental::image_descriptor &DestImgDesc, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src is a USM pointer and Dest is an opaque image memory handle wrapper. More...
 
event ext_oneapi_copy (const void *Src, sycl::range< 3 > SrcOffset, sycl::range< 3 > SrcExtent, ext::oneapi::experimental::image_mem_handle Dest, sycl::range< 3 > DestOffset, const ext::oneapi::experimental::image_descriptor &DestImgDesc, sycl::range< 3 > CopyExtent, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src is a USM pointer and Dest is an opaque image memory handle. More...
 
event ext_oneapi_copy (const void *Src, ext::oneapi::experimental::image_mem_handle Dest, const ext::oneapi::experimental::image_descriptor &DestImgDesc, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src is a USM pointer and Dest is an opaque image memory handle wrapper. More...
 
event ext_oneapi_copy (const void *Src, sycl::range< 3 > SrcOffset, sycl::range< 3 > SrcExtent, ext::oneapi::experimental::image_mem_handle Dest, sycl::range< 3 > DestOffset, const ext::oneapi::experimental::image_descriptor &DestImgDesc, sycl::range< 3 > CopyExtent, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src is a USM pointer and Dest is an opaque image memory handle. More...
 
event ext_oneapi_copy (const ext::oneapi::experimental::image_mem_handle Src, void *Dest, const ext::oneapi::experimental::image_descriptor &SrcImgDesc, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src is an opaque image memory handle and Dest is a USM pointer. More...
 
event ext_oneapi_copy (const ext::oneapi::experimental::image_mem_handle Src, sycl::range< 3 > SrcOffset, const ext::oneapi::experimental::image_descriptor &SrcImgDesc, void *Dest, sycl::range< 3 > DestOffset, sycl::range< 3 > DestExtent, sycl::range< 3 > CopyExtent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src is an opaque image memory handle and Dest is a USM pointer. More...
 
event ext_oneapi_copy (const ext::oneapi::experimental::image_mem_handle Src, void *Dest, const ext::oneapi::experimental::image_descriptor &SrcImgDesc, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src is an opaque image memory handle and Dest is a USM pointer. More...
 
event ext_oneapi_copy (const ext::oneapi::experimental::image_mem_handle Src, sycl::range< 3 > SrcOffset, const ext::oneapi::experimental::image_descriptor &SrcImgDesc, void *Dest, sycl::range< 3 > DestOffset, sycl::range< 3 > DestExtent, sycl::range< 3 > CopyExtent, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src is an opaque image memory handle and Dest is a USM pointer. More...
 
event ext_oneapi_copy (const ext::oneapi::experimental::image_mem_handle Src, void *Dest, const ext::oneapi::experimental::image_descriptor &SrcImgDesc, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src is an opaque image memory handle and Dest is a USM pointer. More...
 
event ext_oneapi_copy (const ext::oneapi::experimental::image_mem_handle Src, sycl::range< 3 > SrcOffset, const ext::oneapi::experimental::image_descriptor &SrcImgDesc, void *Dest, sycl::range< 3 > DestOffset, sycl::range< 3 > DestExtent, sycl::range< 3 > CopyExtent, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src is an opaque image memory handle and Dest is a USM pointer. More...
 
event ext_oneapi_copy (const void *Src, void *Dest, const ext::oneapi::experimental::image_descriptor &DeviceImgDesc, size_t DeviceRowPitch, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src and Dest are USM pointers. More...
 
event ext_oneapi_copy (const void *Src, sycl::range< 3 > SrcOffset, void *Dest, sycl::range< 3 > DestOffset, const ext::oneapi::experimental::image_descriptor &DeviceImgDesc, size_t DeviceRowPitch, sycl::range< 3 > HostExtent, sycl::range< 3 > CopyExtent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src and Dest are USM pointers. More...
 
event ext_oneapi_copy (const void *Src, void *Dest, const ext::oneapi::experimental::image_descriptor &DeviceImgDesc, size_t DeviceRowPitch, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src and Dest are USM pointers. More...
 
event ext_oneapi_copy (const ext::oneapi::experimental::image_mem_handle Src, ext::oneapi::experimental::image_mem_handle Dest, const ext::oneapi::experimental::image_descriptor &ImageDesc, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from device to device memory, where Src and Dest are opaque image memory handles. More...
 
event ext_oneapi_copy (const ext::oneapi::experimental::image_mem_handle Src, ext::oneapi::experimental::image_mem_handle Dest, const ext::oneapi::experimental::image_descriptor &ImageDesc, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from device to device memory, where Src and Dest are opaque image memory handles. More...
 
event ext_oneapi_copy (const ext::oneapi::experimental::image_mem_handle Src, ext::oneapi::experimental::image_mem_handle Dest, const ext::oneapi::experimental::image_descriptor &ImageDesc, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from device to device memory, where Src and Dest are opaque image memory handles. More...
 
event ext_oneapi_copy (const void *Src, sycl::range< 3 > SrcOffset, void *Dest, sycl::range< 3 > DestOffset, const ext::oneapi::experimental::image_descriptor &DeviceImgDesc, size_t DeviceRowPitch, sycl::range< 3 > HostExtent, sycl::range< 3 > CopyExtent, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src and Dest are USM pointers. More...
 
event ext_oneapi_copy (const void *Src, void *Dest, const ext::oneapi::experimental::image_descriptor &DeviceImgDesc, size_t DeviceRowPitch, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src and Dest are USM pointers. More...
 
event ext_oneapi_copy (const void *Src, sycl::range< 3 > SrcOffset, void *Dest, sycl::range< 3 > DestOffset, const ext::oneapi::experimental::image_descriptor &DeviceImgDesc, size_t DeviceRowPitch, sycl::range< 3 > HostExtent, sycl::range< 3 > CopyExtent, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, where Src and Dest are USM pointers. More...
 
event ext_oneapi_wait_external_semaphore (sycl::ext::oneapi::experimental::interop_semaphore_handle SemaphoreHandle, const detail::code_location &CodeLoc=detail::code_location::current())
 Instruct the queue with a non-blocking wait on an external semaphore. More...
 
event ext_oneapi_wait_external_semaphore (sycl::ext::oneapi::experimental::interop_semaphore_handle SemaphoreHandle, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Instruct the queue with a non-blocking wait on an external semaphore. More...
 
event ext_oneapi_wait_external_semaphore (sycl::ext::oneapi::experimental::interop_semaphore_handle SemaphoreHandle, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Instruct the queue with a non-blocking wait on an external semaphore. More...
 
event ext_oneapi_wait_external_semaphore (sycl::ext::oneapi::experimental::interop_semaphore_handle SemaphoreHandle, uint64_t WaitValue, const detail::code_location &CodeLoc=detail::code_location::current())
 Instruct the queue with a non-blocking wait on an external semaphore. More...
 
event ext_oneapi_wait_external_semaphore (sycl::ext::oneapi::experimental::interop_semaphore_handle SemaphoreHandle, uint64_t WaitValue, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Instruct the queue with a non-blocking wait on an external semaphore. More...
 
event ext_oneapi_wait_external_semaphore (sycl::ext::oneapi::experimental::interop_semaphore_handle SemaphoreHandle, uint64_t WaitValue, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Instruct the queue with a non-blocking wait on an external semaphore. More...
 
event ext_oneapi_signal_external_semaphore (sycl::ext::oneapi::experimental::interop_semaphore_handle SemaphoreHandle, const detail::code_location &CodeLoc=detail::code_location::current())
 Instruct the queue to signal the external semaphore once all previous commands have completed execution. More...
 
event ext_oneapi_signal_external_semaphore (sycl::ext::oneapi::experimental::interop_semaphore_handle SemaphoreHandle, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Instruct the queue to signal the external semaphore once all previous commands have completed execution. More...
 
event ext_oneapi_signal_external_semaphore (sycl::ext::oneapi::experimental::interop_semaphore_handle SemaphoreHandle, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Instruct the queue to signal the external semaphore once all previous commands have completed execution. More...
 
event ext_oneapi_signal_external_semaphore (sycl::ext::oneapi::experimental::interop_semaphore_handle SemaphoreHandle, uint64_t SignalValue, const detail::code_location &CodeLoc=detail::code_location::current())
 Instruct the queue to signal the external semaphore once all previous commands have completed execution. More...
 
event ext_oneapi_signal_external_semaphore (sycl::ext::oneapi::experimental::interop_semaphore_handle SemaphoreHandle, uint64_t SignalValue, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Instruct the queue to signal the external semaphore once all previous commands have completed execution. More...
 
event ext_oneapi_signal_external_semaphore (sycl::ext::oneapi::experimental::interop_semaphore_handle SemaphoreHandle, uint64_t SignalValue, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Instruct the queue to signal the external semaphore once all previous commands have completed execution. More...
 
template<typename KernelName = detail::auto_name, typename KernelType , typename PropertiesT >
std::enable_if_t< ext::oneapi::experimental::is_property_list< PropertiesT >::value, eventsingle_task (PropertiesT Properties, _KERNELFUNCPARAM(KernelFunc), const detail::code_location &CodeLoc=detail::code_location::current())
 single_task version with a kernel represented as a lambda. More...
 
template<typename KernelName = detail::auto_name, typename KernelType >
event single_task (_KERNELFUNCPARAM(KernelFunc), const detail::code_location &CodeLoc=detail::code_location::current())
 single_task version with a kernel represented as a lambda. More...
 
template<typename KernelName = detail::auto_name, typename KernelType , typename PropertiesT >
std::enable_if_t< ext::oneapi::experimental::is_property_list< PropertiesT >::value, eventsingle_task (event DepEvent, PropertiesT Properties, _KERNELFUNCPARAM(KernelFunc), const detail::code_location &CodeLoc=detail::code_location::current())
 single_task version with a kernel represented as a lambda. More...
 
template<typename KernelName = detail::auto_name, typename KernelType >
event single_task (event DepEvent, _KERNELFUNCPARAM(KernelFunc), const detail::code_location &CodeLoc=detail::code_location::current())
 single_task version with a kernel represented as a lambda. More...
 
template<typename KernelName = detail::auto_name, typename KernelType , typename PropertiesT >
std::enable_if_t< ext::oneapi::experimental::is_property_list< PropertiesT >::value, eventsingle_task (const std::vector< event > &DepEvents, PropertiesT Properties, _KERNELFUNCPARAM(KernelFunc), const detail::code_location &CodeLoc=detail::code_location::current())
 single_task version with a kernel represented as a lambda. More...
 
template<typename KernelName = detail::auto_name, typename KernelType >
event single_task (const std::vector< event > &DepEvents, _KERNELFUNCPARAM(KernelFunc), const detail::code_location &CodeLoc=detail::code_location::current())
 single_task version with a kernel represented as a lambda. More...
 
template<typename KernelName = detail::auto_name, typename... RestT>
event parallel_for (range< 1 > Range, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + range that specifies global size only. More...
 
template<typename KernelName = detail::auto_name, typename... RestT>
event parallel_for (range< 2 > Range, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + range that specifies global size only. More...
 
template<typename KernelName = detail::auto_name, typename... RestT>
event parallel_for (range< 3 > Range, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + range that specifies global size only. More...
 
template<typename KernelName = detail::auto_name, typename... RestT>
event parallel_for (range< 1 > Range, event DepEvent, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + range that specifies global size only. More...
 
template<typename KernelName = detail::auto_name, typename... RestT>
event parallel_for (range< 2 > Range, event DepEvent, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + range that specifies global size only. More...
 
template<typename KernelName = detail::auto_name, typename... RestT>
event parallel_for (range< 3 > Range, event DepEvent, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + range that specifies global size only. More...
 
template<typename KernelName = detail::auto_name, typename... RestT>
event parallel_for (range< 1 > Range, const std::vector< event > &DepEvents, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + range that specifies global size only. More...
 
template<typename KernelName = detail::auto_name, typename... RestT>
event parallel_for (range< 2 > Range, const std::vector< event > &DepEvents, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + range that specifies global size only. More...
 
template<typename KernelName = detail::auto_name, typename... RestT>
event parallel_for (range< 3 > Range, const std::vector< event > &DepEvents, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + range that specifies global size only. More...
 
template<typename KernelName = detail::auto_name, typename KernelType , int Dim>
event parallel_for (range< Dim > Range, id< Dim > WorkItemOffset, const std::vector< event > &DepEvents, _KERNELFUNCPARAM(KernelFunc))
 parallel_for version with a kernel represented as a lambda + range and offset that specify global size and global offset correspondingly. More...
 
template<typename KernelName = detail::auto_name, typename KernelType , int Dims>
event parallel_for_impl (range< Dims > Range, id< Dims > WorkItemOffset, _KERNELFUNCPARAM(KernelFunc))
 parallel_for version with a kernel represented as a lambda + range and offset that specify global size and global offset correspondingly. More...
 
template<typename KernelName = detail::auto_name, typename KernelType , int Dims>
event parallel_for_impl (range< Dims > Range, id< Dims > WorkItemOffset, event DepEvent, _KERNELFUNCPARAM(KernelFunc))
 parallel_for version with a kernel represented as a lambda + range and offset that specify global size and global offset correspondingly. More...
 
template<typename KernelName = detail::auto_name, typename KernelType , int Dims>
event parallel_for_impl (range< Dims > Range, id< Dims > WorkItemOffset, const std::vector< event > &DepEvents, _KERNELFUNCPARAM(KernelFunc))
 parallel_for version with a kernel represented as a lambda + range and offset that specify global size and global offset correspondingly. More...
 
template<typename KernelName = detail::auto_name, int Dims, typename PropertiesT , typename... RestT>
std::enable_if_t< detail::AreAllButLastReductions< RestT... >::value &&ext::oneapi::experimental::is_property_list< PropertiesT >::value, eventparallel_for (nd_range< Dims > Range, PropertiesT Properties, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + nd_range that specifies global, local sizes and offset. More...
 
template<typename KernelName = detail::auto_name, int Dims, typename... RestT>
std::enable_if_t< detail::AreAllButLastReductions< RestT... >::value, eventparallel_for (nd_range< Dims > Range, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + nd_range that specifies global, local sizes and offset. More...
 
template<typename KernelName = detail::auto_name, int Dims, typename... RestT>
event parallel_for (nd_range< Dims > Range, event DepEvent, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + nd_range that specifies global, local sizes and offset. More...
 
template<typename KernelName = detail::auto_name, int Dims, typename... RestT>
event parallel_for (nd_range< Dims > Range, const std::vector< event > &DepEvents, RestT &&...Rest)
 parallel_for version with a kernel represented as a lambda + nd_range that specifies global, local sizes and offset. More...
 
template<typename SrcT , int SrcDims, access_mode SrcMode, target SrcTgt, access::placeholder IsPlaceholder, typename DestT >
event copy (accessor< SrcT, SrcDims, SrcMode, SrcTgt, IsPlaceholder > Src, std::shared_ptr< DestT > Dest, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from a memory region pointed to by a placeholder accessor to another memory region pointed to by a shared_ptr. More...
 
template<typename SrcT , typename DestT , int DestDims, access_mode DestMode, target DestTgt, access::placeholder IsPlaceholder>
event copy (std::shared_ptr< SrcT > Src, accessor< DestT, DestDims, DestMode, DestTgt, IsPlaceholder > Dest, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from a memory region pointed to by a shared_ptr to another memory region pointed to by a placeholder accessor. More...
 
template<typename SrcT , int SrcDims, access_mode SrcMode, target SrcTgt, access::placeholder IsPlaceholder, typename DestT >
event copy (accessor< SrcT, SrcDims, SrcMode, SrcTgt, IsPlaceholder > Src, DestT *Dest, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from a memory region pointed to by a placeholder accessor to another memory region pointed to by a raw pointer. More...
 
template<typename SrcT , typename DestT , int DestDims, access_mode DestMode, target DestTgt, access::placeholder IsPlaceholder>
event copy (const SrcT *Src, accessor< DestT, DestDims, DestMode, DestTgt, IsPlaceholder > Dest, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from a memory region pointed to by a raw pointer to another memory region pointed to by a placeholder accessor. More...
 
template<typename SrcT , int SrcDims, access_mode SrcMode, target SrcTgt, access::placeholder IsSrcPlaceholder, typename DestT , int DestDims, access_mode DestMode, target DestTgt, access::placeholder IsDestPlaceholder>
event copy (accessor< SrcT, SrcDims, SrcMode, SrcTgt, IsSrcPlaceholder > Src, accessor< DestT, DestDims, DestMode, DestTgt, IsDestPlaceholder > Dest, const detail::code_location &CodeLoc=detail::code_location::current())
 Copies data from one memory region to another, both pointed by placeholder accessors. More...
 
template<typename T , int Dims, access_mode Mode, target Tgt, access::placeholder IsPlaceholder>
event update_host (accessor< T, Dims, Mode, Tgt, IsPlaceholder > Acc, const detail::code_location &CodeLoc=detail::code_location::current())
 Provides guarantees that the memory object accessed via Acc is updated on the host after operation is complete. More...
 
template<typename T , int Dims, access_mode Mode, target Tgt, access::placeholder IsPlaceholder>
event fill (accessor< T, Dims, Mode, Tgt, IsPlaceholder > Dest, const T &Src, const detail::code_location &CodeLoc=detail::code_location::current())
 Fills the specified memory with the specified data. More...
 
bool ext_codeplay_supports_fusion () const
 Returns true if the queue was created with the ext::codeplay::experimental::property::queue::enable_fusion property. More...
 
event ext_oneapi_graph (ext::oneapi::experimental::command_graph< ext::oneapi::experimental::graph_state::executable > Graph, const detail::code_location &CodeLoc=detail::code_location::current())
 Shortcut for executing a graph of commands. More...
 
event ext_oneapi_graph (ext::oneapi::experimental::command_graph< ext::oneapi::experimental::graph_state::executable > Graph, event DepEvent, const detail::code_location &CodeLoc=detail::code_location::current())
 Shortcut for executing a graph of commands with a single dependency. More...
 
event ext_oneapi_graph (ext::oneapi::experimental::command_graph< ext::oneapi::experimental::graph_state::executable > Graph, const std::vector< event > &DepEvents, const detail::code_location &CodeLoc=detail::code_location::current())
 Shortcut for executing a graph of commands with multiple dependencies. More...
 
void ext_oneapi_prod ()
 Provides a hint to the runtime that previously issued commands to this queue should begin executing once their prerequisites have been satisfied. More...
 
bool is_in_order () const
 Returns whether the queue is in order or OoO. More...
 
backend get_backend () const noexcept
 Returns the backend associated with this queue. More...
 
bool ext_oneapi_empty () const
 Allows to check status of the queue (completed vs noncompleted). More...
 
ur_native_handle_t getNative (int32_t &NativeHandleDesc) const
 
event ext_oneapi_get_last_event () const
 
void ext_oneapi_set_external_event (const event &external_event)
 
- Public Member Functions inherited from sycl::_V1::detail::OwnerLessBase< queue >
bool ext_oneapi_owner_before (const ext::oneapi::detail::weak_object_base< queue > &Other) const noexcept
 Compares the object against a weak object using an owner-based implementation-defined ordering. More...
 
bool ext_oneapi_owner_before (const queue &Other) const noexcept
 Compares the object against another object using an owner-based implementation-defined ordering. More...
 

Public Attributes

const property_listPropList
 
const device_selectorDeviceSelector
 
const device_selector const property_listPropList = {})
 
const device_selector const async_handlerAsyncHandler
 
const device_selector const async_handler const property_listPropList = {})
 

Friends

template<class T >
detail::createSyclObjFromImpl (decltype(T::impl) ImplObj)
 
template<backend BackendName, class SyclObjectT >
auto get_native (const SyclObjectT &Obj) -> backend_return_t< BackendName, SyclObjectT >
 
template<typename CommandGroupFunc >
void ext::oneapi::experimental::detail::submit_impl (queue &Q, CommandGroupFunc &&CGF, const sycl::detail::code_location &CodeLoc)
 

Detailed Description

Encapsulates a single SYCL queue which schedules kernels on a SYCL device.

A SYCL queue can be used to submit command groups to be executed by the SYCL runtime.

See also
device
handler
event
kernel

Definition at line 110 of file queue.hpp.

Constructor & Destructor Documentation

◆ queue() [1/10]

sycl::_V1::queue::queue ( const property_list PropList = {})
inlineexplicit

Constructs a SYCL queue instance using the device returned by an instance of default_selector.

Parameters
PropListis a list of properties for queue construction.

Definition at line 116 of file queue.hpp.

◆ queue() [2/10]

sycl::_V1::queue::queue ( const async_handler AsyncHandler,
const property_list PropList = {} 
)
inline

Constructs a SYCL queue instance with an async_handler using the device returned by an instance of default_selector.

Parameters
AsyncHandleris a SYCL asynchronous exception handler.
PropListis a list of properties for queue construction.

Definition at line 124 of file queue.hpp.

◆ queue() [3/10]

template<typename DeviceSelector , typename = detail::EnableIfSYCL2020DeviceSelectorInvocable<DeviceSelector>>
sycl::_V1::queue::queue ( const DeviceSelector deviceSelector,
const async_handler AsyncHandler,
const property_list PropList = {} 
)
inlineexplicit

Constructs a SYCL queue instance using the device identified by the device selector provided.

Parameters
DeviceSelectoris SYCL 2020 Device Selector, a simple callable that takes a device and returns an int
AsyncHandleris a SYCL asynchronous exception handler.
PropListis a list of properties for queue construction.

Definition at line 136 of file queue.hpp.

◆ queue() [4/10]

template<typename DeviceSelector , typename = detail::EnableIfSYCL2020DeviceSelectorInvocable<DeviceSelector>>
sycl::_V1::queue::queue ( const DeviceSelector deviceSelector,
const property_list PropList = {} 
)
inlineexplicit

Constructs a SYCL queue instance using the device identified by the device selector provided.

Parameters
DeviceSelectoris SYCL 2020 Device Selector, a simple callable that takes a device and returns an int
PropListis a list of properties for queue construction.

Definition at line 149 of file queue.hpp.

◆ queue() [5/10]

template<typename DeviceSelector , typename = detail::EnableIfSYCL2020DeviceSelectorInvocable<DeviceSelector>>
sycl::_V1::queue::queue ( const context syclContext,
const DeviceSelector deviceSelector,
const property_list propList = {} 
)
inlineexplicit

Constructs a SYCL queue instance using the device identified by the device selector provided.

Parameters
SyclContextis an instance of SYCL context.
DeviceSelectoris SYCL 2020 Device Selector, a simple callable that takes a device and returns an int
PropListis a list of properties for queue construction.

Definition at line 163 of file queue.hpp.

◆ queue() [6/10]

template<typename DeviceSelector , typename = detail::EnableIfSYCL2020DeviceSelectorInvocable<DeviceSelector>>
sycl::_V1::queue::queue ( const context syclContext,
const DeviceSelector deviceSelector,
const async_handler AsyncHandler,
const property_list propList = {} 
)
inlineexplicit

Constructs a SYCL queue instance using the device identified by the device selector provided.

Parameters
SyclContextis an instance of SYCL context.
DeviceSelectoris SYCL 2020 Device Selector, a simple callable that takes a device and returns an int
AsyncHandleris a SYCL asynchronous exception handler.
PropListis a list of properties for queue construction.

Definition at line 179 of file queue.hpp.

◆ queue() [7/10]

sycl::_V1::queue::queue ( const context SyclContext,
const device SyclDevice,
const property_list PropList = {} 
)

Constructs a SYCL queue associated with the given context, device and optional properties list.

Parameters
SyclContextis an instance of SYCL context.
SyclDeviceis an instance of SYCL device.
PropListis a list of properties for queue construction.

Definition at line 58 of file queue.cpp.

◆ queue() [8/10]

sycl::_V1::queue::queue ( const context SyclContext,
const device SyclDevice,
const async_handler AsyncHandler,
const property_list PropList = {} 
)

Constructs a SYCL queue associated with the given context, device, asynchronous exception handler and optional properties list.

Parameters
SyclContextis an instance of SYCL context.
SyclDeviceis an instance of SYCL device.
AsyncHandleris a SYCL asynchronous exception handler.
PropListis a list of properties for queue construction.

Definition at line 39 of file queue.cpp.

References AsyncHandler, sycl::_V1::detail::getSyclObjImpl(), and PropList.

◆ queue() [9/10]

sycl::_V1::queue::queue ( const queue RHS)
default

Constructs a SYCL queue with an optional async_handler from an OpenCL cl_command_queue.

The instance of cl_command_queue is retained on construction.

Parameters
ClQueueis a valid instance of OpenCL queue.
SyclContextis a valid SYCL context.
AsyncHandleris a SYCL asynchronous exception handler.

◆ queue() [10/10]

sycl::_V1::queue::queue ( queue &&  RHS)
default

Member Function Documentation

◆ __SYCL2020_DEPRECATED() [1/3]

sycl::_V1::queue::__SYCL2020_DEPRECATED ( "SYCL 1.2.1 device selectors are deprecated. Please " "use SYCL 2020 device selectors instead."  ) const &

Constructs a SYCL queue instance that is associated with the context provided, using the device returned by the device selector.

Parameters
SyclContextis an instance of SYCL context.
DeviceSelectoris an instance of SYCL device selector.
PropListis a list of properties for queue construction.

◆ __SYCL2020_DEPRECATED() [2/3]

sycl::_V1::queue::__SYCL2020_DEPRECATED ( "SYCL 1.2.1 device selectors are deprecated. Please " "use SYCL 2020 device selectors instead."  ) const &

Constructs a SYCL queue instance with an async_handler that is associated with the context provided, using the device returned by the device selector.

Parameters
SyclContextis an instance of SYCL context.
DeviceSelectoris an instance of SYCL device selector.
AsyncHandleris a SYCL asynchronous exception handler.
PropListis a list of properties for queue construction.

◆ __SYCL2020_DEPRECATED() [3/3]

sycl::_V1::queue::__SYCL2020_DEPRECATED ( "SYCL 1.2.1 device selectors are deprecated. Please " "use SYCL 2020 device selectors instead."  ) const &

Constructs a SYCL queue instance using the device returned by the DeviceSelector provided.

Parameters
DeviceSelectoris an instance of a SYCL 1.2.1 device_selector.
PropListis a list of properties for queue construction.

◆ copy() [1/14]

template<typename SrcT , int SrcDims, access_mode SrcMode, target SrcTgt, access::placeholder IsPlaceholder, typename DestT >
event sycl::_V1::queue::copy ( accessor< SrcT, SrcDims, SrcMode, SrcTgt, IsPlaceholder Src,
DestT *  Dest,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from a memory region pointed to by a placeholder accessor to another memory region pointed to by a raw pointer.

Parameters
Srcis a placeholder accessor to the source memory.
Destis a raw pointer to the destination memory.
Returns
an event representing copy operation.

Definition at line 2482 of file queue.hpp.

References sycl::_V1::handler::copy(), sycl::_V1::handler::require(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ copy() [2/14]

template<typename SrcT , int SrcDims, access_mode SrcMode, target SrcTgt, access::placeholder IsPlaceholder, typename DestT >
event sycl::_V1::queue::copy ( accessor< SrcT, SrcDims, SrcMode, SrcTgt, IsPlaceholder Src,
std::shared_ptr< DestT >  Dest,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from a memory region pointed to by a placeholder accessor to another memory region pointed to by a shared_ptr.

Parameters
Srcis a placeholder accessor to the source memory.
Destis a shared_ptr to the destination memory.
Returns
an event representing copy operation.

Definition at line 2442 of file queue.hpp.

References sycl::_V1::handler::copy(), sycl::_V1::handler::require(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ copy() [3/14]

template<typename SrcT , int SrcDims, access_mode SrcMode, target SrcTgt, access::placeholder IsSrcPlaceholder, typename DestT , int DestDims, access_mode DestMode, target DestTgt, access::placeholder IsDestPlaceholder>
event sycl::_V1::queue::copy ( accessor< SrcT, SrcDims, SrcMode, SrcTgt, IsSrcPlaceholder >  Src,
accessor< DestT, DestDims, DestMode, DestTgt, IsDestPlaceholder >  Dest,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, both pointed by placeholder accessors.

Parameters
Srcis a placeholder accessor to the source memory.
Destis a placeholder accessor to the destination memory.
Returns
an event representing copy operation.

Definition at line 2523 of file queue.hpp.

References sycl::_V1::handler::copy(), sycl::_V1::handler::require(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ copy() [4/14]

template<typename T , typename PropertyListT >
event sycl::_V1::queue::copy ( const ext::oneapi::experimental::device_global< T, PropertyListT > &  Src,
std::remove_all_extents_t< T > *  Dest,
size_t  Count,
size_t  StartIndex,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies elements of type std::remove_all_extents_t<T> from a device_global to a USM memory region.

Throws an exception if the copy operation intends to write outside the memory range

Parameters
Src,asspecified through
Countand
StartIndex.
Srcis the source device_global.
Destis a USM pointer to copy to.
Countis a number of elements to copy.
StartIndexis the index of the first element in Src to copy from.
DepEventsis a vector of events that specifies the operation dependencies.
Returns
an event representing copy operation.

Definition at line 1312 of file queue.hpp.

◆ copy() [5/14]

template<typename T , typename PropertyListT >
event sycl::_V1::queue::copy ( const ext::oneapi::experimental::device_global< T, PropertyListT > &  Src,
std::remove_all_extents_t< T > *  Dest,
size_t  Count,
size_t  StartIndex,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies elements of type std::remove_all_extents_t<T> from a device_global to a USM memory region.

Throws an exception if the copy operation intends to write outside the memory range

Parameters
Src,asspecified through
Countand
StartIndex.
Srcis the source device_global.
Destis a USM pointer to copy to.
Countis a number of elements to copy.
StartIndexis the index of the first element in Src to copy from.
DepEventis a vector of event that specifies the operation dependency.
Returns
an event representing copy operation.

Definition at line 1337 of file queue.hpp.

◆ copy() [6/14]

template<typename T , typename PropertyListT >
event sycl::_V1::queue::copy ( const ext::oneapi::experimental::device_global< T, PropertyListT > &  Src,
std::remove_all_extents_t< T > *  Dest,
size_t  Count = sizeof(T) / sizeof(std::remove_all_extents_t<T>),
size_t  StartIndex = 0,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies elements of type std::remove_all_extents_t<T> from a device_global to a USM memory region.

Throws an exception if the copy operation intends to write outside the memory range

Parameters
Src,asspecified through
Countand
StartIndex.
Srcis the source device_global.
Destis a USM pointer to copy to.
Countis a number of elements to copy.
StartIndexis the index of the first element in Src to copy from.
Returns
an event representing copy operation.

Definition at line 1360 of file queue.hpp.

◆ copy() [7/14]

template<typename SrcT , typename DestT , int DestDims, access_mode DestMode, target DestTgt, access::placeholder IsPlaceholder>
event sycl::_V1::queue::copy ( const SrcT *  Src,
accessor< DestT, DestDims, DestMode, DestTgt, IsPlaceholder Dest,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from a memory region pointed to by a raw pointer to another memory region pointed to by a placeholder accessor.

Parameters
Srcis a raw pointer to the source memory.
Destis a placeholder accessor to the destination memory.
Returns
an event representing copy operation.

Definition at line 2501 of file queue.hpp.

References sycl::_V1::handler::copy(), sycl::_V1::handler::require(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ copy() [8/14]

template<typename T , typename PropertyListT >
event sycl::_V1::queue::copy ( const std::remove_all_extents_t< T > *  Src,
ext::oneapi::experimental::device_global< T, PropertyListT > &  Dest,
size_t  Count,
size_t  StartIndex,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies elements of type std::remove_all_extents_t<T> from a USM memory region to a device_global.

Throws an exception if the copy operation intends to write outside the memory range

Parameters
Dest,asspecified through
Countand
StartIndex.
Srcis a USM pointer to the source memory.
Destis the destination device_glboal.
Countis a number of elements to copy.
StartIndexis the index of the first element in Dest to copy to.
DepEventsis a vector of events that specifies the operation dependencies.
Returns
an event representing copy operation.

Definition at line 1239 of file queue.hpp.

◆ copy() [9/14]

template<typename T , typename PropertyListT >
event sycl::_V1::queue::copy ( const std::remove_all_extents_t< T > *  Src,
ext::oneapi::experimental::device_global< T, PropertyListT > &  Dest,
size_t  Count,
size_t  StartIndex,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies elements of type std::remove_all_extents_t<T> from a USM memory region to a device_global.

Throws an exception if the copy operation intends to write outside the memory range

Parameters
Dest,asspecified through
Countand
StartIndex.
Srcis a USM pointer to the source memory.
Destis the destination device_glboal.
Countis a number of elements to copy.
StartIndexis the index of the first element in Dest to copy to.
DepEventis a vector of event that specifies the operation dependency.
Returns
an event representing copy operation.

Definition at line 1264 of file queue.hpp.

◆ copy() [10/14]

template<typename T , typename PropertyListT >
event sycl::_V1::queue::copy ( const std::remove_all_extents_t< T > *  Src,
ext::oneapi::experimental::device_global< T, PropertyListT > &  Dest,
size_t  Count = sizeof(T) / sizeof(std::remove_all_extents_t<T>),
size_t  StartIndex = 0,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies elements of type std::remove_all_extents_t<T> from a USM memory region to a device_global.

Throws an exception if the copy operation intends to write outside the memory range

Parameters
Dest,asspecified through
Countand
StartIndex.
Srcis a USM pointer to the source memory.
Destis the destination device_glboal.
Countis a number of elements to copy.
StartIndexis the index of the first element in Dest to copy to.
Returns
an event representing copy operation.

Definition at line 1287 of file queue.hpp.

◆ copy() [11/14]

template<typename T >
event sycl::_V1::queue::copy ( const T *  Src,
T *  Dest,
size_t  Count,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, each is either a host pointer or a pointer within USM allocation accessible on the device associated with this queue.

No operations is done if

Parameters
Countis zero. An exception is thrown if either
Destor
Srcis nullptr. The behavior is undefined if any of the pointer parameters is invalid.
Srcis a USM pointer to the source memory.
Destis a USM pointer to the destination memory.
Countis a number of elements of type T to copy.
CodeLoccontains the code location of user code
Returns
an event representing copy operation.

Definition at line 640 of file queue.hpp.

◆ copy() [12/14]

template<typename T >
event sycl::_V1::queue::copy ( const T *  Src,
T *  Dest,
size_t  Count,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, each is either a host pointer or a pointer within USM allocation accessible on the device associated with this queue.

No operations is done if

Parameters
Countis zero. An exception is thrown if either
Destor
Srcis nullptr. The behavior is undefined if any of the pointer parameters is invalid.
Srcis a USM pointer to the source memory.
Destis a USM pointer to the destination memory.
Countis a number of elements of type T to copy.
DepEventsis a vector of events that specifies the kernel
CodeLoccontains the code location of user code
Returns
an event representing copy operation.

Definition at line 682 of file queue.hpp.

◆ copy() [13/14]

template<typename T >
event sycl::_V1::queue::copy ( const T *  Src,
T *  Dest,
size_t  Count,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, each is either a host pointer or a pointer within USM allocation accessible on the device associated with this queue.

No operations is done if

Parameters
Countis zero. An exception is thrown if either
Destor
Srcis nullptr. The behavior is undefined if any of the pointer parameters is invalid.
Srcis a USM pointer to the source memory.
Destis a USM pointer to the destination memory.
Countis a number of elements of type T to copy.
DepEventis an event that specifies the kernel dependencies.
CodeLoccontains the code location of user code
Returns
an event representing copy operation.

Definition at line 661 of file queue.hpp.

◆ copy() [14/14]

template<typename SrcT , typename DestT , int DestDims, access_mode DestMode, target DestTgt, access::placeholder IsPlaceholder>
event sycl::_V1::queue::copy ( std::shared_ptr< SrcT >  Src,
accessor< DestT, DestDims, DestMode, DestTgt, IsPlaceholder Dest,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from a memory region pointed to by a shared_ptr to another memory region pointed to by a placeholder accessor.

Parameters
Srcis a shared_ptr to the source memory.
Destis a placeholder accessor to the destination memory.
Returns
an event representing copy operation.

Definition at line 2462 of file queue.hpp.

References sycl::_V1::handler::copy(), sycl::_V1::handler::require(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ ext_codeplay_supports_fusion()

bool sycl::_V1::queue::ext_codeplay_supports_fusion ( ) const

Returns true if the queue was created with the ext::codeplay::experimental::property::queue::enable_fusion property.

Equivalent to has_property<ext::codeplay::experimental::property::queue::enable_fusion>().

Definition at line 327 of file queue.cpp.

References has_property().

Referenced by sycl::_V1::ext::codeplay::experimental::fusion_wrapper::fusion_wrapper().

◆ ext_oneapi_copy() [1/21]

Copies data from device to device memory, where Src and Dest are opaque image memory handles.

An exception is thrown if either Src or Dest is incomplete

Parameters
Srcis an opaque image memory handle to the source memory.
Destis an opaque image memory handle to the destination memory.
ImageDescis the source image descriptor
Returns
an event representing the copy operation.

Definition at line 1587 of file bindless_images.hpp.

References sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [2/21]

event sycl::_V1::queue::ext_oneapi_copy ( const ext::oneapi::experimental::image_mem_handle  Src,
ext::oneapi::experimental::image_mem_handle  Dest,
const ext::oneapi::experimental::image_descriptor ImageDesc,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from device to device memory, where Src and Dest are opaque image memory handles.

An exception is thrown if either Src or Dest is incomplete

Parameters
Srcis an opaque image memory handle to the source memory.
Destis an opaque image memory handle to the destination memory.
ImageDescis the source image descriptor
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1573 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [3/21]

event sycl::_V1::queue::ext_oneapi_copy ( const ext::oneapi::experimental::image_mem_handle  Src,
ext::oneapi::experimental::image_mem_handle  Dest,
const ext::oneapi::experimental::image_descriptor ImageDesc,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from device to device memory, where Src and Dest are opaque image memory handles.

An exception is thrown if either Src or Dest is incomplete

Parameters
Srcis an opaque image memory handle to the source memory.
Destis an opaque image memory handle to the destination memory.
ImageDescis the source image descriptor
DepEventis an events that specifies the kernel dependency.
Returns
an event representing the copy operation.

Definition at line 1559 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [4/21]

event sycl::_V1::queue::ext_oneapi_copy ( const ext::oneapi::experimental::image_mem_handle  Src,
sycl::range< 3 >  SrcOffset,
const ext::oneapi::experimental::image_descriptor SrcImgDesc,
void *  Dest,
sycl::range< 3 >  DestOffset,
sycl::range< 3 >  DestExtent,
sycl::range< 3 >  CopyExtent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src is an opaque image memory handle and Dest is a USM pointer.

Allows for a sub-region copy, where SrcOffset , DestOffset , and CopyExtent are used to determine the sub-region. Pixel size is determined by SrcImgDesc An exception is thrown if either Src is nullptr or Dest is incomplete.

Parameters
Srcis an opaque image memory handle to the source memory.
SrcOffsetis an offset from the origin of source measured in pixels (pixel size determined by SrcImgDesc )
SrcImgDescis the source image descriptor
Destis a USM pointer to the destination memory.
DestOffsetis an offset from the destination origin where the x, y, and z components are measured in bytes, rows, and slices respectively
DestExtentis the extent of the dest memory to copy, measured in pixels (pixel size determined by DestImgDesc )
CopyExtentis the width, height, and depth of the region to copy measured in pixels (pixel size determined by SrcImgDesc )
Returns
an event representing the copy operation.

Definition at line 1443 of file bindless_images.hpp.

References sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [5/21]

event sycl::_V1::queue::ext_oneapi_copy ( const ext::oneapi::experimental::image_mem_handle  Src,
sycl::range< 3 >  SrcOffset,
const ext::oneapi::experimental::image_descriptor SrcImgDesc,
void *  Dest,
sycl::range< 3 >  DestOffset,
sycl::range< 3 >  DestExtent,
sycl::range< 3 >  CopyExtent,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src is an opaque image memory handle and Dest is a USM pointer.

Allows for a sub-region copy, where SrcOffset , DestOffset , and CopyExtent are used to determine the sub-region. Pixel size is determined by SrcImgDesc An exception is thrown if either Src is nullptr or Dest is incomplete.

Parameters
Srcis an opaque image memory handle to the source memory.
SrcOffsetis an offset from the origin of source measured in pixels (pixel size determined by SrcImgDesc )
SrcImgDescis the source image descriptor
Destis a USM pointer to the destination memory.
DestOffsetis an offset from the destination origin where the x, y, and z components are measured in bytes, rows, and slices respectively
DestExtentis the extent of the dest memory to copy, measured in pixels (pixel size determined by DestImgDesc )
CopyExtentis the width, height, and depth of the region to copy measured in pixels (pixel size determined by SrcImgDesc )
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1501 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [6/21]

event sycl::_V1::queue::ext_oneapi_copy ( const ext::oneapi::experimental::image_mem_handle  Src,
sycl::range< 3 >  SrcOffset,
const ext::oneapi::experimental::image_descriptor SrcImgDesc,
void *  Dest,
sycl::range< 3 >  DestOffset,
sycl::range< 3 >  DestExtent,
sycl::range< 3 >  CopyExtent,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src is an opaque image memory handle and Dest is a USM pointer.

Allows for a sub-region copy, where SrcOffset , DestOffset , and CopyExtent are used to determine the sub-region. Pixel size is determined by SrcImgDesc An exception is thrown if either Src is nullptr or Dest is incomplete.

Parameters
Srcis an opaque image memory handle to the source memory.
SrcOffsetis an offset from the origin of source measured in pixels (pixel size determined by SrcImgDesc )
SrcImgDescis the source image descriptor
Destis a USM pointer to the destination memory.
DestOffsetis an offset from the destination origin where the x, y, and z components are measured in bytes, rows, and slices respectively
DestExtentis the extent of the dest memory to copy, measured in pixels (pixel size determined by DestImgDesc )
CopyExtentis the width, height, and depth of the region to copy measured in pixels (pixel size determined by SrcImgDesc )
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1471 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [7/21]

event sycl::_V1::queue::ext_oneapi_copy ( const ext::oneapi::experimental::image_mem_handle  Src,
void *  Dest,
const ext::oneapi::experimental::image_descriptor SrcImgDesc,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src is an opaque image memory handle and Dest is a USM pointer.

An exception is thrown if either Src is incomplete or Dest is nullptr. The behavior is undefined if SrcImgDesc is inconsistent with the allocated memory region.

Parameters
Srcis an opaque image memory handle to the source memory.
Destis a USM pointer to the destination memory.
SrcImgDescis the source image descriptor.
Returns
an event representing the copy operation.

Definition at line 1433 of file bindless_images.hpp.

References sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [8/21]

event sycl::_V1::queue::ext_oneapi_copy ( const ext::oneapi::experimental::image_mem_handle  Src,
void *  Dest,
const ext::oneapi::experimental::image_descriptor SrcImgDesc,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src is an opaque image memory handle and Dest is a USM pointer.

An exception is thrown if either Src is incomplete or Dest is nullptr. The behavior is undefined if SrcImgDesc is inconsistent with the allocated memory region.

Parameters
Srcis an opaque image memory handle to the source memory.
Destis a USM pointer to the destination memory.
SrcImgDescis the image descriptor (format, order, dimensions).
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1488 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [9/21]

event sycl::_V1::queue::ext_oneapi_copy ( const ext::oneapi::experimental::image_mem_handle  Src,
void *  Dest,
const ext::oneapi::experimental::image_descriptor SrcImgDesc,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src is an opaque image memory handle and Dest is a USM pointer.

An exception is thrown if either Src is incomplete or Dest is nullptr. The behavior is undefined if SrcImgDesc is inconsistent with the allocated memory region.

Parameters
Srcis an opaque image memory handle to the source memory.
Destis a USM pointer to the destination memory.
SrcImgDescis the image descriptor (format, order, dimensions).
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1458 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [10/21]

event sycl::_V1::queue::ext_oneapi_copy ( const void *  Src,
ext::oneapi::experimental::image_mem_handle  Dest,
const ext::oneapi::experimental::image_descriptor DestImgDesc,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src is a USM pointer and Dest is an opaque image memory handle wrapper.

An exception is thrown if either Src is nullptr or Dest is incomplete. The behavior is undefined if DestImgDesc is inconsistent with the allocated memory region.

Parameters
Srcis a USM pointer to the source memory.
Destis a wrapper for an opaque image memory handle to the destination memory.
DestImgDescis the image descriptor (format, order, dimensions).
Returns
an event representing the copy operation.

Definition at line 1351 of file bindless_images.hpp.

References sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [11/21]

event sycl::_V1::queue::ext_oneapi_copy ( const void *  Src,
ext::oneapi::experimental::image_mem_handle  Dest,
const ext::oneapi::experimental::image_descriptor DestImgDesc,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src is a USM pointer and Dest is an opaque image memory handle wrapper.

An exception is thrown if either Src is nullptr or Dest is incomplete. The behavior is undefined if DestImgDesc is inconsistent with the allocated memory region.

Parameters
Srcis a USM pointer to the source memory.
Destis a wrapper for an opaque image memory handle to the destination memory.
DestImgDescis the destination image descriptor
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1404 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [12/21]

event sycl::_V1::queue::ext_oneapi_copy ( const void *  Src,
ext::oneapi::experimental::image_mem_handle  Dest,
const ext::oneapi::experimental::image_descriptor DestImgDesc,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src is a USM pointer and Dest is an opaque image memory handle wrapper.

An exception is thrown if either Src is nullptr or Dest is incomplete. The behavior is undefined if DestImgDesc is inconsistent with the allocated memory region.

Parameters
Srcis a USM pointer to the source memory.
Destis a wrapper for an opaque image memory handle to the destination memory.
DestImgDescis the destination image descriptor
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1375 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [13/21]

event sycl::_V1::queue::ext_oneapi_copy ( const void *  Src,
sycl::range< 3 >  SrcOffset,
sycl::range< 3 >  SrcExtent,
ext::oneapi::experimental::image_mem_handle  Dest,
sycl::range< 3 >  DestOffset,
const ext::oneapi::experimental::image_descriptor DestImgDesc,
sycl::range< 3 >  CopyExtent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src is a USM pointer and Dest is an opaque image memory handle.

Allows for a sub-region copy, where SrcOffset , DestOffset , and CopyExtent are used to determine the sub-region. An exception is thrown if either Src is nullptr or CopyExtent is incomplete.

Parameters
Srcis a USM pointer to the source memory.
SrcOffsetis an offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively
SrcExtentis the extent of the source memory to copy, measured in pixels (pixel size determined by DestImgDesc )
Destis an opaque image memory handle to the destination memory.
DestOffsetis an offset from the destination origin measured in pixels (pixel size determined by DestImgDesc )
DestImgDescis the destination image descriptor
CopyExtentis the width, height, and depth of the region to copy measured in pixels as determined by DestImgDesc
Returns
an event representing the copy operation.

Definition at line 1361 of file bindless_images.hpp.

References sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [14/21]

event sycl::_V1::queue::ext_oneapi_copy ( const void *  Src,
sycl::range< 3 >  SrcOffset,
sycl::range< 3 >  SrcExtent,
ext::oneapi::experimental::image_mem_handle  Dest,
sycl::range< 3 >  DestOffset,
const ext::oneapi::experimental::image_descriptor DestImgDesc,
sycl::range< 3 >  CopyExtent,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src is a USM pointer and Dest is an opaque image memory handle.

Allows for a sub-region copy, where SrcOffset , DestOffset , and CopyExtent are used to determine the sub-region. An exception is thrown if either Src is nullptr or Dest is incomplete.

Parameters
Srcis a USM pointer to the source memory.
SrcOffsetis an offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively
SrcExtentis the extent of the source memory to copy, measured in pixels (pixel size determined by DestImgDesc )
Destis an opaque image memory handle to the destination memory.
DestOffsetis an offset from the destination origin measured in pixels (pixel size determined by DestImgDesc )
DestImgDescis the destination image descriptor
CopyExtentis the width, height, and depth of the region to copy measured in pixels as determined by DestImgDesc
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1417 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [15/21]

event sycl::_V1::queue::ext_oneapi_copy ( const void *  Src,
sycl::range< 3 >  SrcOffset,
sycl::range< 3 >  SrcExtent,
ext::oneapi::experimental::image_mem_handle  Dest,
sycl::range< 3 >  DestOffset,
const ext::oneapi::experimental::image_descriptor DestImgDesc,
sycl::range< 3 >  CopyExtent,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src is a USM pointer and Dest is an opaque image memory handle.

Allows for a sub-region copy, where SrcOffset , DestOffset , and CopyExtent are used to determine the sub-region. An exception is thrown if either Src is nullptr or Dest is incomplete.

Parameters
Srcis a USM pointer to the source memory.
SrcOffsetis an offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively
SrcExtentis the extent of the source memory to copy, measured in pixels (pixel size determined by DestImgDesc )
Destis an opaque image memory handle to the destination memory.
DestOffsetis an offset from the destination origin measured in pixels (pixel size determined by DestImgDesc )
DestImgDescis the destination image descriptor
CopyExtentis the width, height, and depth of the region to copy measured in pixels as determined by DestImgDesc
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1388 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [16/21]

event sycl::_V1::queue::ext_oneapi_copy ( const void *  Src,
sycl::range< 3 >  SrcOffset,
void *  Dest,
sycl::range< 3 >  DestOffset,
const ext::oneapi::experimental::image_descriptor DeviceImgDesc,
size_t  DeviceRowPitch,
sycl::range< 3 >  HostExtent,
sycl::range< 3 >  CopyExtent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src and Dest are USM pointers.

Allows for a sub-region copy, where SrcOffset , DestOffset , and Extent are used to determine the sub-region. An exception is thrown if either Src is nullptr or Dest is incomplete.

Parameters
Srcis a USM pointer to the source memory.
SrcOffsetis an destination offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively
Destis a USM pointer to the destination memory.
DestOffsetis an destination offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively
DeviceImgDescis the device image descriptor
DeviceRowPitchis the row pitch on the device
HostExtentis the extent of the host memory to copy, measured in pixels (pixel size determined by DeviceImgDesc )
CopyExtentis the width, height, and depth of the region to copy measured in pixels (pixel size determined by DeviceImgDesc )
Returns
an event representing the copy operation.

Definition at line 1530 of file bindless_images.hpp.

References sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [17/21]

event sycl::_V1::queue::ext_oneapi_copy ( const void *  Src,
sycl::range< 3 >  SrcOffset,
void *  Dest,
sycl::range< 3 >  DestOffset,
const ext::oneapi::experimental::image_descriptor DeviceImgDesc,
size_t  DeviceRowPitch,
sycl::range< 3 >  HostExtent,
sycl::range< 3 >  CopyExtent,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src and Dest are USM pointers.

Allows for a sub-region copy, where SrcOffset , DestOffset , and Extent are used to determine the sub-region. An exception is thrown if either Src is nullptr or Dest is incomplete.

Parameters
Srcis a USM pointer to the source memory.
SrcOffsetis an destination offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively
Destis a USM pointer to the destination memory.
DestOffsetis an destination offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively
DeviceImgDescis the destination image descriptor
DeviceRowPitchis the row pitch on the device
HostExtentis the extent of the host memory to copy, measured in pixels (pixel size determined by DeviceImgDesc )
CopyExtentis the width, height, and depth of the region to copy measured in pixels (pixel size determined by DeviceImgDesc )
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1628 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [18/21]

event sycl::_V1::queue::ext_oneapi_copy ( const void *  Src,
sycl::range< 3 >  SrcOffset,
void *  Dest,
sycl::range< 3 >  DestOffset,
const ext::oneapi::experimental::image_descriptor DeviceImgDesc,
size_t  DeviceRowPitch,
sycl::range< 3 >  HostExtent,
sycl::range< 3 >  CopyExtent,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src and Dest are USM pointers.

Allows for a sub-region copy, where SrcOffset , DestOffset , and Extent are used to determine the sub-region. An exception is thrown if either Src is nullptr or Dest is incomplete.

Parameters
Srcis a USM pointer to the source memory.
SrcOffsetis an destination offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively
Destis a USM pointer to the destination memory.
DestOffsetis an destination offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively
DeviceImgDescis the destination image descriptor
DeviceRowPitchis the row pitch on the device
HostExtentis the extent of the host memory to copy, measured in pixels (pixel size determined by DeviceImgDesc )
CopyExtentis the width, height, and depth of the region to copy measured in pixels (pixel size determined by DeviceImgDesc )
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1598 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [19/21]

event sycl::_V1::queue::ext_oneapi_copy ( const void *  Src,
void *  Dest,
const ext::oneapi::experimental::image_descriptor DeviceImgDesc,
size_t  DeviceRowPitch,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src and Dest are USM pointers.

An exception is thrown if either Src is nullptr, Dest is nullptr, or Pitch is inconsistent with hardware requirements. The behavior is undefined if DeviceImgDesc is inconsistent with the allocated memory region.

Parameters
Srcis a USM pointer to the source memory.
Destis a USM pointer to the destination memory.
DeviceImgDescis the image descriptor
DeviceRowPitchis the DeviceRowPitch of the rows on the device.
Returns
an event representing the copy operation.

Definition at line 1518 of file bindless_images.hpp.

References sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [20/21]

event sycl::_V1::queue::ext_oneapi_copy ( const void *  Src,
void *  Dest,
const ext::oneapi::experimental::image_descriptor DeviceImgDesc,
size_t  DeviceRowPitch,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src and Dest are USM pointers.

An exception is thrown if either Src is nullptr, Dest is nullptr, or Pitch is inconsistent with hardware requirements. The behavior is undefined if DeviceImgDesc is inconsistent with the allocated memory region.

Parameters
Srcis a USM pointer to the source memory.
Destis a USM pointer to the destination memory.
DeviceImgDescis the image descriptor
DeviceRowPitchis the pitch of the rows on the device.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1614 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy() [21/21]

event sycl::_V1::queue::ext_oneapi_copy ( const void *  Src,
void *  Dest,
const ext::oneapi::experimental::image_descriptor DeviceImgDesc,
size_t  DeviceRowPitch,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one memory region to another, where Src and Dest are USM pointers.

An exception is thrown if either Src is nullptr, Dest is nullptr, or Pitch is inconsistent with hardware requirements. The behavior is undefined if DeviceImgDesc is inconsistent with the allocated memory region.

Parameters
Srcis a USM pointer to the source memory.
Destis a USM pointer to the destination memory.
DeviceImgDescis the image descriptor
DeviceRowPitchis the pitch of the rows on the device.
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 1545 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().

◆ ext_oneapi_copy2d() [1/3]

template<typename T >
event sycl::_V1::queue::ext_oneapi_copy2d ( const T *  Src,
size_t  SrcPitch,
T *  Dest,
size_t  DestPitch,
size_t  Width,
size_t  Height,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Copies data from one 2D memory region to another, both pointed by USM pointers.

No operations is done if

Parameters
Widthor
Heightis zero. An exception is thrown if either
Destor
Srcis nullptr or if
Widthis strictly greater than either
DestPitchor
SrcPitch.The behavior is undefined if any of the pointer parameters is invalid.
Srcis a USM pointer to the source memory.
SrcPitchis the pitch of the rows in
Src.
Destis a USM pointer to the destination memory.
DestPitchis the pitch of the rows in
Dest.
Widthis the width in number of elements of the 2D region to copy.
Heightis the height in number of rows of the 2D region to copy.
Returns
an event representing the copy operation.

Definition at line 173 of file memcpy2d.hpp.

References sycl::_V1::handler::ext_oneapi_copy2d(), and submit().

◆ ext_oneapi_copy2d() [2/3]

template<typename T >
event sycl::_V1::queue::ext_oneapi_copy2d ( const T *  Src,
size_t  SrcPitch,
T *  Dest,
size_t  DestPitch,
size_t  Width,
size_t  Height,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Copies data from one 2D memory region to another, both pointed by USM pointers.

No operations is done if

Parameters
Widthor
Heightis zero. An exception is thrown if either
Destor
Srcis nullptr or if
Widthis strictly greater than either
DestPitchor
SrcPitch.The behavior is undefined if any of the pointer parameters is invalid.
Srcis a USM pointer to the source memory.
SrcPitchis the pitch of the rows in
Src.
Destis a USM pointer to the destination memory.
DestPitchis the pitch of the rows in
Dest.
Widthis the width in number of elements of the 2D region to copy.
Heightis the height in number of rows of the 2D region to copy.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 197 of file memcpy2d.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy2d(), and submit().

◆ ext_oneapi_copy2d() [3/3]

template<typename T >
event sycl::_V1::queue::ext_oneapi_copy2d ( const T *  Src,
size_t  SrcPitch,
T *  Dest,
size_t  DestPitch,
size_t  Width,
size_t  Height,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Copies data from one 2D memory region to another, both pointed by USM pointers.

No operations is done if

Parameters
Widthor
Heightis zero. An exception is thrown if either
Destor
Srcis nullptr or if
Widthis strictly greater than either
DestPitchor
SrcPitch.The behavior is undefined if any of the pointer parameters is invalid.
Srcis a USM pointer to the source memory.
SrcPitchis the pitch of the rows in
Src.
Destis a USM pointer to the destination memory.
DestPitchis the pitch of the rows in
Dest.
Widthis the width in number of elements of the 2D region to copy.
Heightis the height in number of rows of the 2D region to copy.
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 184 of file memcpy2d.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy2d(), and submit().

◆ ext_oneapi_empty()

bool sycl::_V1::queue::ext_oneapi_empty ( ) const

Allows to check status of the queue (completed vs noncompleted).

Returns
returns true if all enqueued commands in the queue have been completed, otherwise returns false.

Definition at line 296 of file queue.cpp.

◆ ext_oneapi_fill2d() [1/3]

template<typename T >
event sycl::_V1::queue::ext_oneapi_fill2d ( void *  Dest,
size_t  DestPitch,
const T &  Pattern,
size_t  Width,
size_t  Height,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Fills the memory pointed by a USM pointer with the value specified.

No operations is done if

Parameters
Widthor
Heightis zero. An exception is thrown if either
Destor
Srcis nullptr or if
Widthis strictly greater than
DestPitch.The behavior is undefined if any of the pointer parameters is invalid.
Destis a USM pointer to the destination memory.
DestPitchis the pitch of the rows in
Dest.
Patternis the pattern to fill into the memory. T should be trivially copyable.
Widthis the width in number of elements of the 2D region to fill.
Heightis the height in number of rows of the 2D region to fill.
Returns
an event representing the fill operation.

Definition at line 246 of file memcpy2d.hpp.

References sycl::_V1::handler::ext_oneapi_fill2d(), and submit().

◆ ext_oneapi_fill2d() [2/3]

template<typename T >
event sycl::_V1::queue::ext_oneapi_fill2d ( void *  Dest,
size_t  DestPitch,
const T &  Pattern,
size_t  Width,
size_t  Height,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Fills the memory pointed by a USM pointer with the value specified.

No operations is done if

Parameters
Widthor
Heightis zero. An exception is thrown if either
Destor
Srcis nullptr or if
Widthis strictly greater than
DestPitch.The behavior is undefined if any of the pointer parameters is invalid.
Destis a USM pointer to the destination memory.
DestPitchis the pitch of the rows in
Dest.
Patternis the pattern to fill into the memory. T should be trivially copyable.
Widthis the width in number of elements of the 2D region to fill.
Heightis the height in number of rows of the 2D region to fill.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the fill operation.

Definition at line 269 of file memcpy2d.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_fill2d(), and submit().

◆ ext_oneapi_fill2d() [3/3]

template<typename T >
event sycl::_V1::queue::ext_oneapi_fill2d ( void *  Dest,
size_t  DestPitch,
const T &  Pattern,
size_t  Width,
size_t  Height,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Fills the memory pointed by a USM pointer with the value specified.

No operations is done if

Parameters
Widthor
Heightis zero. An exception is thrown if either
Destor
Srcis nullptr or if
Widthis strictly greater than
DestPitch.The behavior is undefined if any of the pointer parameters is invalid.
Destis a USM pointer to the destination memory.
DestPitchis the pitch of the rows in
Dest.
Patternis the pattern to fill into the memory. T should be trivially copyable.
Widthis the width in number of elements of the 2D region to fill.
Heightis the height in number of rows of the 2D region to fill.
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the fill operation.

Definition at line 257 of file memcpy2d.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_fill2d(), and submit().

◆ ext_oneapi_get_graph()

◆ ext_oneapi_get_last_event()

event sycl::_V1::queue::ext_oneapi_get_last_event ( ) const

Definition at line 332 of file queue.cpp.

References sycl::_V1::invalid, is_in_order(), and sycl::_V1::make_error_code().

◆ ext_oneapi_get_state()

ext::oneapi::experimental::queue_state sycl::_V1::queue::ext_oneapi_get_state ( ) const
Returns
State the queue is currently in.

Definition at line 79 of file queue.cpp.

◆ ext_oneapi_graph() [1/3]

Shortcut for executing a graph of commands.

Parameters
Graphthe graph of commands to execute
Returns
an event representing graph execution operation.

Definition at line 2588 of file queue.hpp.

References sycl::_V1::handler::ext_oneapi_graph(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ ext_oneapi_graph() [2/3]

event sycl::_V1::queue::ext_oneapi_graph ( ext::oneapi::experimental::command_graph< ext::oneapi::experimental::graph_state::executable Graph,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Shortcut for executing a graph of commands with multiple dependencies.

Parameters
Graphthe graph of commands to execute
DepEventsis a vector of events that specifies the graph execution dependencies.
Returns
an event representing graph execution operation.

Definition at line 2622 of file queue.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_graph(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ ext_oneapi_graph() [3/3]

event sycl::_V1::queue::ext_oneapi_graph ( ext::oneapi::experimental::command_graph< ext::oneapi::experimental::graph_state::executable Graph,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Shortcut for executing a graph of commands with a single dependency.

Parameters
Graphthe graph of commands to execute
DepEventis an event that specifies the graph execution dependencies.
Returns
an event representing graph execution operation.

Definition at line 2602 of file queue.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_graph(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ ext_oneapi_memcpy2d() [1/3]

template<typename T = unsigned char, typename = std::enable_if_t<std::is_same_v<T, unsigned char>>>
event sycl::_V1::queue::ext_oneapi_memcpy2d ( void *  Dest,
size_t  DestPitch,
const void *  Src,
size_t  SrcPitch,
size_t  Width,
size_t  Height,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from one 2D memory region to another, both pointed by USM pointers.

No operations is done if

Parameters
Widthor
Heightis zero. An exception is thrown if either
Destor
Srcis nullptr or if
Widthis strictly greater than either
DestPitchor
SrcPitch.The behavior is undefined if any of the pointer parameters is invalid.

NOTE: Function is dependent to prevent the fallback kernels from materializing without the use of the function.

Parameters
Destis a USM pointer to the destination memory.
DestPitchis the pitch of the rows in
Dest.
Srcis a USM pointer to the source memory.
SrcPitchis the pitch of the rows in
Src.
Widthis the width in bytes of the 2D region to copy.
Heightis the height in number of rows of the 2D region to copy.
Returns
an event representing the copy operation.

Definition at line 801 of file queue.hpp.

References sycl::_V1::handler::ext_oneapi_memcpy2d(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ ext_oneapi_memcpy2d() [2/3]

template<typename T , typename >
event sycl::_V1::queue::ext_oneapi_memcpy2d ( void *  Dest,
size_t  DestPitch,
const void *  Src,
size_t  SrcPitch,
size_t  Width,
size_t  Height,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Copies data from one 2D memory region to another, both pointed by USM pointers.

No operations is done if

Parameters
Widthor
Heightis zero. An exception is thrown if either
Destor
Srcis nullptr or if
Widthis strictly greater than either
DestPitchor
SrcPitch.The behavior is undefined if any of the pointer parameters is invalid.

NOTE: Function is dependent to prevent the fallback kernels from materializing without the use of the function.

Parameters
Destis a USM pointer to the destination memory.
DestPitchis the pitch of the rows in
Dest.
Srcis a USM pointer to the source memory.
SrcPitchis the pitch of the rows in
Src.
Widthis the width in bytes of the 2D region to copy.
Heightis the height in number of rows of the 2D region to copy.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 159 of file memcpy2d.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_memcpy2d(), and submit().

◆ ext_oneapi_memcpy2d() [3/3]

template<typename T , typename >
event sycl::_V1::queue::ext_oneapi_memcpy2d ( void *  Dest,
size_t  DestPitch,
const void *  Src,
size_t  SrcPitch,
size_t  Width,
size_t  Height,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Copies data from one 2D memory region to another, both pointed by USM pointers.

No operations is done if

Parameters
Widthor
Heightis zero. An exception is thrown if either
Destor
Srcis nullptr or if
Widthis strictly greater than either
DestPitchor
SrcPitch.The behavior is undefined if any of the pointer parameters is invalid.

NOTE: Function is dependent to prevent the fallback kernels from materializing without the use of the function.

Parameters
Destis a USM pointer to the destination memory.
DestPitchis the pitch of the rows in
Dest.
Srcis a USM pointer to the source memory.
SrcPitchis the pitch of the rows in
Src.
Widthis the width in bytes of the 2D region to copy.
Heightis the height in number of rows of the 2D region to copy.
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the copy operation.

Definition at line 145 of file memcpy2d.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_memcpy2d(), and submit().

◆ ext_oneapi_memset2d() [1/3]

template<typename T , typename >
event sycl::_V1::queue::ext_oneapi_memset2d ( void *  Dest,
size_t  DestPitch,
int  Value,
size_t  Width,
size_t  Height,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Fills the memory pointed by a USM pointer with the value specified.

No operations is done if

Parameters
Widthor
Heightis zero. An exception is thrown if either
Destor
Srcis nullptr or if
Widthis strictly greater than
DestPitch.The behavior is undefined if any of the pointer parameters is invalid.

NOTE: Function is dependent to prevent the fallback kernels from materializing without the use of the function.

Parameters
Destis a USM pointer to the destination memory.
DestPitchis the pitch of the rows in
Dest.
Valueis the value to fill into the region in
Dest.Value is cast as an unsigned char.
Widthis the width in number of elements of the 2D region to fill.
Heightis the height in number of rows of the 2D region to fill.
Returns
an event representing the fill operation.

Definition at line 210 of file memcpy2d.hpp.

References sycl::_V1::handler::ext_oneapi_memset2d(), and submit().

◆ ext_oneapi_memset2d() [2/3]

template<typename T , typename >
event sycl::_V1::queue::ext_oneapi_memset2d ( void *  Dest,
size_t  DestPitch,
int  Value,
size_t  Width,
size_t  Height,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Fills the memory pointed by a USM pointer with the value specified.

No operations is done if

Parameters
Widthor
Heightis zero. An exception is thrown if either
Destor
Srcis nullptr or if
Widthis strictly greater than
DestPitch.The behavior is undefined if any of the pointer parameters is invalid.

NOTE: Function is dependent to prevent the fallback kernels from materializing without the use of the function.

Parameters
Destis a USM pointer to the destination memory.
DestPitchis the pitch of the rows in
Dest.
Valueis the value to fill into the region in
Dest.Value is cast as an unsigned char.
Widthis the width in number of elements of the 2D region to fill.
Heightis the height in number of rows of the 2D region to fill.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the fill operation.

Definition at line 233 of file memcpy2d.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_memset2d(), and submit().

◆ ext_oneapi_memset2d() [3/3]

template<typename T , typename >
event sycl::_V1::queue::ext_oneapi_memset2d ( void *  Dest,
size_t  DestPitch,
int  Value,
size_t  Width,
size_t  Height,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Fills the memory pointed by a USM pointer with the value specified.

No operations is done if

Parameters
Widthor
Heightis zero. An exception is thrown if either
Destor
Srcis nullptr or if
Widthis strictly greater than
DestPitch.The behavior is undefined if any of the pointer parameters is invalid.

NOTE: Function is dependent to prevent the fallback kernels from materializing without the use of the function.

Parameters
Destis a USM pointer to the destination memory.
DestPitchis the pitch of the rows in
Dest.
Valueis the value to fill into the region in
Dest.Value is cast as an unsigned char.
Widthis the width in number of elements of the 2D region to fill.
Heightis the height in number of rows of the 2D region to fill.
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the fill operation.

Definition at line 221 of file memcpy2d.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_memset2d(), and submit().

◆ ext_oneapi_prod()

void sycl::_V1::queue::ext_oneapi_prod ( )

Provides a hint to the runtime that previously issued commands to this queue should begin executing once their prerequisites have been satisfied.

Definition at line 298 of file queue.cpp.

◆ ext_oneapi_set_external_event()

void sycl::_V1::queue::ext_oneapi_set_external_event ( const event external_event)

Definition at line 345 of file queue.cpp.

References sycl::_V1::invalid, is_in_order(), and sycl::_V1::make_error_code().

◆ ext_oneapi_signal_external_semaphore() [1/6]

event sycl::_V1::queue::ext_oneapi_signal_external_semaphore ( sycl::ext::oneapi::experimental::interop_semaphore_handle  SemaphoreHandle,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Instruct the queue to signal the external semaphore once all previous commands have completed execution.

An exception is thrown if SemaphoreHandle is incomplete, or if the type of semaphore requires an explicit value to signal.

Parameters
SemaphoreHandleis an opaque external interop semaphore handle
Returns
an event representing the signal operation.

Definition at line 1704 of file bindless_images.hpp.

References sycl::_V1::handler::ext_oneapi_signal_external_semaphore(), and submit().

◆ ext_oneapi_signal_external_semaphore() [2/6]

event sycl::_V1::queue::ext_oneapi_signal_external_semaphore ( sycl::ext::oneapi::experimental::interop_semaphore_handle  SemaphoreHandle,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Instruct the queue to signal the external semaphore once all previous commands have completed execution.

An exception is thrown if SemaphoreHandle is incomplete, or if the type of semaphore requires an explicit value to signal.

Parameters
SemaphoreHandleis an opaque external interop semaphore handle
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the signal operation.

Definition at line 1727 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_signal_external_semaphore(), and submit().

◆ ext_oneapi_signal_external_semaphore() [3/6]

event sycl::_V1::queue::ext_oneapi_signal_external_semaphore ( sycl::ext::oneapi::experimental::interop_semaphore_handle  SemaphoreHandle,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Instruct the queue to signal the external semaphore once all previous commands have completed execution.

An exception is thrown if SemaphoreHandle is incomplete, or if the type of semaphore requires an explicit value to signal.

Parameters
SemaphoreHandleis an opaque external interop semaphore handle
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the signal operation.

Definition at line 1715 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_signal_external_semaphore(), and submit().

◆ ext_oneapi_signal_external_semaphore() [4/6]

event sycl::_V1::queue::ext_oneapi_signal_external_semaphore ( sycl::ext::oneapi::experimental::interop_semaphore_handle  SemaphoreHandle,
uint64_t  SignalValue,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Instruct the queue to signal the external semaphore once all previous commands have completed execution.

An exception is thrown if SemaphoreHandle is incomplete, or if the type of semaphore does not support signalling an explicitly passed value.

Parameters
SemaphoreHandleis an opaque external interop semaphore handle
SignalValueis the value that this semaphore signal, once all prior opeartions on the queue complete.
Returns
an event representing the signal operation.

Definition at line 1739 of file bindless_images.hpp.

References sycl::_V1::handler::ext_oneapi_signal_external_semaphore(), and submit().

◆ ext_oneapi_signal_external_semaphore() [5/6]

event sycl::_V1::queue::ext_oneapi_signal_external_semaphore ( sycl::ext::oneapi::experimental::interop_semaphore_handle  SemaphoreHandle,
uint64_t  SignalValue,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Instruct the queue to signal the external semaphore once all previous commands have completed execution.

An exception is thrown if SemaphoreHandle is incomplete, or if the type of semaphore does not support signalling an explicitly passed value.

Parameters
SemaphoreHandleis an opaque external interop semaphore handle
SignalValueis the value that this semaphore signal, once all prior opeartions on the queue complete.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the signal operation.

Definition at line 1763 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_signal_external_semaphore(), and submit().

◆ ext_oneapi_signal_external_semaphore() [6/6]

event sycl::_V1::queue::ext_oneapi_signal_external_semaphore ( sycl::ext::oneapi::experimental::interop_semaphore_handle  SemaphoreHandle,
uint64_t  SignalValue,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Instruct the queue to signal the external semaphore once all previous commands have completed execution.

An exception is thrown if SemaphoreHandle is incomplete, or if the type of semaphore does not support signalling an explicitly passed value.

Parameters
SemaphoreHandleis an opaque external interop semaphore handle
SignalValueis the value that this semaphore signal, once all prior opeartions on the queue complete.
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the signal operation.

Definition at line 1750 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_signal_external_semaphore(), and submit().

◆ ext_oneapi_submit_barrier() [1/2]

event sycl::_V1::queue::ext_oneapi_submit_barrier ( const detail::code_location CodeLoc = detail::code_location::current())

Prevents any commands submitted afterward to this queue from executing until all commands previously submitted to this queue have entered the complete state.

Parameters
CodeLocis the code location of the submit call (default argument)
Returns
a SYCL event object, which corresponds to the queue the command group is being enqueued on.

Definition at line 223 of file queue.cpp.

References sycl::_V1::handler::ext_oneapi_barrier(), sycl::_V1::getBarrierEventForInorderQueueHelper(), sycl::_V1::detail::getSyclObjImpl(), is_in_order(), and submit().

Referenced by sycl::_V1::ext::oneapi::experimental::submit_profiling_tag().

◆ ext_oneapi_submit_barrier() [2/2]

event sycl::_V1::queue::ext_oneapi_submit_barrier ( const std::vector< event > &  WaitList,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Prevents any commands submitted afterward to this queue from executing until all events in WaitList have entered the complete state.

If WaitList is empty, then ext_oneapi_submit_barrier has no effect.

Parameters
WaitListis a vector of valid SYCL events that need to complete before barrier command can be executed.
CodeLocis the code location of the submit call (default argument)
Returns
a SYCL event object, which corresponds to the queue the command group is being enqueued on.

Definition at line 244 of file queue.cpp.

References all_of(), sycl::_V1::handler::ext_oneapi_barrier(), sycl::_V1::getBarrierEventForInorderQueueHelper(), sycl::_V1::detail::getSyclObjImpl(), is_in_order(), and submit().

◆ ext_oneapi_wait_external_semaphore() [1/6]

event sycl::_V1::queue::ext_oneapi_wait_external_semaphore ( sycl::ext::oneapi::experimental::interop_semaphore_handle  SemaphoreHandle,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Instruct the queue with a non-blocking wait on an external semaphore.

An exception is thrown if SemaphoreHandle is incomplete, or if the type of semaphore requires an explicit value to wait upon.

Parameters
SemaphoreHandleis an opaque external interop semaphore handle.
Returns
an event representing the wait operation.

Definition at line 1848 of file queue.hpp.

References sycl::_V1::handler::ext_oneapi_wait_external_semaphore(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ ext_oneapi_wait_external_semaphore() [2/6]

event sycl::_V1::queue::ext_oneapi_wait_external_semaphore ( sycl::ext::oneapi::experimental::interop_semaphore_handle  SemaphoreHandle,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Instruct the queue with a non-blocking wait on an external semaphore.

An exception is thrown if SemaphoreHandle is incomplete, or if the type of semaphore requires an explicit value to wait upon.

Parameters
SemaphoreHandleis an opaque external interop semaphore handle.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the wait operation.

Definition at line 1656 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_wait_external_semaphore(), and submit().

◆ ext_oneapi_wait_external_semaphore() [3/6]

event sycl::_V1::queue::ext_oneapi_wait_external_semaphore ( sycl::ext::oneapi::experimental::interop_semaphore_handle  SemaphoreHandle,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Instruct the queue with a non-blocking wait on an external semaphore.

An exception is thrown if SemaphoreHandle is incomplete, or if the type of semaphore requires an explicit value to wait upon.

Parameters
SemaphoreHandleis an opaque external interop semaphore handle
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the wait operation.

Definition at line 1644 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_wait_external_semaphore(), and submit().

◆ ext_oneapi_wait_external_semaphore() [4/6]

event sycl::_V1::queue::ext_oneapi_wait_external_semaphore ( sycl::ext::oneapi::experimental::interop_semaphore_handle  SemaphoreHandle,
uint64_t  WaitValue,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Instruct the queue with a non-blocking wait on an external semaphore.

An exception is thrown if SemaphoreHandle is incomplete, or if the type of semaphore does not support waiting on an explicitly passed value.

Parameters
SemaphoreHandleis an opaque external interop semaphore handle
WaitValueis the value that this semaphore will wait upon, until it allows any further commands to execute on the queue.
Returns
an event representing the wait operation.

Definition at line 1668 of file bindless_images.hpp.

References sycl::_V1::handler::ext_oneapi_wait_external_semaphore(), and submit().

◆ ext_oneapi_wait_external_semaphore() [5/6]

event sycl::_V1::queue::ext_oneapi_wait_external_semaphore ( sycl::ext::oneapi::experimental::interop_semaphore_handle  SemaphoreHandle,
uint64_t  WaitValue,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Instruct the queue with a non-blocking wait on an external semaphore.

An exception is thrown if SemaphoreHandle is incomplete, or if the type of semaphore does not support waiting on an explicitly passed value.

Parameters
SemaphoreHandleis an opaque external interop semaphore handle
WaitValueis the value that this semaphore will wait upon, until it allows any further commands to execute on the queue.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing the wait operation.

Definition at line 1691 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_wait_external_semaphore(), and submit().

◆ ext_oneapi_wait_external_semaphore() [6/6]

event sycl::_V1::queue::ext_oneapi_wait_external_semaphore ( sycl::ext::oneapi::experimental::interop_semaphore_handle  SemaphoreHandle,
uint64_t  WaitValue,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Instruct the queue with a non-blocking wait on an external semaphore.

An exception is thrown if SemaphoreHandle is incomplete, or if the type of semaphore does not support waiting on an explicitly passed value.

Parameters
SemaphoreHandleis an opaque external interop semaphore handle
WaitValueis the value that this semaphore will wait upon, until it allows any further commands to execute on the queue.
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing the wait operation.

Definition at line 1679 of file bindless_images.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_wait_external_semaphore(), and submit().

◆ fill() [1/4]

template<typename T , int Dims, access_mode Mode, target Tgt, access::placeholder IsPlaceholder>
event sycl::_V1::queue::fill ( accessor< T, Dims, Mode, Tgt, IsPlaceholder Dest,
const T &  Src,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Fills the specified memory with the specified data.

Parameters
Destis the placeholder accessor to the memory to fill.
Srcis the data to fill the memory with. T should be trivially copyable.
Returns
an event representing fill operation.

Definition at line 2562 of file queue.hpp.

References sycl::_V1::handler::fill(), sycl::_V1::handler::require(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ fill() [2/4]

template<typename T >
event sycl::_V1::queue::fill ( void *  Ptr,
const T &  Pattern,
size_t  Count,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Fills the specified memory with the specified pattern.

Parameters
Ptris the pointer to the memory to fill.
Patternis the pattern to fill into the memory. T should be trivially copyable.
Countis the number of times to fill Pattern into Ptr.
Returns
an event representing fill operation.

Definition at line 484 of file queue.hpp.

References sycl::_V1::handler::fill(), and sycl::_V1::ext::oneapi::experimental::submit().

Referenced by syclcompat::detail::fill().

◆ fill() [3/4]

template<typename T >
event sycl::_V1::queue::fill ( void *  Ptr,
const T &  Pattern,
size_t  Count,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Fills the specified memory with the specified pattern.

Parameters
Ptris the pointer to the memory to fill.
Patternis the pattern to fill into the memory. T should be trivially copyable.
Countis the number of times to fill Pattern into Ptr.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing fill operation.

Definition at line 523 of file queue.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::fill(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ fill() [4/4]

template<typename T >
event sycl::_V1::queue::fill ( void *  Ptr,
const T &  Pattern,
size_t  Count,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Fills the specified memory with the specified pattern.

Parameters
Ptris the pointer to the memory to fill.
Patternis the pattern to fill into the memory. T should be trivially copyable.
Countis the number of times to fill Pattern into Ptr.
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing fill operation.

Definition at line 501 of file queue.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::fill(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ get_backend()

backend sycl::_V1::queue::get_backend ( ) const
noexcept

Returns the backend associated with this queue.

Returns
the backend associated with this queue.

Definition at line 294 of file queue.cpp.

References sycl::_V1::detail::getImplBackend().

◆ get_backend_info()

template<typename Param >
detail::is_backend_info_desc< Param >::return_type sycl::_V1::queue::get_backend_info

Queries SYCL queue for SYCL backend-specific information.

The return type depends on information being queried.

Definition at line 278 of file queue.cpp.

◆ get_context()

◆ get_device()

device sycl::_V1::queue::get_device ( ) const
Returns
SYCL device this queue was constructed with.

Definition at line 77 of file queue.cpp.

Referenced by sycl::_V1::ext::oneapi::experimental::alloc_image_mem(), sycl::_V1::ext::oneapi::experimental::create_image(), sycl::_V1::ext::oneapi::experimental::destroy_image_handle(), sycl::_V1::ext::oneapi::experimental::free_image_mem(), sycl::_V1::ext::oneapi::experimental::get_image_channel_type(), sycl::_V1::ext::oneapi::experimental::get_image_num_channels(), sycl::_V1::ext::oneapi::experimental::get_image_range(), sycl::_V1::ext::oneapi::experimental::get_mip_level_mem_handle(), sycl::_V1::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, ExplicitIdentity, RedOutVar >::getGroupsCounterAccDiscrete(), sycl::_V1::ext::oneapi::experimental::import_external_memory< resource_fd >(), sycl::_V1::ext::oneapi::experimental::import_external_memory< resource_win32_handle >(), sycl::_V1::ext::oneapi::experimental::import_external_semaphore(), syclcompat::detail::malloc(), sycl::_V1::ext::oneapi::experimental::malloc_annotated(), sycl::_V1::ext::oneapi::experimental::map_external_image_memory(), sycl::_V1::ext::oneapi::experimental::pitched_alloc_device(), sycl::_V1::ext::intel::experimental::pipe< _name, _dataT, _min_capacity, _propertiesT, class >::read(), sycl::_V1::ext::oneapi::experimental::release_external_memory(), sycl::_V1::ext::oneapi::experimental::release_external_semaphore(), sycl::_V1::ext::oneapi::experimental::submit_profiling_tag(), and sycl::_V1::ext::intel::experimental::pipe< _name, _dataT, _min_capacity, _propertiesT, class >::write().

◆ get_info()

template<typename Param >
detail::is_queue_info_desc< Param >::return_type sycl::_V1::queue::get_info

Queries SYCL queue for information.

The return type depends on information being queried.

Definition at line 265 of file queue.cpp.

◆ get_property()

template<typename PropertyT >
PropertyT sycl::_V1::queue::get_property ( ) const
inline
Returns
a copy of the property of type PropertyT that the queue was constructed with. If the queue was not constructed with the PropertyT property, an SYCL exception with errc::invalid error code is thrown.

Definition at line 472 of file queue.hpp.

◆ getNative()

ur_native_handle_t sycl::_V1::queue::getNative ( int32_t &  NativeHandleDesc) const

Definition at line 300 of file queue.cpp.

◆ has_property()

template<typename PropertyT >
bool sycl::_V1::queue::has_property ( ) const
inlinenoexcept
Returns
true if the queue was constructed with property specified by PropertyT.

Definition at line 465 of file queue.hpp.

Referenced by ext_codeplay_supports_fusion(), and sycl::_V1::ext::oneapi::experimental::submit_profiling_tag().

◆ is_in_order()

bool sycl::_V1::queue::is_in_order ( ) const

Returns whether the queue is in order or OoO.

Equivalent to has_property<property::queue::in_order>()

Definition at line 290 of file queue.cpp.

Referenced by ext_oneapi_get_last_event(), ext_oneapi_set_external_event(), and ext_oneapi_submit_barrier().

◆ mem_advise() [1/3]

event sycl::_V1::queue::mem_advise ( const void *  Ptr,
size_t  Length,
int  Advice,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Provides additional information to the underlying runtime about how different allocations are used.

Parameters
Ptris a USM pointer to the allocation.
Lengthis a number of bytes in the allocation.
Adviceis a device-defined advice for the specified allocation.
Returns
an event representing advice operation.

Definition at line 144 of file queue.cpp.

◆ mem_advise() [2/3]

event sycl::_V1::queue::mem_advise ( const void *  Ptr,
size_t  Length,
int  Advice,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Provides additional information to the underlying runtime about how different allocations are used.

Parameters
Ptris a USM pointer to the allocation.
Lengthis a number of bytes in the allocation.
Adviceis a device-defined advice for the specified allocation.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing advice operation.

Definition at line 159 of file queue.cpp.

◆ mem_advise() [3/3]

event sycl::_V1::queue::mem_advise ( const void *  Ptr,
size_t  Length,
int  Advice,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Provides additional information to the underlying runtime about how different allocations are used.

Parameters
Ptris a USM pointer to the allocation.
Lengthis a number of bytes in the allocation.
Adviceis a device-defined advice for the specified allocation.
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing advice operation.

Definition at line 151 of file queue.cpp.

◆ memcpy() [1/9]

template<typename T , typename PropertyListT >
event sycl::_V1::queue::memcpy ( ext::oneapi::experimental::device_global< T, PropertyListT > &  Dest,
const void *  Src,
size_t  NumBytes,
size_t  Offset,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from a USM memory region to a device_global.

Throws an exception if the copy operation intends to write outside the memory range

Parameters
Dest,asspecified through
NumBytesand
Offset.
Destis the destination device_glboal.
Srcis a USM pointer to the source memory.
NumBytesis a number of bytes to copy.
Offsetis the offset into
Destto copy to.
DepEventsis a vector of events that specifies the operation dependencies.
Returns
an event representing copy operation.

Definition at line 1076 of file queue.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::ext::oneapi::experimental::has_property(), sycl::_V1::invalid, sycl::_V1::detail::isDeviceGlobalUsedInKernel(), sycl::_V1::make_error_code(), sycl::_V1::handler::memcpy(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ memcpy() [2/9]

template<typename T , typename PropertyListT >
event sycl::_V1::queue::memcpy ( ext::oneapi::experimental::device_global< T, PropertyListT > &  Dest,
const void *  Src,
size_t  NumBytes,
size_t  Offset,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from a USM memory region to a device_global.

Throws an exception if the copy operation intends to write outside the memory range

Parameters
Dest,asspecified through
NumBytesand
Offset.
Destis the destination device_glboal.
Srcis a USM pointer to the source memory.
NumBytesis a number of bytes to copy.
Offsetis the offset into
Destto copy to.
DepEventis a vector of event that specifies the operation dependency.
Returns
an event representing copy operation.

Definition at line 1116 of file queue.hpp.

◆ memcpy() [3/9]

template<typename T , typename PropertyListT >
event sycl::_V1::queue::memcpy ( ext::oneapi::experimental::device_global< T, PropertyListT > &  Dest,
const void *  Src,
size_t  NumBytes = sizeof(T),
size_t  Offset = 0,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from a USM memory region to a device_global.

Throws an exception if the copy operation intends to write outside the memory range

Parameters
Dest,asspecified through
NumBytesand
Offset.
Destis the destination device_glboal.
Srcis a USM pointer to the source memory.
NumBytesis a number of bytes to copy.
Offsetis the offset into
Destto copy to.
Returns
an event representing copy operation.

Definition at line 1136 of file queue.hpp.

◆ memcpy() [4/9]

template<typename T , typename PropertyListT >
event sycl::_V1::queue::memcpy ( void *  Dest,
const ext::oneapi::experimental::device_global< T, PropertyListT > &  Src,
size_t  NumBytes,
size_t  Offset,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from a device_global to USM memory.

Throws an exception if the copy operation intends to read outside the memory range

Parameters
Src,asspecified through
NumBytesand
Offset.
Destis a USM pointer to copy to.
Srcis the source device_global.
NumBytesis a number of bytes to copy.
Offsetis the offset into
Srcto copy from.
DepEventsis a vector of events that specifies the operation dependencies.
Returns
an event representing copy operation.

Definition at line 1157 of file queue.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::ext::oneapi::experimental::has_property(), sycl::_V1::invalid, sycl::_V1::detail::isDeviceGlobalUsedInKernel(), sycl::_V1::make_error_code(), sycl::_V1::handler::memcpy(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ memcpy() [5/9]

template<typename T , typename PropertyListT >
event sycl::_V1::queue::memcpy ( void *  Dest,
const ext::oneapi::experimental::device_global< T, PropertyListT > &  Src,
size_t  NumBytes,
size_t  Offset,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from a device_global to USM memory.

Throws an exception if the copy operation intends to read outside the memory range

Parameters
Src,asspecified through
NumBytesand
Offset.
Destis a USM pointer to copy to.
Srcis the source device_global.
NumBytesis a number of bytes to copy.
Offsetis the offset into
Srcto copy from.
DepEventis a vector of event that specifies the operation dependency.
Returns
an event representing copy operation.

Definition at line 1195 of file queue.hpp.

◆ memcpy() [6/9]

template<typename T , typename PropertyListT >
event sycl::_V1::queue::memcpy ( void *  Dest,
const ext::oneapi::experimental::device_global< T, PropertyListT > &  Src,
size_t  NumBytes = sizeof(T),
size_t  Offset = 0,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Copies data from a device_global to USM memory.

Throws an exception if the copy operation intends to read outside the memory range

Parameters
Src,asspecified through
NumBytesand
Offset.
Destis a USM pointer to copy to.
Srcis the source device_global.
NumBytesis a number of bytes to copy.
Offsetis the offset into
Srcto copy from.
Returns
an event representing copy operation.

Definition at line 1216 of file queue.hpp.

◆ memcpy() [7/9]

event sycl::_V1::queue::memcpy ( void *  Dest,
const void *  Src,
size_t  Count,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Copies data from one memory region to another, each is either a host pointer or a pointer within USM allocation accessible on the device associated with this queue.

No operations is done if

Parameters
Countis zero. An exception is thrown if either
Destor
Srcis nullptr. The behavior is undefined if any of the pointer parameters is invalid.
Destis a USM pointer to the destination memory.
Srcis a USM pointer to the source memory.
Countis a number of bytes to copy.
Returns
an event representing copy operation.

Definition at line 122 of file queue.cpp.

◆ memcpy() [8/9]

event sycl::_V1::queue::memcpy ( void *  Dest,
const void *  Src,
size_t  Count,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Copies data from one memory region to another, each is either a host pointer or a pointer within USM allocation accessible on the device associated with this queue.

No operations is done if

Parameters
Countis zero. An exception is thrown if either
Destor
Srcis nullptr. The behavior is undefined if any of the pointer parameters is invalid.
Destis a USM pointer to the destination memory.
Srcis a USM pointer to the source memory.
Countis a number of bytes to copy.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing copy operation.

Definition at line 136 of file queue.cpp.

◆ memcpy() [9/9]

event sycl::_V1::queue::memcpy ( void *  Dest,
const void *  Src,
size_t  Count,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Copies data from one memory region to another, each is either a host pointer or a pointer within USM allocation accessible on the device associated with this queue.

No operations is done if

Parameters
Countis zero. An exception is thrown if either
Destor
Srcis nullptr. The behavior is undefined if any of the pointer parameters is invalid.
Destis a USM pointer to the destination memory.
Srcis a USM pointer to the source memory.
Countis a number of bytes to copy.
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing copy operation.

Definition at line 129 of file queue.cpp.

◆ memset() [1/3]

event sycl::_V1::queue::memset ( void *  Ptr,
int  Value,
size_t  Count,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Fills the memory pointed by a USM pointer with the value specified.

No operations is done if

Parameters
Countis zero. An exception is thrown if
Ptris nullptr. The behavior is undefined if
Ptris invalid.
Ptris a USM pointer to the memory to fill.
Valueis a value to be set. Value is cast as an unsigned char.
Countis a number of bytes to fill.
Returns
an event representing fill operation.

Definition at line 101 of file queue.cpp.

Referenced by syclcompat::detail::memset().

◆ memset() [2/3]

event sycl::_V1::queue::memset ( void *  Ptr,
int  Value,
size_t  Count,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Fills the memory pointed by a USM pointer with the value specified.

No operations is done if

Parameters
Countis zero. An exception is thrown if
Ptris nullptr. The behavior is undefined if
Ptris invalid.
Ptris a USM pointer to the memory to fill.
Valueis a value to be set. Value is cast as an unsigned char.
Countis a number of bytes to fill.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing fill operation.

Definition at line 114 of file queue.cpp.

◆ memset() [3/3]

event sycl::_V1::queue::memset ( void *  Ptr,
int  Value,
size_t  Count,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)

Fills the memory pointed by a USM pointer with the value specified.

No operations is done if

Parameters
Countis zero. An exception is thrown if
Ptris nullptr. The behavior is undefined if
Ptris invalid.
Ptris a USM pointer to the memory to fill.
Valueis a value to be set. Value is cast as an unsigned char.
Countis a number of bytes to fill.
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing fill operation.

Definition at line 107 of file queue.cpp.

◆ operator!=()

bool sycl::_V1::queue::operator!= ( const queue RHS) const
inline

Definition at line 292 of file queue.hpp.

◆ operator=() [1/2]

queue& sycl::_V1::queue::operator= ( const queue RHS)
default

◆ operator=() [2/2]

queue& sycl::_V1::queue::operator= ( queue &&  RHS)
default

◆ operator==()

bool sycl::_V1::queue::operator== ( const queue RHS) const
inline

Definition at line 290 of file queue.hpp.

◆ parallel_for() [1/14]

template<typename KernelName = detail::auto_name, int Dims, typename... RestT>
event sycl::_V1::queue::parallel_for ( nd_range< Dims >  Range,
const std::vector< event > &  DepEvents,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + nd_range that specifies global, local sizes and offset.

Parameters
Rangespecifies the global and local work spaces of the kernel
DepEventsis a vector of events that specifies the kernel dependencies
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2419 of file queue.hpp.

References sycl::_V1::handler::depends_on(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ parallel_for() [2/14]

template<typename KernelName = detail::auto_name, int Dims, typename... RestT>
event sycl::_V1::queue::parallel_for ( nd_range< Dims >  Range,
event  DepEvent,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + nd_range that specifies global, local sizes and offset.

Parameters
Rangespecifies the global and local work spaces of the kernel
DepEventis an event that specifies the kernel dependencies
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2395 of file queue.hpp.

References sycl::_V1::handler::depends_on(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ parallel_for() [3/14]

template<typename KernelName = detail::auto_name, int Dims, typename PropertiesT , typename... RestT>
std::enable_if_t< detail::AreAllButLastReductions<RestT...>::value && ext::oneapi::experimental::is_property_list<PropertiesT>::value, event> sycl::_V1::queue::parallel_for ( nd_range< Dims >  Range,
PropertiesT  Properties,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + nd_range that specifies global, local sizes and offset.

Parameters
Rangespecifies the global and local work spaces of the kernel
Propertiesis the kernel properties.
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2359 of file queue.hpp.

References sycl::_V1::ext::oneapi::experimental::submit().

◆ parallel_for() [4/14]

template<typename KernelName = detail::auto_name, int Dims, typename... RestT>
std::enable_if_t<detail::AreAllButLastReductions<RestT...>::value, event> sycl::_V1::queue::parallel_for ( nd_range< Dims >  Range,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + nd_range that specifies global, local sizes and offset.

Parameters
Rangespecifies the global and local work spaces of the kernel
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2381 of file queue.hpp.

◆ parallel_for() [5/14]

template<typename KernelName = detail::auto_name, typename... RestT>
event sycl::_V1::queue::parallel_for ( range< 1 >  Range,
const std::vector< event > &  DepEvents,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + range that specifies global size only.

Parameters
Rangespecifies the global work space of the kernel
DepEventsis a vector of events that specifies the kernel dependencies
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2221 of file queue.hpp.

◆ parallel_for() [6/14]

template<typename KernelName = detail::auto_name, typename... RestT>
event sycl::_V1::queue::parallel_for ( range< 1 >  Range,
event  DepEvent,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + range that specifies global size only.

Parameters
Rangespecifies the global work space of the kernel
DepEventis an event that specifies the kernel dependencies
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2184 of file queue.hpp.

◆ parallel_for() [7/14]

template<typename KernelName = detail::auto_name, typename... RestT>
event sycl::_V1::queue::parallel_for ( range< 1 >  Range,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + range that specifies global size only.

Parameters
Rangespecifies the global work space of the kernel
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2150 of file queue.hpp.

Referenced by syclcompat::detail::launch().

◆ parallel_for() [8/14]

template<typename KernelName = detail::auto_name, typename... RestT>
event sycl::_V1::queue::parallel_for ( range< 2 >  Range,
const std::vector< event > &  DepEvents,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + range that specifies global size only.

Parameters
Rangespecifies the global work space of the kernel
DepEventsis a vector of events that specifies the kernel dependencies
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2235 of file queue.hpp.

◆ parallel_for() [9/14]

template<typename KernelName = detail::auto_name, typename... RestT>
event sycl::_V1::queue::parallel_for ( range< 2 >  Range,
event  DepEvent,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + range that specifies global size only.

Parameters
Rangespecifies the global work space of the kernel
DepEventis an event that specifies the kernel dependencies
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2196 of file queue.hpp.

◆ parallel_for() [10/14]

template<typename KernelName = detail::auto_name, typename... RestT>
event sycl::_V1::queue::parallel_for ( range< 2 >  Range,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + range that specifies global size only.

Parameters
Rangespecifies the global work space of the kernel
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2161 of file queue.hpp.

◆ parallel_for() [11/14]

template<typename KernelName = detail::auto_name, typename... RestT>
event sycl::_V1::queue::parallel_for ( range< 3 >  Range,
const std::vector< event > &  DepEvents,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + range that specifies global size only.

Parameters
Rangespecifies the global work space of the kernel
DepEventsis a vector of events that specifies the kernel dependencies
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2249 of file queue.hpp.

◆ parallel_for() [12/14]

template<typename KernelName = detail::auto_name, typename... RestT>
event sycl::_V1::queue::parallel_for ( range< 3 >  Range,
event  DepEvent,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + range that specifies global size only.

Parameters
Rangespecifies the global work space of the kernel
DepEventis an event that specifies the kernel dependencies
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2208 of file queue.hpp.

◆ parallel_for() [13/14]

template<typename KernelName = detail::auto_name, typename... RestT>
event sycl::_V1::queue::parallel_for ( range< 3 >  Range,
RestT &&...  Rest 
)
inline

parallel_for version with a kernel represented as a lambda + range that specifies global size only.

Parameters
Rangespecifies the global work space of the kernel
Restacts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc".

Definition at line 2172 of file queue.hpp.

◆ parallel_for() [14/14]

template<typename KernelName = detail::auto_name, typename KernelType , int Dim>
event sycl::_V1::queue::parallel_for ( range< Dim >  Range,
id< Dim >  WorkItemOffset,
const std::vector< event > &  DepEvents,
_KERNELFUNCPARAM(KernelFunc)   
)
inline

parallel_for version with a kernel represented as a lambda + range and offset that specify global size and global offset correspondingly.

Parameters
Rangespecifies the global work space of the kernel
WorkItemOffsetspecifies the offset for each work item id
KernelFuncis the Kernel functor or lambda
CodeLoccontains the code location of user code

Definition at line 2266 of file queue.hpp.

◆ parallel_for_impl() [1/3]

template<typename KernelName = detail::auto_name, typename KernelType , int Dims>
event sycl::_V1::queue::parallel_for_impl ( range< Dims >  Range,
id< Dims >  WorkItemOffset,
_KERNELFUNCPARAM(KernelFunc)   
)
inline

parallel_for version with a kernel represented as a lambda + range and offset that specify global size and global offset correspondingly.

Parameters
Rangespecifies the global work space of the kernel
WorkItemOffsetspecifies the offset for each work item id
KernelFuncis the Kernel functor or lambda
CodeLoccontains the code location of user code

Definition at line 2284 of file queue.hpp.

References sycl::_V1::ext::oneapi::experimental::submit().

◆ parallel_for_impl() [2/3]

template<typename KernelName = detail::auto_name, typename KernelType , int Dims>
event sycl::_V1::queue::parallel_for_impl ( range< Dims >  Range,
id< Dims >  WorkItemOffset,
const std::vector< event > &  DepEvents,
_KERNELFUNCPARAM(KernelFunc)   
)
inline

parallel_for version with a kernel represented as a lambda + range and offset that specify global size and global offset correspondingly.

Parameters
Rangespecifies the global work space of the kernel
WorkItemOffsetspecifies the offset for each work item id
DepEventsis a vector of events that specifies the kernel dependencies
KernelFuncis the Kernel functor or lambda
CodeLoccontains the code location of user code

Definition at line 2332 of file queue.hpp.

References sycl::_V1::handler::depends_on(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ parallel_for_impl() [3/3]

template<typename KernelName = detail::auto_name, typename KernelType , int Dims>
event sycl::_V1::queue::parallel_for_impl ( range< Dims >  Range,
id< Dims >  WorkItemOffset,
event  DepEvent,
_KERNELFUNCPARAM(KernelFunc)   
)
inline

parallel_for version with a kernel represented as a lambda + range and offset that specify global size and global offset correspondingly.

Parameters
Rangespecifies the global work space of the kernel
WorkItemOffsetspecifies the offset for each work item id
DepEventis an event that specifies the kernel dependencies
KernelFuncis the Kernel functor or lambda
CodeLoccontains the code location of user code

Definition at line 2307 of file queue.hpp.

References sycl::_V1::handler::depends_on(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ prefetch() [1/3]

event sycl::_V1::queue::prefetch ( const void *  Ptr,
size_t  Count,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Provides hints to the runtime library that data should be made available on a device earlier than Unified Shared Memory would normally require it to be available.

Parameters
Ptris a USM pointer to the memory to be prefetched to the device.
Countis a number of bytes to be prefetched.
Returns
an event representing prefetch operation.

Definition at line 733 of file queue.hpp.

References sycl::_V1::handler::prefetch(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ prefetch() [2/3]

event sycl::_V1::queue::prefetch ( const void *  Ptr,
size_t  Count,
const std::vector< event > &  DepEvents,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Provides hints to the runtime library that data should be made available on a device earlier than Unified Shared Memory would normally require it to be available.

Parameters
Ptris a USM pointer to the memory to be prefetched to the device.
Countis a number of bytes to be prefetched.
DepEventsis a vector of events that specifies the kernel dependencies.
Returns
an event representing prefetch operation.

Definition at line 769 of file queue.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::prefetch(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ prefetch() [3/3]

event sycl::_V1::queue::prefetch ( const void *  Ptr,
size_t  Count,
event  DepEvent,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Provides hints to the runtime library that data should be made available on a device earlier than Unified Shared Memory would normally require it to be available.

Parameters
Ptris a USM pointer to the memory to be prefetched to the device.
Countis a number of bytes to be prefetched.
DepEventis an event that specifies the kernel dependencies.
Returns
an event representing prefetch operation.

Definition at line 748 of file queue.hpp.

References sycl::_V1::handler::depends_on(), sycl::_V1::handler::prefetch(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ single_task() [1/6]

template<typename KernelName = detail::auto_name, typename KernelType >
event sycl::_V1::queue::single_task ( _KERNELFUNCPARAM(KernelFunc)  ,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

single_task version with a kernel represented as a lambda.

Parameters
KernelFuncis the Kernel functor or lambda
CodeLoccontains the code location of user code

Definition at line 2043 of file queue.hpp.

◆ single_task() [2/6]

template<typename KernelName = detail::auto_name, typename KernelType >
event sycl::_V1::queue::single_task ( const std::vector< event > &  DepEvents,
_KERNELFUNCPARAM(KernelFunc)  ,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

single_task version with a kernel represented as a lambda.

Parameters
DepEventsis a vector of events that specifies the kernel dependencies
KernelFuncis the Kernel functor or lambda
CodeLoccontains the code location of user code

Definition at line 2135 of file queue.hpp.

◆ single_task() [3/6]

template<typename KernelName = detail::auto_name, typename KernelType , typename PropertiesT >
std::enable_if_t< ext::oneapi::experimental::is_property_list<PropertiesT>::value, event> sycl::_V1::queue::single_task ( const std::vector< event > &  DepEvents,
PropertiesT  Properties,
_KERNELFUNCPARAM(KernelFunc)  ,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

single_task version with a kernel represented as a lambda.

Parameters
DepEventsis a vector of events that specifies the kernel dependencies
Propertiesis the kernel properties.
KernelFuncis the Kernel functor or lambda
CodeLoccontains the code location of user code

Definition at line 2106 of file queue.hpp.

References sycl::_V1::handler::depends_on(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ single_task() [4/6]

template<typename KernelName = detail::auto_name, typename KernelType >
event sycl::_V1::queue::single_task ( event  DepEvent,
_KERNELFUNCPARAM(KernelFunc)  ,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

single_task version with a kernel represented as a lambda.

Parameters
DepEventis an event that specifies the kernel dependencies
KernelFuncis the Kernel functor or lambda
CodeLoccontains the code location of user code

Definition at line 2087 of file queue.hpp.

◆ single_task() [5/6]

template<typename KernelName = detail::auto_name, typename KernelType , typename PropertiesT >
std::enable_if_t< ext::oneapi::experimental::is_property_list<PropertiesT>::value, event> sycl::_V1::queue::single_task ( event  DepEvent,
PropertiesT  Properties,
_KERNELFUNCPARAM(KernelFunc)  ,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

single_task version with a kernel represented as a lambda.

Parameters
DepEventis an event that specifies the kernel dependencies
Propertiesis the kernel properties.
KernelFuncis the Kernel functor or lambda
CodeLoccontains the code location of user code

Definition at line 2060 of file queue.hpp.

References sycl::_V1::handler::depends_on(), and sycl::_V1::ext::oneapi::experimental::submit().

◆ single_task() [6/6]

template<typename KernelName = detail::auto_name, typename KernelType , typename PropertiesT >
std::enable_if_t< ext::oneapi::experimental::is_property_list<PropertiesT>::value, event> sycl::_V1::queue::single_task ( PropertiesT  Properties,
_KERNELFUNCPARAM(KernelFunc)  ,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

single_task version with a kernel represented as a lambda.

Parameters
Propertiesis the kernel properties.
KernelFuncis the Kernel functor or lambda
CodeLoccontains the code location of user code

Definition at line 2018 of file queue.hpp.

References sycl::_V1::ext::oneapi::experimental::submit().

◆ submit() [1/2]

◆ submit() [2/2]

template<typename T >
std::enable_if_t<std::is_invocable_r_v<void, T, handler &>, event> sycl::_V1::queue::submit ( CGF,
queue SecondaryQueue,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Submits a command group function object to the queue, in order to be scheduled for execution on the device.

On a kernel error, this command group function object is then scheduled for execution on a secondary queue.

Parameters
CGFis a function object containing command group.
SecondaryQueueis a fallback SYCL queue.
CodeLocis the code location of the submit call (default argument)
Returns
a SYCL event object, which corresponds to the queue the command group is being enqueued on.

Definition at line 375 of file queue.hpp.

References sycl::_V1::ext::oneapi::experimental::device_has, and sycl::_V1::ext ::oneapi ::experimental::detail::submit_impl().

◆ throw_asynchronous()

void sycl::_V1::queue::throw_asynchronous ( )

Checks if any asynchronous errors have been produced by the queue and if so reports them to the async_handler passed on the queue construction.

If no async_handler was provided then asynchronous exceptions will be lost.

Definition at line 99 of file queue.cpp.

◆ update_host()

template<typename T , int Dims, access_mode Mode, target Tgt, access::placeholder IsPlaceholder>
event sycl::_V1::queue::update_host ( accessor< T, Dims, Mode, Tgt, IsPlaceholder Acc,
const detail::code_location CodeLoc = detail::code_location::current() 
)
inline

Provides guarantees that the memory object accessed via Acc is updated on the host after operation is complete.

Parameters
Accis a SYCL accessor that needs to be updated on host.
Returns
an event representing update_host operation.

Definition at line 2543 of file queue.hpp.

References sycl::_V1::handler::require(), sycl::_V1::ext::oneapi::experimental::submit(), and sycl::_V1::handler::update_host().

◆ wait()

void sycl::_V1::queue::wait ( const detail::code_location CodeLoc = detail::code_location::current())
inline

Performs a blocking wait for the completion of all enqueued tasks in the queue.

Synchronous errors will be reported through SYCL exceptions.

Parameters
CodeLocis the code location of the submit call (default argument)

Definition at line 429 of file queue.hpp.

Referenced by syclcompat::wait_and_free().

◆ wait_and_throw()

void sycl::_V1::queue::wait_and_throw ( const detail::code_location CodeLoc = detail::code_location::current())
inline

Performs a blocking wait for the completion of all enqueued tasks in the queue.

Synchronous errors will be reported through SYCL exceptions. Asynchronous errors will be passed to the async_handler passed to the queue on construction. If no async_handler was provided then asynchronous exceptions will be lost.

Parameters
CodeLocis the code location of the submit call (default argument)

Definition at line 443 of file queue.hpp.

◆ wait_and_throw_proxy()

void sycl::_V1::queue::wait_and_throw_proxy ( const detail::code_location CodeLoc)

Proxy method for wait_and_throw to forward the code location information to the implementation.

Definition at line 200 of file queue.cpp.

◆ wait_proxy()

void sycl::_V1::queue::wait_proxy ( const detail::code_location CodeLoc)

Proxy method for wait to forward the code location information to the implementation.

Definition at line 196 of file queue.cpp.

Friends And Related Function Documentation

◆ detail::createSyclObjFromImpl

template<class T >
T detail::createSyclObjFromImpl ( decltype(T::impl)  ImplObj)
friend

◆ ext::oneapi::experimental::detail::submit_impl

template<typename CommandGroupFunc >
void ext::oneapi::experimental::detail::submit_impl ( queue Q,
CommandGroupFunc &&  CGF,
const sycl::detail::code_location &  CodeLoc 
)
friend

◆ get_native

template<backend BackendName, class SyclObjectT >
auto get_native ( const SyclObjectT &  Obj) -> backend_return_t< BackendName, SyclObjectT >
friend

Definition at line 138 of file backend.hpp.

Member Data Documentation

◆ AsyncHandler

const device_selector const async_handler& sycl::_V1::queue::AsyncHandler

Definition at line 248 of file queue.hpp.

Referenced by queue().

◆ DeviceSelector

const device_selector & sycl::_V1::queue::DeviceSelector

Definition at line 234 of file queue.hpp.

◆ PropList [1/3]

const property_list& sycl::_V1::queue::PropList
Initial value:
= {})
__SYCL2020_DEPRECATED("SYCL 1.2.1 device selectors are deprecated. Please "
"use SYCL 2020 device selectors instead.")
const async_handler &AsyncHandler, const property_list &PropList = {})
: queue(DeviceSelector.select_device(), AsyncHandler, PropList) {}
explicit queue(const device &SyclDevice, const property_list &PropList = {})
explicit queue(const device &SyclDevice, const async_handler &AsyncHandler,
const property_list &PropList = {})
const property_list & PropList
Definition: queue.hpp:194
queue(const property_list &PropList={})
Constructs a SYCL queue instance using the device returned by an instance of default_selector.
Definition: queue.hpp:116
__SYCL2020_DEPRECATED("SYCL 1.2.1 device selectors are deprecated. Please " "use SYCL 2020 device selectors instead.") queue(const device_selector &DeviceSelector
Constructs a SYCL queue instance using the device returned by the DeviceSelector provided.
const device_selector const async_handler & AsyncHandler
Definition: queue.hpp:248
const device_selector & DeviceSelector
Definition: queue.hpp:234
void defaultAsyncHandler(exception_list Exceptions)
std::function< void(sycl::exception_list)> async_handler

Definition at line 194 of file queue.hpp.

Referenced by queue().

◆ PropList [2/3]

const device_selector const property_list& sycl::_V1::queue::PropList = {})

Definition at line 235 of file queue.hpp.

◆ PropList [3/3]

const device_selector const async_handler const property_list& sycl::_V1::queue::PropList = {})

Definition at line 248 of file queue.hpp.


The documentation for this class was generated from the following files: