Encapsulates a single SYCL queue which schedules kernels on a SYCL device. More...
#include <sycl/queue.hpp>
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 | |
queue & | operator= (const queue &RHS)=default |
queue & | operator= (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::modifiable > | ext_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 & >, event > | submit (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 & >, event > | submit (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::external_semaphore extSemaphore, 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::external_semaphore extSemaphore, 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::external_semaphore extSemaphore, 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::external_semaphore extSemaphore, 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::external_semaphore extSemaphore, 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::external_semaphore extSemaphore, 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::external_semaphore extSemaphore, 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::external_semaphore extSemaphore, 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::external_semaphore extSemaphore, 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::external_semaphore extSemaphore, 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::external_semaphore extSemaphore, 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::external_semaphore 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, event > | single_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, event > | single_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, event > | single_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, event > | parallel_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, event > | parallel_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) |
![]() | |
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_list & | PropList |
const device_selector & | DeviceSelector |
const device_selector const property_list & | PropList = {}) |
const device_selector const async_handler & | AsyncHandler |
const device_selector const async_handler const property_list & | PropList = {}) |
Friends | |
template<class T > | |
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) |
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.
|
inlineexplicit |
|
inline |
|
inlineexplicit |
Constructs a SYCL queue instance using the device identified by the device selector provided.
DeviceSelector | is SYCL 2020 Device Selector, a simple callable that takes a device and returns an int |
AsyncHandler | is a SYCL asynchronous exception handler. |
PropList | is a list of properties for queue construction. |
|
inlineexplicit |
Constructs a SYCL queue instance using the device identified by the device selector provided.
DeviceSelector | is SYCL 2020 Device Selector, a simple callable that takes a device and returns an int |
PropList | is a list of properties for queue construction. |
|
inlineexplicit |
Constructs a SYCL queue instance using the device identified by the device selector provided.
SyclContext | is an instance of SYCL context. |
DeviceSelector | is SYCL 2020 Device Selector, a simple callable that takes a device and returns an int |
PropList | is a list of properties for queue construction. |
|
inlineexplicit |
Constructs a SYCL queue instance using the device identified by the device selector provided.
SyclContext | is an instance of SYCL context. |
DeviceSelector | is SYCL 2020 Device Selector, a simple callable that takes a device and returns an int |
AsyncHandler | is a SYCL asynchronous exception handler. |
PropList | is a list of properties for queue construction. |
sycl::_V1::queue::queue | ( | const context & | SyclContext, |
const device & | SyclDevice, | ||
const property_list & | PropList = {} |
||
) |
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.
SyclContext | is an instance of SYCL context. |
SyclDevice | is an instance of SYCL device. |
AsyncHandler | is a SYCL asynchronous exception handler. |
PropList | is a list of properties for queue construction. |
Definition at line 39 of file queue.cpp.
References AsyncHandler, sycl::_V1::detail::getSyclObjImpl(), and PropList.
|
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.
ClQueue | is a valid instance of OpenCL queue. |
SyclContext | is a valid SYCL context. |
AsyncHandler | is a SYCL asynchronous exception handler. |
|
default |
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.
SyclContext | is an instance of SYCL context. |
DeviceSelector | is an instance of SYCL device selector. |
PropList | is a list of properties for queue construction. |
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.
SyclContext | is an instance of SYCL context. |
DeviceSelector | is an instance of SYCL device selector. |
AsyncHandler | is a SYCL asynchronous exception handler. |
PropList | is a list of properties for queue construction. |
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.
DeviceSelector | is an instance of a SYCL 1.2.1 device_selector. |
PropList | is a list of properties for queue construction. |
|
inline |
Copies data from a memory region pointed to by a placeholder accessor to another memory region pointed to by a raw pointer.
Src | is a placeholder accessor to the source memory. |
Dest | is a raw pointer to the destination memory. |
Definition at line 2482 of file queue.hpp.
References sycl::_V1::handler::copy(), sycl::_V1::handler::require(), and sycl::_V1::ext::oneapi::experimental::submit().
|
inline |
Copies data from a memory region pointed to by a placeholder accessor to another memory region pointed to by a shared_ptr.
Src | is a placeholder accessor to the source memory. |
Dest | is a shared_ptr to the destination memory. |
Definition at line 2442 of file queue.hpp.
References sycl::_V1::handler::copy(), sycl::_V1::handler::require(), and sycl::_V1::ext::oneapi::experimental::submit().
|
inline |
Copies data from one memory region to another, both pointed by placeholder accessors.
Src | is a placeholder accessor to the source memory. |
Dest | is a placeholder accessor to the destination memory. |
Definition at line 2523 of file queue.hpp.
References sycl::_V1::handler::copy(), sycl::_V1::handler::require(), and sycl::_V1::ext::oneapi::experimental::submit().
|
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
Src,as | specified through |
Count | and |
StartIndex. | |
Src | is the source device_global. |
Dest | is a USM pointer to copy to. |
Count | is a number of elements to copy. |
StartIndex | is the index of the first element in Src to copy from. |
DepEvents | is a vector of events that specifies the operation dependencies. |
|
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
Src,as | specified through |
Count | and |
StartIndex. | |
Src | is the source device_global. |
Dest | is a USM pointer to copy to. |
Count | is a number of elements to copy. |
StartIndex | is the index of the first element in Src to copy from. |
DepEvent | is a vector of event that specifies the operation dependency. |
|
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
Src,as | specified through |
Count | and |
StartIndex. | |
Src | is the source device_global. |
Dest | is a USM pointer to copy to. |
Count | is a number of elements to copy. |
StartIndex | is the index of the first element in Src to copy from. |
|
inline |
Copies data from a memory region pointed to by a raw pointer to another memory region pointed to by a placeholder accessor.
Src | is a raw pointer to the source memory. |
Dest | is a placeholder accessor to the destination memory. |
Definition at line 2501 of file queue.hpp.
References sycl::_V1::handler::copy(), sycl::_V1::handler::require(), and sycl::_V1::ext::oneapi::experimental::submit().
|
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
Dest,as | specified through |
Count | and |
StartIndex. | |
Src | is a USM pointer to the source memory. |
Dest | is the destination device_glboal. |
Count | is a number of elements to copy. |
StartIndex | is the index of the first element in Dest to copy to. |
DepEvents | is a vector of events that specifies the operation dependencies. |
|
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
Dest,as | specified through |
Count | and |
StartIndex. | |
Src | is a USM pointer to the source memory. |
Dest | is the destination device_glboal. |
Count | is a number of elements to copy. |
StartIndex | is the index of the first element in Dest to copy to. |
DepEvent | is a vector of event that specifies the operation dependency. |
|
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
Dest,as | specified through |
Count | and |
StartIndex. | |
Src | is a USM pointer to the source memory. |
Dest | is the destination device_glboal. |
Count | is a number of elements to copy. |
StartIndex | is the index of the first element in Dest to copy to. |
|
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
Count | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr. The behavior is undefined if any of the pointer parameters is invalid. |
Src | is a USM pointer to the source memory. |
Dest | is a USM pointer to the destination memory. |
Count | is a number of elements of type T to copy. |
CodeLoc | contains the code location of user code |
|
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
Count | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr. The behavior is undefined if any of the pointer parameters is invalid. |
Src | is a USM pointer to the source memory. |
Dest | is a USM pointer to the destination memory. |
Count | is a number of elements of type T to copy. |
DepEvents | is a vector of events that specifies the kernel |
CodeLoc | contains the code location of user code |
|
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
Count | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr. The behavior is undefined if any of the pointer parameters is invalid. |
Src | is a USM pointer to the source memory. |
Dest | is a USM pointer to the destination memory. |
Count | is a number of elements of type T to copy. |
DepEvent | is an event that specifies the kernel dependencies. |
CodeLoc | contains the code location of user code |
|
inline |
Copies data from a memory region pointed to by a shared_ptr to another memory region pointed to by a placeholder accessor.
Src | is a shared_ptr to the source memory. |
Dest | is a placeholder accessor to the destination memory. |
Definition at line 2462 of file queue.hpp.
References sycl::_V1::handler::copy(), sycl::_V1::handler::require(), and sycl::_V1::ext::oneapi::experimental::submit().
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().
|
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
Src | is an opaque image memory handle to the source memory. |
Dest | is an opaque image memory handle to the destination memory. |
ImageDesc | is the source image descriptor |
Definition at line 1601 of file bindless_images.hpp.
References sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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
Src | is an opaque image memory handle to the source memory. |
Dest | is an opaque image memory handle to the destination memory. |
ImageDesc | is the source image descriptor |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 1587 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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
Src | is an opaque image memory handle to the source memory. |
Dest | is an opaque image memory handle to the destination memory. |
ImageDesc | is the source image descriptor |
DepEvent | is an events that specifies the kernel dependency. |
Definition at line 1573 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is an opaque image memory handle to the source memory. |
SrcOffset | is an offset from the origin of source measured in pixels (pixel size determined by SrcImgDesc ) |
SrcImgDesc | is the source image descriptor |
Dest | is a USM pointer to the destination memory. |
DestOffset | is an offset from the destination origin where the x, y, and z components are measured in bytes, rows, and slices respectively |
DestExtent | is the extent of the dest memory to copy, measured in pixels (pixel size determined by DestImgDesc ) |
CopyExtent | is the width, height, and depth of the region to copy measured in pixels (pixel size determined by SrcImgDesc ) |
Definition at line 1457 of file bindless_images.hpp.
References sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is an opaque image memory handle to the source memory. |
SrcOffset | is an offset from the origin of source measured in pixels (pixel size determined by SrcImgDesc ) |
SrcImgDesc | is the source image descriptor |
Dest | is a USM pointer to the destination memory. |
DestOffset | is an offset from the destination origin where the x, y, and z components are measured in bytes, rows, and slices respectively |
DestExtent | is the extent of the dest memory to copy, measured in pixels (pixel size determined by DestImgDesc ) |
CopyExtent | is the width, height, and depth of the region to copy measured in pixels (pixel size determined by SrcImgDesc ) |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 1515 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is an opaque image memory handle to the source memory. |
SrcOffset | is an offset from the origin of source measured in pixels (pixel size determined by SrcImgDesc ) |
SrcImgDesc | is the source image descriptor |
Dest | is a USM pointer to the destination memory. |
DestOffset | is an offset from the destination origin where the x, y, and z components are measured in bytes, rows, and slices respectively |
DestExtent | is the extent of the dest memory to copy, measured in pixels (pixel size determined by DestImgDesc ) |
CopyExtent | is the width, height, and depth of the region to copy measured in pixels (pixel size determined by SrcImgDesc ) |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 1485 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is an opaque image memory handle to the source memory. |
Dest | is a USM pointer to the destination memory. |
SrcImgDesc | is the source image descriptor. |
Definition at line 1447 of file bindless_images.hpp.
References sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is an opaque image memory handle to the source memory. |
Dest | is a USM pointer to the destination memory. |
SrcImgDesc | is the image descriptor (format, order, dimensions). |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 1502 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is an opaque image memory handle to the source memory. |
Dest | is a USM pointer to the destination memory. |
SrcImgDesc | is the image descriptor (format, order, dimensions). |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 1472 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is a USM pointer to the source memory. |
Dest | is a wrapper for an opaque image memory handle to the destination memory. |
DestImgDesc | is the image descriptor (format, order, dimensions). |
Definition at line 1365 of file bindless_images.hpp.
References sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is a USM pointer to the source memory. |
Dest | is a wrapper for an opaque image memory handle to the destination memory. |
DestImgDesc | is the destination image descriptor |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 1418 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is a USM pointer to the source memory. |
Dest | is a wrapper for an opaque image memory handle to the destination memory. |
DestImgDesc | is the destination image descriptor |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 1389 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is a USM pointer to the source memory. |
SrcOffset | is an offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively |
SrcExtent | is the extent of the source memory to copy, measured in pixels (pixel size determined by DestImgDesc ) |
Dest | is an opaque image memory handle to the destination memory. |
DestOffset | is an offset from the destination origin measured in pixels (pixel size determined by DestImgDesc ) |
DestImgDesc | is the destination image descriptor |
CopyExtent | is the width, height, and depth of the region to copy measured in pixels as determined by DestImgDesc |
Definition at line 1375 of file bindless_images.hpp.
References sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is a USM pointer to the source memory. |
SrcOffset | is an offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively |
SrcExtent | is the extent of the source memory to copy, measured in pixels (pixel size determined by DestImgDesc ) |
Dest | is an opaque image memory handle to the destination memory. |
DestOffset | is an offset from the destination origin measured in pixels (pixel size determined by DestImgDesc ) |
DestImgDesc | is the destination image descriptor |
CopyExtent | is the width, height, and depth of the region to copy measured in pixels as determined by DestImgDesc |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 1431 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is a USM pointer to the source memory. |
SrcOffset | is an offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively |
SrcExtent | is the extent of the source memory to copy, measured in pixels (pixel size determined by DestImgDesc ) |
Dest | is an opaque image memory handle to the destination memory. |
DestOffset | is an offset from the destination origin measured in pixels (pixel size determined by DestImgDesc ) |
DestImgDesc | is the destination image descriptor |
CopyExtent | is the width, height, and depth of the region to copy measured in pixels as determined by DestImgDesc |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 1402 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is a USM pointer to the source memory. |
SrcOffset | is an destination offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively |
Dest | is a USM pointer to the destination memory. |
DestOffset | is an destination offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively |
DeviceImgDesc | is the device image descriptor |
DeviceRowPitch | is the row pitch on the device |
HostExtent | is the extent of the host memory to copy, measured in pixels (pixel size determined by DeviceImgDesc ) |
CopyExtent | is the width, height, and depth of the region to copy measured in pixels (pixel size determined by DeviceImgDesc ) |
Definition at line 1544 of file bindless_images.hpp.
References sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is a USM pointer to the source memory. |
SrcOffset | is an destination offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively |
Dest | is a USM pointer to the destination memory. |
DestOffset | is an destination offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively |
DeviceImgDesc | is the destination image descriptor |
DeviceRowPitch | is the row pitch on the device |
HostExtent | is the extent of the host memory to copy, measured in pixels (pixel size determined by DeviceImgDesc ) |
CopyExtent | is the width, height, and depth of the region to copy measured in pixels (pixel size determined by DeviceImgDesc ) |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 1642 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is a USM pointer to the source memory. |
SrcOffset | is an destination offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively |
Dest | is a USM pointer to the destination memory. |
DestOffset | is an destination offset from the origin where the x, y, and z components are measured in bytes, rows, and slices respectively |
DeviceImgDesc | is the destination image descriptor |
DeviceRowPitch | is the row pitch on the device |
HostExtent | is the extent of the host memory to copy, measured in pixels (pixel size determined by DeviceImgDesc ) |
CopyExtent | is the width, height, and depth of the region to copy measured in pixels (pixel size determined by DeviceImgDesc ) |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 1612 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is a USM pointer to the source memory. |
Dest | is a USM pointer to the destination memory. |
DeviceImgDesc | is the image descriptor |
DeviceRowPitch | is the DeviceRowPitch of the rows on the device. |
Definition at line 1532 of file bindless_images.hpp.
References sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is a USM pointer to the source memory. |
Dest | is a USM pointer to the destination memory. |
DeviceImgDesc | is the image descriptor |
DeviceRowPitch | is the pitch of the rows on the device. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 1628 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
|
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.
Src | is a USM pointer to the source memory. |
Dest | is a USM pointer to the destination memory. |
DeviceImgDesc | is the image descriptor |
DeviceRowPitch | is the pitch of the rows on the device. |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 1559 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy(), and submit().
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
Width | or |
Height | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr or if |
Width | is strictly greater than either |
DestPitch | or |
SrcPitch. | The behavior is undefined if any of the pointer parameters is invalid. |
Src | is a USM pointer to the source memory. |
SrcPitch | is the pitch of the rows in |
Src. | |
Dest | is a USM pointer to the destination memory. |
DestPitch | is the pitch of the rows in |
Dest. | |
Width | is the width in number of elements of the 2D region to copy. |
Height | is the height in number of rows of the 2D region to copy. |
Definition at line 173 of file memcpy2d.hpp.
References sycl::_V1::handler::ext_oneapi_copy2d(), and submit().
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
Width | or |
Height | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr or if |
Width | is strictly greater than either |
DestPitch | or |
SrcPitch. | The behavior is undefined if any of the pointer parameters is invalid. |
Src | is a USM pointer to the source memory. |
SrcPitch | is the pitch of the rows in |
Src. | |
Dest | is a USM pointer to the destination memory. |
DestPitch | is the pitch of the rows in |
Dest. | |
Width | is the width in number of elements of the 2D region to copy. |
Height | is the height in number of rows of the 2D region to copy. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 197 of file memcpy2d.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy2d(), and submit().
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
Width | or |
Height | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr or if |
Width | is strictly greater than either |
DestPitch | or |
SrcPitch. | The behavior is undefined if any of the pointer parameters is invalid. |
Src | is a USM pointer to the source memory. |
SrcPitch | is the pitch of the rows in |
Src. | |
Dest | is a USM pointer to the destination memory. |
DestPitch | is the pitch of the rows in |
Dest. | |
Width | is the width in number of elements of the 2D region to copy. |
Height | is the height in number of rows of the 2D region to copy. |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 184 of file memcpy2d.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_copy2d(), and submit().
bool sycl::_V1::queue::ext_oneapi_empty | ( | ) | const |
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
Width | or |
Height | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr or if |
Width | is strictly greater than |
DestPitch. | The behavior is undefined if any of the pointer parameters is invalid. |
Dest | is a USM pointer to the destination memory. |
DestPitch | is the pitch of the rows in |
Dest. | |
Pattern | is the pattern to fill into the memory. T should be trivially copyable. |
Width | is the width in number of elements of the 2D region to fill. |
Height | is the height in number of rows of the 2D region to fill. |
Definition at line 246 of file memcpy2d.hpp.
References sycl::_V1::handler::ext_oneapi_fill2d(), and submit().
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
Width | or |
Height | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr or if |
Width | is strictly greater than |
DestPitch. | The behavior is undefined if any of the pointer parameters is invalid. |
Dest | is a USM pointer to the destination memory. |
DestPitch | is the pitch of the rows in |
Dest. | |
Pattern | is the pattern to fill into the memory. T should be trivially copyable. |
Width | is the width in number of elements of the 2D region to fill. |
Height | is the height in number of rows of the 2D region to fill. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 269 of file memcpy2d.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_fill2d(), and submit().
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
Width | or |
Height | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr or if |
Width | is strictly greater than |
DestPitch. | The behavior is undefined if any of the pointer parameters is invalid. |
Dest | is a USM pointer to the destination memory. |
DestPitch | is the pitch of the rows in |
Dest. | |
Pattern | is the pattern to fill into the memory. T should be trivially copyable. |
Width | is the width in number of elements of the 2D region to fill. |
Height | is the height in number of rows of the 2D region to fill. |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 257 of file memcpy2d.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_fill2d(), and submit().
ext::oneapi::experimental::command_graph< ext::oneapi::experimental::graph_state::modifiable > sycl::_V1::queue::ext_oneapi_get_graph | ( | ) | const |
Definition at line 87 of file queue.cpp.
References sycl::_V1::detail::createSyclObjFromImpl(), sycl::_V1::invalid, sycl::_V1::make_error_code(), and sycl::_V1::ext::oneapi::experimental::modifiable.
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::experimental::queue_state sycl::_V1::queue::ext_oneapi_get_state | ( | ) | const |
|
inline |
Shortcut for executing a graph of commands.
Graph | the graph of commands to execute |
Definition at line 2588 of file queue.hpp.
References sycl::_V1::handler::ext_oneapi_graph(), and sycl::_V1::ext::oneapi::experimental::submit().
|
inline |
Shortcut for executing a graph of commands with multiple dependencies.
Graph | the graph of commands to execute |
DepEvents | is a vector of events that specifies the graph execution dependencies. |
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().
|
inline |
Shortcut for executing a graph of commands with a single dependency.
Graph | the graph of commands to execute |
DepEvent | is an event that specifies the graph execution dependencies. |
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().
|
inline |
Copies data from one 2D memory region to another, both pointed by USM pointers.
No operations is done if
Width | or |
Height | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr or if |
Width | is strictly greater than either |
DestPitch | or |
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.
Dest | is a USM pointer to the destination memory. |
DestPitch | is the pitch of the rows in |
Dest. | |
Src | is a USM pointer to the source memory. |
SrcPitch | is the pitch of the rows in |
Src. | |
Width | is the width in bytes of the 2D region to copy. |
Height | is the height in number of rows of the 2D region to copy. |
Definition at line 801 of file queue.hpp.
References sycl::_V1::handler::ext_oneapi_memcpy2d(), and sycl::_V1::ext::oneapi::experimental::submit().
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
Width | or |
Height | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr or if |
Width | is strictly greater than either |
DestPitch | or |
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.
Dest | is a USM pointer to the destination memory. |
DestPitch | is the pitch of the rows in |
Dest. | |
Src | is a USM pointer to the source memory. |
SrcPitch | is the pitch of the rows in |
Src. | |
Width | is the width in bytes of the 2D region to copy. |
Height | is the height in number of rows of the 2D region to copy. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 159 of file memcpy2d.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_memcpy2d(), and submit().
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
Width | or |
Height | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr or if |
Width | is strictly greater than either |
DestPitch | or |
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.
Dest | is a USM pointer to the destination memory. |
DestPitch | is the pitch of the rows in |
Dest. | |
Src | is a USM pointer to the source memory. |
SrcPitch | is the pitch of the rows in |
Src. | |
Width | is the width in bytes of the 2D region to copy. |
Height | is the height in number of rows of the 2D region to copy. |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 145 of file memcpy2d.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_memcpy2d(), and submit().
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
Width | or |
Height | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr or if |
Width | is 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.
Dest | is a USM pointer to the destination memory. |
DestPitch | is the pitch of the rows in |
Dest. | |
Value | is the value to fill into the region in |
Dest. | Value is cast as an unsigned char. |
Width | is the width in number of elements of the 2D region to fill. |
Height | is the height in number of rows of the 2D region to fill. |
Definition at line 210 of file memcpy2d.hpp.
References sycl::_V1::handler::ext_oneapi_memset2d(), and submit().
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
Width | or |
Height | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr or if |
Width | is 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.
Dest | is a USM pointer to the destination memory. |
DestPitch | is the pitch of the rows in |
Dest. | |
Value | is the value to fill into the region in |
Dest. | Value is cast as an unsigned char. |
Width | is the width in number of elements of the 2D region to fill. |
Height | is the height in number of rows of the 2D region to fill. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 233 of file memcpy2d.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_memset2d(), and submit().
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
Width | or |
Height | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr or if |
Width | is 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.
Dest | is a USM pointer to the destination memory. |
DestPitch | is the pitch of the rows in |
Dest. | |
Value | is the value to fill into the region in |
Dest. | Value is cast as an unsigned char. |
Width | is the width in number of elements of the 2D region to fill. |
Height | is the height in number of rows of the 2D region to fill. |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 221 of file memcpy2d.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_memset2d(), and submit().
void sycl::_V1::queue::ext_oneapi_prod | ( | ) |
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().
|
inline |
Instruct the queue to signal the external semaphore once all previous commands have completed execution.
An exception is thrown if extSemaphore
is incomplete, or if the type of semaphore requires an explicit value to signal.
extSemaphore | is an opaque external semaphore object |
Definition at line 1718 of file bindless_images.hpp.
References sycl::_V1::handler::ext_oneapi_signal_external_semaphore(), and submit().
|
inline |
Instruct the queue to signal the external semaphore once all previous commands have completed execution.
An exception is thrown if extSemaphore
is incomplete, or if the type of semaphore requires an explicit value to signal.
extSemaphore | is an opaque external semaphore object |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 1741 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_signal_external_semaphore(), and submit().
|
inline |
Instruct the queue to signal the external semaphore once all previous commands have completed execution.
An exception is thrown if extSemaphore
is incomplete, or if the type of semaphore requires an explicit value to signal.
extSemaphore | is an opaque external semaphore object |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 1729 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_signal_external_semaphore(), and submit().
|
inline |
Instruct the queue to signal the external semaphore once all previous commands have completed execution.
An exception is thrown if extSemaphore
is incomplete, or if the type of semaphore does not support signalling an explicitly passed value.
extSemaphore | is an opaque external semaphore object |
SignalValue | is the value that this semaphore signal, once all prior opeartions on the queue complete. |
Definition at line 1753 of file bindless_images.hpp.
References sycl::_V1::handler::ext_oneapi_signal_external_semaphore(), and submit().
|
inline |
Instruct the queue to signal the external semaphore once all previous commands have completed execution.
An exception is thrown if extSemaphore
is incomplete, or if the type of semaphore does not support signalling an explicitly passed value.
extSemaphore | is an opaque external semaphore object |
SignalValue | is the value that this semaphore signal, once all prior opeartions on the queue complete. |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 1764 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_signal_external_semaphore(), and submit().
|
inline |
Instruct the queue to signal the external semaphore once all previous commands have completed execution.
An exception is thrown if extSemaphore
is incomplete, or if the type of semaphore does not support signalling an explicitly passed value.
extSemaphore | is an opaque external semaphore object |
SignalValue | is the value that this semaphore signal, once all prior opeartions on the queue complete. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 1777 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_signal_external_semaphore(), and submit().
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.
CodeLoc | is the code location of the submit call (default argument) |
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().
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.
WaitList | is a vector of valid SYCL events that need to complete before barrier command can be executed. |
CodeLoc | is the code location of the submit call (default argument) |
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().
|
inline |
Instruct the queue with a non-blocking wait on an external semaphore.
An exception is thrown if extSemaphore
is incomplete, or if the type of semaphore requires an explicit value to wait upon.
extSemaphore | is an opaque external semaphore object. |
Definition at line 1848 of file queue.hpp.
References sycl::_V1::handler::ext_oneapi_wait_external_semaphore(), and sycl::_V1::ext::oneapi::experimental::submit().
|
inline |
Instruct the queue with a non-blocking wait on an external semaphore.
An exception is thrown if extSemaphore
is incomplete, or if the type of semaphore requires an explicit value to wait upon.
extSemaphore | is an opaque external semaphore object. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 1670 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_wait_external_semaphore(), and submit().
|
inline |
Instruct the queue with a non-blocking wait on an external semaphore.
An exception is thrown if extSemaphore
is incomplete, or if the type of semaphore requires an explicit value to wait upon.
extSemaphore | is an opaque external semaphore object |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 1658 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_wait_external_semaphore(), and submit().
|
inline |
Instruct the queue with a non-blocking wait on an external semaphore.
An exception is thrown if extSemaphore
is incomplete, or if the type of semaphore does not support waiting on an explicitly passed value.
extSemaphore | is an opaque external semaphore object |
WaitValue | is the value that this semaphore will wait upon, until it allows any further commands to execute on the queue. |
Definition at line 1682 of file bindless_images.hpp.
References sycl::_V1::handler::ext_oneapi_wait_external_semaphore(), and submit().
|
inline |
Instruct the queue with a non-blocking wait on an external semaphore.
An exception is thrown if extSemaphore
is incomplete, or if the type of semaphore does not support waiting on an explicitly passed value.
extSemaphore | is an opaque external semaphore object |
WaitValue | is the value that this semaphore will wait upon, until it allows any further commands to execute on the queue. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
Definition at line 1705 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_wait_external_semaphore(), and submit().
|
inline |
Instruct the queue with a non-blocking wait on an external semaphore.
An exception is thrown if extSemaphore
is incomplete, or if the type of semaphore does not support waiting on an explicitly passed value.
extSemaphore | is an opaque external semaphore object |
WaitValue | is the value that this semaphore will wait upon, until it allows any further commands to execute on the queue. |
DepEvent | is an event that specifies the kernel dependencies. |
Definition at line 1693 of file bindless_images.hpp.
References sycl::_V1::handler::depends_on(), sycl::_V1::handler::ext_oneapi_wait_external_semaphore(), and submit().
|
inline |
Fills the specified memory with the specified data.
Dest | is the placeholder accessor to the memory to fill. |
Src | is the data to fill the memory with. T should be trivially copyable. |
Definition at line 2562 of file queue.hpp.
References sycl::_V1::handler::fill(), sycl::_V1::handler::require(), and sycl::_V1::ext::oneapi::experimental::submit().
|
inline |
Fills the specified memory with the specified pattern.
Ptr | is the pointer to the memory to fill. |
Pattern | is the pattern to fill into the memory. T should be trivially copyable. |
Count | is the number of times to fill Pattern into Ptr. |
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().
|
inline |
Fills the specified memory with the specified pattern.
Ptr | is the pointer to the memory to fill. |
Pattern | is the pattern to fill into the memory. T should be trivially copyable. |
Count | is the number of times to fill Pattern into Ptr. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
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().
|
inline |
Fills the specified memory with the specified pattern.
Ptr | is the pointer to the memory to fill. |
Pattern | is the pattern to fill into the memory. T should be trivially copyable. |
Count | is the number of times to fill Pattern into Ptr. |
DepEvent | is an event that specifies the kernel dependencies. |
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().
|
noexcept |
Returns the backend associated with this queue.
Definition at line 294 of file queue.cpp.
References sycl::_V1::detail::getImplBackend().
detail::is_backend_info_desc< Param >::return_type sycl::_V1::queue::get_backend_info |
context sycl::_V1::queue::get_context | ( | ) | const |
Definition at line 75 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(), syclcompat::detail::get_pointer_attribute(), 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::pointer_attributes::init(), syclcompat::detail::malloc(), sycl::_V1::ext::oneapi::experimental::malloc_annotated(), sycl::_V1::ext::oneapi::experimental::map_external_image_memory(), sycl::_V1::ext::oneapi::experimental::map_external_linear_memory(), sycl::_V1::ext::oneapi::experimental::pitched_alloc_device(), sycl::_V1::ext::oneapi::experimental::prepare_for_device_copy(), sycl::_V1::ext::oneapi::experimental::release_external_memory(), sycl::_V1::ext::oneapi::experimental::release_external_semaphore(), and sycl::_V1::ext::oneapi::experimental::release_from_device_copy().
device sycl::_V1::queue::get_device | ( | ) | const |
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::map_external_linear_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().
detail::is_queue_info_desc< Param >::return_type sycl::_V1::queue::get_info |
|
inline |
ur_native_handle_t sycl::_V1::queue::getNative | ( | int32_t & | NativeHandleDesc | ) | const |
|
inlinenoexcept |
Definition at line 465 of file queue.hpp.
Referenced by ext_codeplay_supports_fusion(), and sycl::_V1::ext::oneapi::experimental::submit_profiling_tag().
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().
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.
Ptr | is a USM pointer to the allocation. |
Length | is a number of bytes in the allocation. |
Advice | is a device-defined advice for the specified allocation. |
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.
Ptr | is a USM pointer to the allocation. |
Length | is a number of bytes in the allocation. |
Advice | is a device-defined advice for the specified allocation. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
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.
Ptr | is a USM pointer to the allocation. |
Length | is a number of bytes in the allocation. |
Advice | is a device-defined advice for the specified allocation. |
DepEvent | is an event that specifies the kernel dependencies. |
|
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
Dest,as | specified through |
NumBytes | and |
Offset. | |
Dest | is the destination device_glboal. |
Src | is a USM pointer to the source memory. |
NumBytes | is a number of bytes to copy. |
Offset | is the offset into |
Dest | to copy to. |
DepEvents | is a vector of events that specifies the operation dependencies. |
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().
|
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
Dest,as | specified through |
NumBytes | and |
Offset. | |
Dest | is the destination device_glboal. |
Src | is a USM pointer to the source memory. |
NumBytes | is a number of bytes to copy. |
Offset | is the offset into |
Dest | to copy to. |
DepEvent | is a vector of event that specifies the operation dependency. |
|
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
Dest,as | specified through |
NumBytes | and |
Offset. | |
Dest | is the destination device_glboal. |
Src | is a USM pointer to the source memory. |
NumBytes | is a number of bytes to copy. |
Offset | is the offset into |
Dest | to copy to. |
|
inline |
Copies data from a device_global to USM memory.
Throws an exception if the copy operation intends to read outside the memory range
Src,as | specified through |
NumBytes | and |
Offset. | |
Dest | is a USM pointer to copy to. |
Src | is the source device_global. |
NumBytes | is a number of bytes to copy. |
Offset | is the offset into |
Src | to copy from. |
DepEvents | is a vector of events that specifies the operation dependencies. |
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().
|
inline |
Copies data from a device_global to USM memory.
Throws an exception if the copy operation intends to read outside the memory range
Src,as | specified through |
NumBytes | and |
Offset. | |
Dest | is a USM pointer to copy to. |
Src | is the source device_global. |
NumBytes | is a number of bytes to copy. |
Offset | is the offset into |
Src | to copy from. |
DepEvent | is a vector of event that specifies the operation dependency. |
|
inline |
Copies data from a device_global to USM memory.
Throws an exception if the copy operation intends to read outside the memory range
Src,as | specified through |
NumBytes | and |
Offset. | |
Dest | is a USM pointer to copy to. |
Src | is the source device_global. |
NumBytes | is a number of bytes to copy. |
Offset | is the offset into |
Src | to copy from. |
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
Count | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr. The behavior is undefined if any of the pointer parameters is invalid. |
Dest | is a USM pointer to the destination memory. |
Src | is a USM pointer to the source memory. |
Count | is a number of bytes to copy. |
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
Count | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr. The behavior is undefined if any of the pointer parameters is invalid. |
Dest | is a USM pointer to the destination memory. |
Src | is a USM pointer to the source memory. |
Count | is a number of bytes to copy. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
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
Count | is zero. An exception is thrown if either |
Dest | or |
Src | is nullptr. The behavior is undefined if any of the pointer parameters is invalid. |
Dest | is a USM pointer to the destination memory. |
Src | is a USM pointer to the source memory. |
Count | is a number of bytes to copy. |
DepEvent | is an event that specifies the kernel dependencies. |
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
Count | is zero. An exception is thrown if |
Ptr | is nullptr. The behavior is undefined if |
Ptr | is invalid. |
Ptr | is a USM pointer to the memory to fill. |
Value | is a value to be set. Value is cast as an unsigned char. |
Count | is a number of bytes to fill. |
Definition at line 101 of file queue.cpp.
Referenced by syclcompat::detail::memset().
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
Count | is zero. An exception is thrown if |
Ptr | is nullptr. The behavior is undefined if |
Ptr | is invalid. |
Ptr | is a USM pointer to the memory to fill. |
Value | is a value to be set. Value is cast as an unsigned char. |
Count | is a number of bytes to fill. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
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
Count | is zero. An exception is thrown if |
Ptr | is nullptr. The behavior is undefined if |
Ptr | is invalid. |
Ptr | is a USM pointer to the memory to fill. |
Value | is a value to be set. Value is cast as an unsigned char. |
Count | is a number of bytes to fill. |
DepEvent | is an event that specifies the kernel dependencies. |
|
inline |
|
inline |
|
inline |
parallel_for version with a kernel represented as a lambda + nd_range that specifies global, local sizes and offset.
Range | specifies the global and local work spaces of the kernel |
DepEvents | is a vector of events that specifies the kernel dependencies |
Rest | acts 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().
|
inline |
parallel_for version with a kernel represented as a lambda + nd_range that specifies global, local sizes and offset.
Range | specifies the global and local work spaces of the kernel |
DepEvent | is an event that specifies the kernel dependencies |
Rest | acts 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().
|
inline |
parallel_for version with a kernel represented as a lambda + nd_range that specifies global, local sizes and offset.
Range | specifies the global and local work spaces of the kernel |
Properties | is the kernel properties. |
Rest | acts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc". |
Definition at line 2359 of file queue.hpp.
References sycl::_V1::ext::oneapi::experimental::submit().
|
inline |
parallel_for version with a kernel represented as a lambda + nd_range that specifies global, local sizes and offset.
Range | specifies the global and local work spaces of the kernel |
Rest | acts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc". |
|
inline |
parallel_for version with a kernel represented as a lambda + range that specifies global size only.
Range | specifies the global work space of the kernel |
DepEvents | is a vector of events that specifies the kernel dependencies |
Rest | acts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc". |
|
inline |
parallel_for version with a kernel represented as a lambda + range that specifies global size only.
Range | specifies the global work space of the kernel |
DepEvent | is an event that specifies the kernel dependencies |
Rest | acts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc". |
|
inline |
parallel_for version with a kernel represented as a lambda + range that specifies global size only.
Range | specifies the global work space of the kernel |
Rest | acts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc". |
Definition at line 2150 of file queue.hpp.
Referenced by syclcompat::detail::launch().
|
inline |
parallel_for version with a kernel represented as a lambda + range that specifies global size only.
Range | specifies the global work space of the kernel |
DepEvents | is a vector of events that specifies the kernel dependencies |
Rest | acts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc". |
|
inline |
parallel_for version with a kernel represented as a lambda + range that specifies global size only.
Range | specifies the global work space of the kernel |
DepEvent | is an event that specifies the kernel dependencies |
Rest | acts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc". |
|
inline |
parallel_for version with a kernel represented as a lambda + range that specifies global size only.
Range | specifies the global work space of the kernel |
DepEvents | is a vector of events that specifies the kernel dependencies |
Rest | acts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc". |
|
inline |
parallel_for version with a kernel represented as a lambda + range that specifies global size only.
Range | specifies the global work space of the kernel |
DepEvent | is an event that specifies the kernel dependencies |
Rest | acts as-if: "ReductionTypes&&... Reductions, const KernelType &KernelFunc". |
|
inline |
parallel_for version with a kernel represented as a lambda + range and offset that specify global size and global offset correspondingly.
Range | specifies the global work space of the kernel |
WorkItemOffset | specifies the offset for each work item id |
KernelFunc | is the Kernel functor or lambda |
CodeLoc | contains the code location of user code |
|
inline |
parallel_for version with a kernel represented as a lambda + range and offset that specify global size and global offset correspondingly.
Range | specifies the global work space of the kernel |
WorkItemOffset | specifies the offset for each work item id |
KernelFunc | is the Kernel functor or lambda |
CodeLoc | contains the code location of user code |
Definition at line 2284 of file queue.hpp.
References sycl::_V1::ext::oneapi::experimental::submit().
|
inline |
parallel_for version with a kernel represented as a lambda + range and offset that specify global size and global offset correspondingly.
Range | specifies the global work space of the kernel |
WorkItemOffset | specifies the offset for each work item id |
DepEvents | is a vector of events that specifies the kernel dependencies |
KernelFunc | is the Kernel functor or lambda |
CodeLoc | contains 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().
|
inline |
parallel_for version with a kernel represented as a lambda + range and offset that specify global size and global offset correspondingly.
Range | specifies the global work space of the kernel |
WorkItemOffset | specifies the offset for each work item id |
DepEvent | is an event that specifies the kernel dependencies |
KernelFunc | is the Kernel functor or lambda |
CodeLoc | contains 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().
|
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.
Ptr | is a USM pointer to the memory to be prefetched to the device. |
Count | is a number of bytes to be prefetched. |
Definition at line 733 of file queue.hpp.
References sycl::_V1::handler::prefetch(), and sycl::_V1::ext::oneapi::experimental::submit().
|
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.
Ptr | is a USM pointer to the memory to be prefetched to the device. |
Count | is a number of bytes to be prefetched. |
DepEvents | is a vector of events that specifies the kernel dependencies. |
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().
|
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.
Ptr | is a USM pointer to the memory to be prefetched to the device. |
Count | is a number of bytes to be prefetched. |
DepEvent | is an event that specifies the kernel dependencies. |
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().
|
inline |
|
inline |
|
inline |
single_task version with a kernel represented as a lambda.
DepEvents | is a vector of events that specifies the kernel dependencies |
Properties | is the kernel properties. |
KernelFunc | is the Kernel functor or lambda |
CodeLoc | contains 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().
|
inline |
|
inline |
single_task version with a kernel represented as a lambda.
DepEvent | is an event that specifies the kernel dependencies |
Properties | is the kernel properties. |
KernelFunc | is the Kernel functor or lambda |
CodeLoc | contains 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().
|
inline |
single_task version with a kernel represented as a lambda.
Properties | is the kernel properties. |
KernelFunc | is the Kernel functor or lambda |
CodeLoc | contains the code location of user code |
Definition at line 2018 of file queue.hpp.
References sycl::_V1::ext::oneapi::experimental::submit().
|
inline |
Submits a command group function object to the queue, in order to be scheduled for execution on the device.
CGF | is a function object containing command group. |
CodeLoc | is the code location of the submit call (default argument) |
Definition at line 340 of file queue.hpp.
References sycl::_V1::ext::oneapi::experimental::device_has, and sycl::_V1::ext ::oneapi ::experimental::detail::submit_impl().
Referenced by syclcompat::detail::combine_events(), ext_oneapi_copy(), ext_oneapi_copy2d(), ext_oneapi_fill2d(), ext_oneapi_memcpy2d(), ext_oneapi_memset2d(), ext_oneapi_signal_external_semaphore(), ext_oneapi_submit_barrier(), ext_oneapi_wait_external_semaphore(), sycl::_V1::ext::intel::experimental::pipe< _name, _dataT, _min_capacity, _propertiesT, class >::read(), sycl::_V1::ext::oneapi::experimental::submit_profiling_tag(), sycl::_V1::ext::oneapi::experimental::submit_with_event(), sycl::_V1::ext::intel::experimental::pipe< _name, _dataT, _min_capacity, _propertiesT, class >::write(), and syclcompat::detail::host_buffer::~host_buffer().
|
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.
CGF | is a function object containing command group. |
SecondaryQueue | is a fallback SYCL queue. |
CodeLoc | is the code location of the submit call (default argument) |
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().
void sycl::_V1::queue::throw_asynchronous | ( | ) |
|
inline |
Provides guarantees that the memory object accessed via Acc is updated on the host after operation is complete.
Acc | is a SYCL accessor that needs to be updated on host. |
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().
|
inline |
Performs a blocking wait for the completion of all enqueued tasks in the queue.
Synchronous errors will be reported through SYCL exceptions.
CodeLoc | is the code location of the submit call (default argument) |
Definition at line 429 of file queue.hpp.
Referenced by syclcompat::wait_and_free().
|
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.
CodeLoc | is the code location of the submit call (default argument) |
void sycl::_V1::queue::wait_and_throw_proxy | ( | const detail::code_location & | CodeLoc | ) |
void sycl::_V1::queue::wait_proxy | ( | const detail::code_location & | CodeLoc | ) |
|
friend |
|
friend |
|
friend |
Definition at line 138 of file backend.hpp.
const device_selector const async_handler& sycl::_V1::queue::AsyncHandler |
const device_selector & sycl::_V1::queue::DeviceSelector |
const property_list& sycl::_V1::queue::PropList |
Definition at line 194 of file queue.hpp.
Referenced by queue().
const device_selector const property_list& sycl::_V1::queue::PropList = {}) |
const device_selector const async_handler const property_list& sycl::_V1::queue::PropList = {}) |