vecmem 1.21.0
Loading...
Searching...
No Matches
host_memory_resource.hpp
1/*
2 * VecMem project, part of the ACTS project (R&D line)
3 *
4 * (c) 2021-2025 CERN for the benefit of the ACTS project
5 *
6 * Mozilla Public License Version 2.0
7 */
8
9#pragma once
10
11// Local include(s).
12#include "vecmem/memory/memory_resource.hpp"
13#include "vecmem/vecmem_hip_export.hpp"
14
15namespace vecmem::hip {
16
18class host_memory_resource final : public memory_resource {
19
20public:
27
31
34 void* do_allocate(std::size_t nbytes, std::size_t alignment) override;
35
38 void do_deallocate(void* ptr, std::size_t nbytes,
39 std::size_t alignment) override;
40
43 bool do_is_equal(const memory_resource& other) const noexcept override;
44
46
47}; // class host_memory_resource
48
49} // namespace vecmem::hip
An allocator class that wraps a memory resource.
Definition allocator.hpp:37
Memory resource for HIP shared host/device memory.
Definition host_memory_resource.hpp:18
VECMEM_HIP_EXPORT void do_deallocate(void *ptr, std::size_t nbytes, std::size_t alignment) override
Function performing the memory de-allocation.
Definition host_memory_resource.cpp:40
VECMEM_HIP_EXPORT host_memory_resource()
Default constructor.
VECMEM_HIP_EXPORT ~host_memory_resource() noexcept override
Destructor.
VECMEM_HIP_EXPORT bool do_is_equal(const memory_resource &other) const noexcept override
Function comparing two memory resource instances.
Definition host_memory_resource.cpp:53
VECMEM_HIP_EXPORT void * do_allocate(std::size_t nbytes, std::size_t alignment) override
Function performing the memory allocation.
Definition host_memory_resource.cpp:27
Namespace holding types that work on/with ROCm/HIP.
Definition hip_device_atomic_ref.hpp:25