ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthCUDA
AthCUDAServices
src
CopyTool.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 ATHCUDASERVICES_COPYTOOL_H
5
#define ATHCUDASERVICES_COPYTOOL_H
6
7
// Framework include(s).
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
10
// AthDevice include(s).
11
#include "
AthDeviceInterfaces/ICopyTool.h
"
12
13
// VecMem include(s).
14
#include <vecmem/utils/cuda/copy.hpp>
15
16
namespace
AthCUDA
{
17
19
class
CopyTool
:
public
extends<AthAlgTool, AthDevice::ICopyTool> {
20
21
public
:
22
// Inherit the base class's constructor(s).
23
using
extends::extends;
24
27
29
virtual
std::shared_ptr<const vecmem::copy>
copy
(
30
const
EventContext& ctx)
const override
;
31
33
34
private
:
36
std::shared_ptr<const vecmem::copy>
m_copy
{
37
std::make_shared<const vecmem::cuda::copy>()};
38
39
};
// class CopyTool
40
41
}
// namespace AthCUDA
42
43
#endif
// ATHCUDASERVICES_COPYTOOL_H
AthAlgTool.h
ICopyTool.h
AthCUDA::CopyTool
Tool providing a synchronous vecmem::copy object for CUDA devices.
Definition
CopyTool.h:19
AthCUDA::CopyTool::copy
virtual std::shared_ptr< const vecmem::copy > copy(const EventContext &ctx) const override
Get the provided vecmem::copy object.
Definition
CopyTool.cxx:10
AthCUDA::CopyTool::m_copy
std::shared_ptr< const vecmem::copy > m_copy
The vecmem::copy object provided by this tool.
Definition
CopyTool.h:36
AthCUDA
Definition
Info.h:14
Generated on
for ATLAS Offline Software by
1.17.0