|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ATHCUDASERVICES_STREAMPOOLSVC_H
6 #define ATHCUDASERVICES_STREAMPOOLSVC_H
15 #include "Gaudi/Property.h"
35 using extends::extends;
59 virtual bool isEmpty()
const override;
86 Gaudi::Property< unsigned int >
m_nStreams{
this,
"NStreams", 2,
87 "The number of CUDA streams to use" };
95 std::unique_ptr< StreamPoolSvcImpl >
m_impl;
103 #endif // ATHCUDASERVICES_STREAMPOOLSVC_H
std::unique_ptr< StreamPoolSvcImpl > m_impl
The object implementing the interaction with CUDA.
virtual StatusCode initialize() override
Initialise the service.
Gaudi::Property< unsigned int > m_nStreams
The number of streams to use.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode finalize() override
Finalise the service.
virtual bool isEmpty() const override
Check whether any streams are available for the job.
virtual void yieldStream(StreamHolder &stream) override
Put a given stream back into the pool.
Helper class for handling CUDA streams.
virtual StreamHolder getAvailableStream() override
Get a stream from the pool.
Service managing a fixed number of CUDA streams for an application.