22 inline namespace _V1 {
29 using QueueImplPtr = std::shared_ptr<detail::queue_impl>;
30 using EventImplPtr = std::shared_ptr<detail::event_impl>;
41 void *MemAllocation, std::vector<EventImplPtr> DepEvents,
47 bool InitFromUserData,
void *HostPtr,
48 std::vector<EventImplPtr> DepEvents,
54 void *ParentMemObj,
size_t ElemSize,
56 std::vector<EventImplPtr> DepEvents,
64 bool HostPtrReadOnly,
size_t Size,
75 void *UserPtr,
bool HostPtrReadOnly,
size_t Size,
86 void *MemAllocation,
void *UserPtr);
88 static void *allocateHostMemory(
SYCLMemObjI *MemObj,
void *UserPtr,
89 bool HostPtrReadOnly,
size_t Size,
93 allocateInteropMemObject(
ContextImplPtr TargetContext,
void *UserPtr,
101 bool HostPtrReadOnly,
106 static void *allocateBufferObject(
ContextImplPtr TargetContext,
void *UserPtr,
107 bool HostPtrReadOnly,
const size_t Size,
115 unsigned int SrcElemSize,
void *DstMem,
119 std::vector<sycl::detail::pi::PiEvent> DepEvents,
127 unsigned int SrcElemSize,
void *DstMem,
131 std::vector<sycl::detail::pi::PiEvent> DepEvents,
135 size_t PatternSize,
const char *Pattern,
unsigned int Dim,
137 sycl::id<3> AccessOffset,
unsigned int ElementSize,
138 std::vector<sycl::detail::pi::PiEvent> DepEvents,
144 size_t PatternSize,
const char *Pattern,
unsigned int Dim,
146 sycl::id<3> AccessOffset,
unsigned int ElementSize,
147 std::vector<sycl::detail::pi::PiEvent> DepEvents,
153 sycl::id<3> AccessOffset,
unsigned int ElementSize,
154 std::vector<sycl::detail::pi::PiEvent> DepEvents,
159 std::vector<sycl::detail::pi::PiEvent> DepEvents,
162 static void copy_usm(
const void *SrcMem,
QueueImplPtr Queue,
size_t Len,
164 std::vector<sycl::detail::pi::PiEvent> DepEvents,
169 static void copy_usm(
const void *SrcMem,
QueueImplPtr Queue,
size_t Len,
171 std::vector<sycl::detail::pi::PiEvent> DepEvents,
174 static void fill_usm(
void *DstMem,
QueueImplPtr Queue,
size_t Len,
176 std::vector<sycl::detail::pi::PiEvent> DepEvents,
181 static void fill_usm(
void *DstMem,
QueueImplPtr Queue,
size_t Len,
183 std::vector<sycl::detail::pi::PiEvent> DepEvents,
186 static void prefetch_usm(
void *Ptr,
QueueImplPtr Queue,
size_t Len,
187 std::vector<sycl::detail::pi::PiEvent> DepEvents,
192 static void prefetch_usm(
void *Ptr,
QueueImplPtr Queue,
size_t Len,
193 std::vector<sycl::detail::pi::PiEvent> DepEvents,
196 static void advise_usm(
const void *Ptr,
QueueImplPtr Queue,
size_t Len,
198 std::vector<sycl::detail::pi::PiEvent> DepEvents,
203 static void advise_usm(
const void *Ptr,
QueueImplPtr Queue,
size_t Len,
205 std::vector<sycl::detail::pi::PiEvent> DepEvents,
208 static void copy_2d_usm(
const void *SrcMem,
size_t SrcPitch,
210 size_t Width,
size_t Height,
211 std::vector<sycl::detail::pi::PiEvent> DepEvents,
216 static void copy_2d_usm(
const void *SrcMem,
size_t SrcPitch,
218 size_t Width,
size_t Height,
219 std::vector<sycl::detail::pi::PiEvent> DepEvents,
222 static void fill_2d_usm(
void *DstMem,
QueueImplPtr Queue,
size_t Pitch,
223 size_t Width,
size_t Height,
224 const std::vector<char> &Pattern,
225 std::vector<sycl::detail::pi::PiEvent> DepEvents,
230 static void fill_2d_usm(
void *DstMem,
QueueImplPtr Queue,
size_t Pitch,
231 size_t Width,
size_t Height,
232 const std::vector<char> &Pattern,
233 std::vector<sycl::detail::pi::PiEvent> DepEvents,
236 static void memset_2d_usm(
void *DstMem,
QueueImplPtr Queue,
size_t Pitch,
237 size_t Width,
size_t Height,
char Value,
238 std::vector<sycl::detail::pi::PiEvent> DepEvents,
243 static void memset_2d_usm(
void *DstMem,
QueueImplPtr Queue,
size_t Pitch,
244 size_t Width,
size_t Height,
char Value,
245 std::vector<sycl::detail::pi::PiEvent> DepEvents,
249 copy_to_device_global(
const void *DeviceGlobalPtr,
bool IsDeviceImageScoped,
252 const std::vector<sycl::detail::pi::PiEvent> &DepEvents,
258 copy_to_device_global(
const void *DeviceGlobalPtr,
bool IsDeviceImageScoped,
261 const std::vector<sycl::detail::pi::PiEvent> &DepEvents,
264 static void copy_from_device_global(
265 const void *DeviceGlobalPtr,
bool IsDeviceImageScoped,
QueueImplPtr Queue,
266 size_t NumBytes,
size_t Offset,
void *DstMem,
267 const std::vector<sycl::detail::pi::PiEvent> &DepEvents,
272 static void copy_from_device_global(
273 const void *DeviceGlobalPtr,
bool IsDeviceImageScoped,
QueueImplPtr Queue,
274 size_t NumBytes,
size_t Offset,
void *DstMem,
275 const std::vector<sycl::detail::pi::PiEvent> &DepEvents,
279 static void ext_oneapi_copyD2D_cmd_buffer(
282 SYCLMemObjI *SYCLMemObj,
void *SrcMem,
unsigned int DimSrc,
284 sycl::id<3> SrcOffset,
unsigned int SrcElemSize,
void *DstMem,
287 unsigned int DstElemSize,
288 std::vector<sycl::detail::pi::PiExtSyncPoint> Deps,
291 static void ext_oneapi_copyD2H_cmd_buffer(
294 SYCLMemObjI *SYCLMemObj,
void *SrcMem,
unsigned int DimSrc,
296 sycl::id<3> SrcOffset,
unsigned int SrcElemSize,
char *DstMem,
298 unsigned int DstElemSize,
299 std::vector<sycl::detail::pi::PiExtSyncPoint> Deps,
302 static void ext_oneapi_copyH2D_cmd_buffer(
305 SYCLMemObjI *SYCLMemObj,
char *SrcMem,
unsigned int DimSrc,
309 unsigned int DstElemSize,
310 std::vector<sycl::detail::pi::PiExtSyncPoint> Deps,
313 static void ext_oneapi_copy_usm_cmd_buffer(
316 void *DstMem, std::vector<sycl::detail::pi::PiExtSyncPoint> Deps,
319 static void ext_oneapi_fill_usm_cmd_buffer(
322 size_t Len,
int Pattern,
323 std::vector<sycl::detail::pi::PiExtSyncPoint> Deps,
330 size_t PatternSize,
const char *Pattern,
333 sycl::id<3> AccessOffset,
unsigned int ElementSize,
334 std::vector<sycl::detail::pi::PiExtSyncPoint> Deps,
337 static void ext_oneapi_prefetch_usm_cmd_buffer(
340 size_t Length, std::vector<sycl::detail::pi::PiExtSyncPoint> Deps,
343 static void ext_oneapi_advise_usm_cmd_buffer(
347 std::vector<sycl::detail::pi::PiExtSyncPoint> Deps,
351 copy_image_bindless(
void *Src,
QueueImplPtr Queue,
void *Dst,
359 const std::vector<sycl::detail::pi::PiEvent> &DepEvents,
A unique identifier of an item in an index space.
Objects of the property_list class are containers for the SYCL properties.
::pi_ext_sync_point PiExtSyncPoint
std::shared_ptr< sycl::detail::context_impl > ContextImplPtr
std::shared_ptr< event_impl > EventImplPtr
std::shared_ptr< sycl::detail::queue_impl > QueueImplPtr
class __SYCL_EBO __SYCL_SPECIAL_CLASS __SYCL_TYPE(local_accessor) local_accessor class __SYCL_EBO __SYCL_SPECIAL_CLASS AccessMode
static sycl::event fill(sycl::queue q, void *dev_ptr, const T &pattern, size_t count)
Set pattern to the first count elements of type T starting from dev_ptr.