ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthCUDA
AthCUDAServices
src
AsyncCopyTool.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_ASYNCCOPYTOOL_H
5
#define ATHCUDASERVICES_ASYNCCOPYTOOL_H
6
7
// Framework include(s).
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "GaudiKernel/ToolHandle.h"
10
11
// AthDevice include(s).
12
#include "
AthDeviceInterfaces/ICopyTool.h
"
13
14
// AthCUDA include(s).
15
#include "
AthCUDAInterfaces/IStreamTool.h
"
16
17
namespace
AthCUDA
{
18
20
class
AsyncCopyTool
:
public
extends<AthAlgTool, AthDevice::ICopyTool> {
21
22
public
:
23
// Inherit the base class's constructor(s).
24
using
extends::extends;
25
28
30
virtual
StatusCode
initialize
()
override
;
31
33
36
38
virtual
std::shared_ptr<const vecmem::copy>
copy
(
39
const
EventContext& ctx)
const override
;
40
42
43
private
:
45
ToolHandle<IStreamTool>
m_streamTool
{
46
this
,
"StreamTool"
,
""
,
"Tool to get the current CUDA stream from"
};
47
48
};
// class AsyncCopyTool
49
50
}
// namespace AthCUDA
51
52
#endif
// ATHCUDASERVICES_ASYNCCOPYTOOL_H
AthAlgTool.h
IStreamTool.h
ICopyTool.h
AthCUDA::AsyncCopyTool
Tool providing an asynchronous vecmem::copy object for CUDA devices.
Definition
AsyncCopyTool.h:20
AthCUDA::AsyncCopyTool::copy
virtual std::shared_ptr< const vecmem::copy > copy(const EventContext &ctx) const override
Get the provided vecmem::copy object.
Definition
AsyncCopyTool.cxx:22
AthCUDA::AsyncCopyTool::m_streamTool
ToolHandle< IStreamTool > m_streamTool
Tool to get the current CUDA stream from.
Definition
AsyncCopyTool.h:45
AthCUDA::AsyncCopyTool::initialize
virtual StatusCode initialize() override
Initialize the tool.
Definition
AsyncCopyTool.cxx:13
AthCUDA
Definition
Info.h:14
Generated on
for ATLAS Offline Software by
1.17.0