6 #ifndef SYCL_UNDERLYING_ALLOCATORS_HPP
7 #define SYCL_UNDERLYING_ALLOCATORS_HPP
14 namespace 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);
32 template <
class T,
class U>
37 template <
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);
59 template <
class T,
class U>
64 template <
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
Definition: config.hpp:31
Underlying allocator for SYCL device memory (using the sycl::default_selector{})
Definition: sycl_underlying_allocators.hpp:44
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
T * allocate(std::size_t n)
Definition: sycl_underlying_allocators.hpp:49
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