12#include "vecmem/memory/memory_resource.hpp"
13#include "vecmem/vecmem_cuda_export.hpp"
40 virtual void*
do_allocate(std::size_t, std::size_t)
override final;
44 std::size_t)
override final;
48 const memory_resource&
other)
const noexcept override final;
Memory resource that wraps page-locked CUDA host allocation.
Definition host_memory_resource.hpp:24
virtual VECMEM_CUDA_EXPORT bool do_is_equal(const memory_resource &other) const noexcept override final
Compares *this for equality with other.
Definition host_memory_resource.cpp:54
virtual VECMEM_CUDA_EXPORT void * do_allocate(std::size_t, std::size_t) override final
Allocate page-locked host memory.
Definition host_memory_resource.cpp:28
virtual VECMEM_CUDA_EXPORT void do_deallocate(void *p, std::size_t, std::size_t) override final
De-allocate a previously allocated page-locked memory block.
Definition host_memory_resource.cpp:41
VECMEM_CUDA_EXPORT host_memory_resource()
Default constructor.
VECMEM_CUDA_EXPORT ~host_memory_resource()
Destructor.
Namespace holding types that work on/with CUDA.
Definition cuda_device_atomic_ref.hpp:19
std::vector< T, vecmem::polymorphic_allocator< T > > vector
Alias type for vectors with our polymorphic allocator.
Definition vector.hpp:35