ATLAS Offline Software
Control
AthCUDA
AthCUDAInterfaces
AthCUDAInterfaces
StreamHolder.h
Go to the documentation of this file.
1
// Dear emacs, this is -*- c++ -*-
2
//
3
// Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
4
//
5
#ifndef ATHCUDAINTERFACES_STREAMHOLDER_H
6
#define ATHCUDAINTERFACES_STREAMHOLDER_H
7
8
namespace
AthCUDA
{
9
10
// Forward declaration(s).
11
class
IStreamPoolSvc;
12
24
class
StreamHolder
{
25
27
#ifdef __CUDACC__
28
friend
cudaStream_t getStream(
StreamHolder
& );
29
#endif // __CUDACC__
30
31
public
:
33
StreamHolder
();
35
StreamHolder
(
void
*
stream
,
IStreamPoolSvc
*
pool
);
37
StreamHolder
(
const
StreamHolder
& ) =
delete
;
39
StreamHolder
(
StreamHolder
&&
parent
);
41
~StreamHolder
();
42
44
StreamHolder
&
operator=
(
const
StreamHolder
& ) =
delete
;
46
StreamHolder
&
operator=
(
StreamHolder
&& rhs );
47
49
operator
bool
()
const
;
50
51
private
:
53
void
*
m_stream
;
55
IStreamPoolSvc
*
m_pool
;
56
57
};
// class StreamHolder
58
59
}
// namespace AthCUDA
60
61
#endif // ATHCUDAINTERFACES_STREAMHOLDER_H
AthCUDA::IStreamPoolSvc
Interface for a CUDA stream pool service.
Definition:
IStreamPoolSvc.h:24
AthCUDA::StreamHolder::m_stream
void * m_stream
The managed stream.
Definition:
StreamHolder.h:53
pool
pool namespace
Definition:
libname.h:15
AthCUDA::StreamHolder::StreamHolder
StreamHolder(const StreamHolder &)=delete
Copy constructor.
AthenaPoolTestWrite.stream
string stream
Definition:
AthenaPoolTestWrite.py:12
AthCUDA::StreamHolder::m_pool
IStreamPoolSvc * m_pool
The pool that this holder is attached to.
Definition:
StreamHolder.h:55
AthCUDA
Definition:
Info.h:14
test_pyathena.parent
parent
Definition:
test_pyathena.py:15
AthCUDA::StreamHolder::operator=
StreamHolder & operator=(const StreamHolder &)=delete
Copy assignment operator.
AthCUDA::StreamHolder
Helper class for handling CUDA streams.
Definition:
StreamHolder.h:24
AthCUDA::StreamHolder::StreamHolder
StreamHolder()
Friend declaration(s).
Definition:
StreamHolder.cxx:11
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition:
TrigDecision_v1.cxx:60
AthCUDA::StreamHolder::~StreamHolder
~StreamHolder()
Destructor.
Definition:
StreamHolder.cxx:28
Generated on Thu Nov 7 2024 21:26:39 for ATLAS Offline Software by
1.8.18