ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthCUDA
AthCUDAServices
src
PerEventStreamSvc.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_PEREVENTSTREAMSVC_H
5
#define ATHCUDASERVICES_PEREVENTSTREAMSVC_H
6
7
// Local include(s).
8
#include "
Stream.h
"
9
10
// Framework include(s).
11
#include "
AthenaBaseComps/AthService.h
"
12
#include "
AthenaKernel/SlotSpecificObj.h
"
13
14
// AthCUDA include(s).
15
#include "
AthCUDAInterfaces/IStreamSvc.h
"
16
17
// System include(s).
18
#include <memory>
19
20
namespace
AthCUDA
{
21
27
class
PerEventStreamSvc
:
public
extends<AthService, IStreamSvc> {
28
29
public
:
30
// Inherit the base class's constructor(s).
31
using
extends::extends;
32
35
37
virtual
StatusCode
initialize
()
override
;
38
40
43
49
virtual
cudaStream_t
stream
(
const
EventContext& ctx)
const override
;
50
52
53
private
:
55
std::unique_ptr<
56
const
SG::SlotSpecificObj<Details::Stream, SG::InvalidSlot::Enabled>
>
57
m_streams
;
58
59
};
// class PerEventStreamSvc
60
61
}
// namespace AthCUDA
62
63
#endif
// ATHCUDASERVICES_PEREVENTSTREAMSVC_H
AthService.h
SlotSpecificObj.h
Maintain a set of objects, one per slot.
IStreamSvc.h
Stream.h
AthCUDA::PerEventStreamSvc
Service providing CUDA streams to (reentrant) algorithms.
Definition
PerEventStreamSvc.h:27
AthCUDA::PerEventStreamSvc::m_streams
std::unique_ptr< const SG::SlotSpecificObj< Details::Stream, SG::InvalidSlot::Enabled > > m_streams
Slot specific CUDA stream(s).
Definition
PerEventStreamSvc.h:57
AthCUDA::PerEventStreamSvc::initialize
virtual StatusCode initialize() override
Initialize the tool.
Definition
PerEventStreamSvc.cxx:14
AthCUDA::PerEventStreamSvc::stream
virtual cudaStream_t stream(const EventContext &ctx) const override
Get the CUDA stream to use.
Definition
PerEventStreamSvc.cxx:32
SG::SlotSpecificObj
Maintain a set of objects, one per slot.
Definition
AthenaKernel/AthenaKernel/SlotSpecificObj.h:84
AthCUDA
Definition
Info.h:14
Generated on
for ATLAS Offline Software by
1.17.0