ATLAS Offline Software
Loading...
Searching...
No Matches
AthHIP/AthHIPComps/src/DeviceMemoryResourceTool.h
Go to the documentation of this file.
1//
2// Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3//
4#ifndef ATHHIPCOMPS_DEVICEMEMORYRESOURCETOOL_H
5#define ATHHIPCOMPS_DEVICEMEMORYRESOURCETOOL_H
6
7// Framework include(s).
9
10// AthDevice include(s).
12
13// VecMem include(s).
14#include <vecmem/memory/hip/device_memory_resource.hpp>
15
16namespace AthHIP {
17
23 : public extends<AthAlgTool, AthDevice::IMemoryResourceTool> {
24
25 public:
26 // Inherit the base class's constructor(s).
27 using extends::extends;
28
31
33 virtual StatusCode initialize() override;
34
36
39
41 virtual std::pmr::memory_resource& mr() const override;
42
44
45 private:
47 std::unique_ptr<std::pmr::memory_resource> m_mr;
48
51
53 Gaudi::Property<int> m_deviceID{
54 this, "DeviceID", vecmem::hip::device_memory_resource::INVALID_DEVICE,
55 "ID of the device to allocate memory on (-1 to use the default device)"};
56
58
59}; // class DeviceMemoryResourceTool
60
61} // namespace AthHIP
62
63#endif // ATHHIPCOMPS_DEVICEMEMORYRESOURCETOOL_H
Tool providing memory resource for device memory.
virtual std::pmr::memory_resource & mr() const override
Get the provided std::pmr::memory_resource object.
virtual StatusCode initialize() override
Initialize the tool.
Gaudi::Property< int > m_deviceID
Device to allocate memory on.
std::unique_ptr< std::pmr::memory_resource > m_mr
The memory resource that this tool uses.