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,
67 const sycl::property_list &PropsList,
73 static void *allocateMemImage(
78 const sycl::property_list &PropsList,
RT::PiEvent &OutEventToWait);
83 void *MemAllocation,
void *UserPtr);
85 static void *allocateHostMemory(
SYCLMemObjI *MemObj,
void *UserPtr,
86 bool HostPtrReadOnly,
size_t Size,
87 const sycl::property_list &PropsList);
89 static void *allocateInteropMemObject(
ContextImplPtr TargetContext,
93 const sycl::property_list &PropsList,
96 static void *allocateImageObject(
ContextImplPtr TargetContext,
void *UserPtr,
100 const sycl::property_list &PropsList);
102 static void *allocateBufferObject(
ContextImplPtr TargetContext,
void *UserPtr,
103 bool HostPtrReadOnly,
const size_t Size,
104 const sycl::property_list &PropsList);
109 unsigned int DimSrc, sycl::range<3> SrcSize,
110 sycl::range<3> SrcAccessRange, sycl::id<3> SrcOffset,
111 unsigned int SrcElemSize,
void *DstMem,
113 sycl::range<3> DstSize, sycl::range<3> DstAccessRange,
114 sycl::id<3> DstOffset,
unsigned int DstElemSize,
115 std::vector<RT::PiEvent> DepEvents,
RT::PiEvent &OutEvent);
118 size_t PatternSize,
const char *Pattern,
unsigned int Dim,
119 sycl::range<3> Size, sycl::range<3> AccessRange,
120 sycl::id<3> AccessOffset,
unsigned int ElementSize,
121 std::vector<RT::PiEvent> DepEvents,
RT::PiEvent &OutEvent);
125 sycl::range<3> Size, sycl::range<3> AccessRange,
126 sycl::id<3> AccessOffset,
unsigned int ElementSize,
127 std::vector<RT::PiEvent> DepEvents,
RT::PiEvent &OutEvent);
130 void *MappedPtr, std::vector<RT::PiEvent> DepEvents,
133 static void copy_usm(
const void *SrcMem,
QueueImplPtr Queue,
size_t Len,
134 void *DstMem, std::vector<RT::PiEvent> DepEvents,
137 static void fill_usm(
void *DstMem,
QueueImplPtr Queue,
size_t Len,
138 int Pattern, std::vector<RT::PiEvent> DepEvents,
141 static void prefetch_usm(
void *Ptr,
QueueImplPtr Queue,
size_t Len,
142 std::vector<RT::PiEvent> DepEvents,
145 static void advise_usm(
const void *Ptr,
QueueImplPtr Queue,
size_t Len,
147 std::vector<RT::PiEvent> DepEvents,
150 static void copy_2d_usm(
const void *SrcMem,
size_t SrcPitch,
152 size_t Width,
size_t Height,
153 std::vector<RT::PiEvent> DepEvents,
156 static void fill_2d_usm(
void *DstMem,
QueueImplPtr Queue,
size_t Pitch,
157 size_t Width,
size_t Height,
158 const std::vector<char> &Pattern,
159 std::vector<RT::PiEvent> DepEvents,
162 static void memset_2d_usm(
void *DstMem,
QueueImplPtr Queue,
size_t Pitch,
163 size_t Width,
size_t Height,
char Value,
164 std::vector<RT::PiEvent> DepEvents,
167 static void copy_to_device_global(
const void *DeviceGlobalPtr,
168 bool IsDeviceImageScoped,
170 size_t Offset,
const void *SrcMem,
171 const std::vector<RT::PiEvent> &DepEvents,
174 static void copy_from_device_global(
const void *DeviceGlobalPtr,
175 bool IsDeviceImageScoped,
177 size_t Offset,
void *DstMem,
178 const std::vector<RT::PiEvent> &DepEvents,