ATLAS Offline Software
Loading...
Searching...
No Matches
PerComponentStreamTool.cxx
Go to the documentation of this file.
1//
2// Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3//
4
5// Local include(s).
7
8// System include(s).
9#include <cassert>
10#include <iterator>
11
12namespace AthCUDA {
13
15
16 // Create the stream object.
17 m_stream = std::make_unique<const Details::Stream>();
18
19 // Tell the user what happened.
20 ATH_MSG_DEBUG("Initialized CUDA stream on device: " << m_stream->name());
21
22 // Return gracefully.
23 return StatusCode::SUCCESS;
24}
25
26cudaStream_t PerComponentStreamTool::stream(const EventContext&) const {
27
28 // Get the stream corresponding to the current slot.
29 assert(m_stream);
30 assert(m_stream->stream());
31 return m_stream->stream();
32}
33
34} // namespace AthCUDA
#define ATH_MSG_DEBUG(x)
virtual cudaStream_t stream(const EventContext &ctx) const override
Get the CUDA stream to use.
virtual StatusCode initialize() override
Initialize the tool.
std::unique_ptr< const Details::Stream > m_stream
Single CUDA stream.
Definition Info.h:14