ATLAS Offline Software
Loading...
Searching...
No Matches
SingleStreamSvc.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_SINGLESTREAMSVC_H
5#define ATHCUDASERVICES_SINGLESTREAMSVC_H
6
7// Local include(s).
8#include "Stream.h"
9
10// Framework include(s).
12
13// AthCUDA include(s).
15
16// System include(s).
17#include <memory>
18
19namespace AthCUDA {
20
25class SingleStreamSvc : public extends<AthService, IStreamSvc> {
26
27 public:
28 // Inherit the base class's constructor(s).
29 using extends::extends;
30
33
35 virtual StatusCode initialize() override;
36
38
41
47 virtual cudaStream_t stream(const EventContext& ctx) const override;
48
50
51 private:
53 std::unique_ptr<const Details::Stream> m_stream;
54
55}; // class SingleStreamSvc
56
57} // namespace AthCUDA
58
59#endif // ATHCUDASERVICES_SINGLESTREAMSVC_H
Service providing CUDA streams to (reentrant) algorithms.
virtual StatusCode initialize() override
Initialize the tool.
std::unique_ptr< const Details::Stream > m_stream
Single CUDA stream.
virtual cudaStream_t stream(const EventContext &ctx) const override
Get the CUDA stream to use.
Definition Info.h:14