ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthCUDA
AthCUDAInterfaces
AthCUDAInterfaces
IStreamPoolSvc.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_ISTREAMPOOLSVC_H
6
#define ATHCUDAINTERFACES_ISTREAMPOOLSVC_H
7
8
// Local include(s).
9
#include "
AthCUDAInterfaces/StreamHolder.h
"
10
11
// Gaudi include(s).
12
#include "GaudiKernel/IService.h"
13
14
namespace
AthCUDA
{
15
24
class
IStreamPoolSvc
:
public
virtual
IService {
25
27
friend
class
StreamHolder
;
28
29
public
:
31
DeclareInterfaceID
(
AthCUDA::IStreamPoolSvc
, 1, 0 );
32
41
virtual
bool
isEmpty
()
const
= 0;
42
50
virtual
StreamHolder
getAvailableStream
() = 0;
51
52
protected
:
60
virtual
void
yieldStream
(
StreamHolder
& stream ) = 0;
61
62
};
// class IStreamPoolSvc
63
64
}
// namespace AthCUDA
65
66
#endif
// ATHCUDAINTERFACES_ISTREAMPOOLSVC_H
StreamHolder.h
AthCUDA::IStreamPoolSvc
Interface for a CUDA stream pool service.
Definition
IStreamPoolSvc.h:24
AthCUDA::IStreamPoolSvc::getAvailableStream
virtual StreamHolder getAvailableStream()=0
Get a stream from the pool.
AthCUDA::IStreamPoolSvc::DeclareInterfaceID
DeclareInterfaceID(AthCUDA::IStreamPoolSvc, 1, 0)
Declare the interface ID.
AthCUDA::IStreamPoolSvc::yieldStream
virtual void yieldStream(StreamHolder &stream)=0
Put a given stream back into the pool.
AthCUDA::IStreamPoolSvc::StreamHolder
friend class StreamHolder
Make StreamHolder a friend of this interface.
Definition
IStreamPoolSvc.h:27
AthCUDA::IStreamPoolSvc::isEmpty
virtual bool isEmpty() const =0
Check whether any streams are available for the job.
AthCUDA
Definition
Info.h:14
Generated on
for ATLAS Offline Software by
1.17.0