6#ifndef SYCL_UNDERLYING_ALLOCATORS_HPP
7#define SYCL_UNDERLYING_ALLOCATORS_HPP
14namespace memory_recycling {
23 static cl::sycl::queue default_queue(cl::sycl::default_selector{});
24 T *data = cl::sycl::malloc_host<T>(n, default_queue);
28 static cl::sycl::queue default_queue(cl::sycl::default_selector{});
29 cl::sycl::free(p, default_queue);
32template <
class T,
class U>
37template <
class T,
class U>
50 static cl::sycl::queue default_queue(cl::sycl::default_selector{});
51 T *data = cl::sycl::malloc_device<T>(n, default_queue);
55 static cl::sycl::queue default_queue(cl::sycl::default_selector{});
56 cl::sycl::free(p, default_queue);
59template <
class T,
class U>
64template <
class T,
class U>
constexpr bool operator!=(recycle_allocator< T, Host_Allocator > const &, recycle_allocator< U, Host_Allocator > const &) noexcept
Definition buffer_management.hpp:830
constexpr bool operator==(recycle_allocator< T, Host_Allocator > const &, recycle_allocator< U, Host_Allocator > const &) noexcept
Definition buffer_management.hpp:821
Underlying allocator for SYCL device memory (using the sycl::default_selector{})
Definition sycl_underlying_allocators.hpp:44
T * allocate(std::size_t n)
Definition sycl_underlying_allocators.hpp:49
sycl_device_default_allocator() noexcept=default
T value_type
Definition sycl_underlying_allocators.hpp:45
void deallocate(T *p, std::size_t n)
Definition sycl_underlying_allocators.hpp:54
Underlying host allocator for SYCL pinned memory (using the sycl::default_selector{})
Definition sycl_underlying_allocators.hpp:17
T value_type
Definition sycl_underlying_allocators.hpp:18
void deallocate(T *p, std::size_t n)
Definition sycl_underlying_allocators.hpp:27
sycl_host_default_allocator() noexcept=default
T * allocate(std::size_t n)
Definition sycl_underlying_allocators.hpp:22