23 inline namespace _V1 {
28 size_t size,
const device &dev,
const context &ctxt,
31 size_t size,
const device &dev,
const context &ctxt,
32 const property_list &propList,
35 size_t size,
const queue &q,
38 size_t size,
const queue &q,
const property_list &propList,
42 size_t alignment,
size_t size,
const device &dev,
const context &ctxt,
45 size_t alignment,
size_t size,
const device &dev,
const context &ctxt,
46 const property_list &propList,
49 size_t alignment,
size_t size,
const queue &q,
52 size_t alignment,
size_t size,
const queue &q,
53 const property_list &propList,
57 free(
void *ptr,
const context &ctxt,
60 free(
void *ptr,
const queue &q,
67 size_t size,
const context &ctxt,
70 size_t size,
const context &ctxt,
const property_list &propList,
73 size_t size,
const queue &q,
76 size_t size,
const queue &q,
const property_list &propList,
80 size_t size,
const device &dev,
const context &ctxt,
83 size_t size,
const device &dev,
const context &ctxt,
84 const property_list &propList,
87 size_t size,
const queue &q,
90 size_t size,
const queue &q,
const property_list &propList,
94 size_t alignment,
size_t size,
const context &ctxt,
97 size_t alignment,
size_t size,
const context &ctxt,
98 const property_list &propList,
101 size_t alignment,
size_t size,
const queue &q,
104 size_t alignment,
size_t size,
const queue &q,
105 const property_list &propList,
109 size_t alignment,
size_t size,
const device &dev,
const context &ctxt,
112 size_t alignment,
size_t size,
const device &dev,
const context &ctxt,
113 const property_list &propList,
116 size_t alignment,
size_t size,
const queue &q,
119 size_t alignment,
size_t size,
const queue &q,
120 const property_list &propList,
167 template <
typename T>
173 Dev, Ctxt, PropList, CodeLoc));
176 template <
typename T>
184 template <
typename T>
193 Count *
sizeof(T), Dev, Ctxt,
197 template <
typename T>
209 template <
typename T>
214 Ctxt, PropList, CodeLoc));
217 template <
typename T>
221 return malloc_host<T>(Count, Q.
get_context(), PropList, CodeLoc);
224 template <
typename T>
230 Dev, Ctxt, PropList, CodeLoc));
233 template <
typename T>
241 template <
typename T>
250 Count *
sizeof(T), Ctxt, PropList,
254 template <
typename T>
266 template <
typename T>
275 Count *
sizeof(T), Dev, Ctxt,
279 template <
typename T>
291 template <
typename T>
296 return static_cast<T *
>(
aligned_alloc(
alignof(T), Count *
sizeof(T), Dev,
297 Ctxt, Kind, PropList, CodeLoc));
300 template <
typename T>
309 template <
typename T>
318 Count *
sizeof(T), Dev, Ctxt, Kind,
322 template <
typename T>
331 Kind, PropList, CodeLoc);
336 namespace ext::oneapi::experimental {
339 const context &Context);
345 const context &Context);
The context class represents a SYCL context on which kernel functions may be executed.
The SYCL device class encapsulates a single SYCL device on which kernels may be executed.
Objects of the property_list class are containers for the SYCL properties.
Encapsulates a single SYCL queue which schedules kernels on a SYCL device.
device get_device() const
context get_context() const
constexpr alignment_key::value_t< K > alignment
void prepare_for_device_copy(const void *Ptr, size_t Size, const context &Context)
void release_from_device_copy(const void *Ptr, const context &Context)
void * aligned_alloc(size_t alignment, size_t size, const device &dev, const context &ctxt, usm::alloc kind, const detail::code_location &CodeLoc=detail::code_location::current())
size_t is_not_power_of_two(size_t Alignment)
void * aligned_alloc_host(size_t alignment, size_t size, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current())
void * aligned_alloc_shared(size_t alignment, size_t size, const device &dev, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current())
void * malloc_shared(size_t size, const device &dev, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current())
void * aligned_alloc_device(size_t alignment, size_t size, const device &dev, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current())
void * malloc_device(size_t size, const device &dev, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current())
void * malloc(size_t size, const device &dev, const context &ctxt, usm::alloc kind, const detail::code_location &CodeLoc=detail::code_location::current())
void * malloc_host(size_t size, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current())
void free(void *ptr, const context &ctxt, const detail::code_location &CodeLoc=detail::code_location::current())
static constexpr code_location current(const char *fileName=__CODELOC_FILE_NAME, const char *funcName=__CODELOC_FUNCTION, unsigned long lineNo=__CODELOC_LINE, unsigned long columnNo=__CODELOC_COLUMN) noexcept