![]() |
ATLAS Offline Software
|
CUDA implementation of AthCUDA::StreamPoolSvc
.
More...
#include <StreamPoolSvcImpl.h>
Public Member Functions | |
StreamPoolSvcImpl (unsigned int nStreams, IStreamPoolSvc &svc) | |
Constructor with all necessary arguments. More... | |
StreamPoolSvcImpl (const StreamPoolSvcImpl &)=delete | |
Copy constructor. More... | |
StreamPoolSvcImpl (StreamPoolSvcImpl &&parent) | |
Move constructor. More... | |
~StreamPoolSvcImpl () | |
Destructor. More... | |
StreamPoolSvcImpl & | operator= (const StreamPoolSvcImpl &)=delete |
Copy assignment operator. More... | |
StreamPoolSvcImpl & | operator= (StreamPoolSvcImpl &&rhs) |
Move assignment operator. More... | |
Interface implementing parts of @c AthCUDA::IStreamPoolSvc | |
StreamHolder | getAvailableStream () |
Get a stream from the pool. More... | |
void | yieldStream (StreamHolder &stream) |
Put a given stream back into the pool. More... | |
Private Attributes | |
IStreamPoolSvc * | m_svc |
The service that this object is used by. More... | |
StreamPoolSvcImplData * | m_data |
Data used by the class behind the scenes. More... | |
CUDA implementation of AthCUDA::StreamPoolSvc
.
Definition at line 18 of file StreamPoolSvcImpl.h.
AthCUDA::StreamPoolSvcImpl::StreamPoolSvcImpl | ( | unsigned int | nStreams, |
IStreamPoolSvc & | svc | ||
) |
Constructor with all necessary arguments.
|
delete |
Copy constructor.
AthCUDA::StreamPoolSvcImpl::StreamPoolSvcImpl | ( | StreamPoolSvcImpl && | parent | ) |
Move constructor.
AthCUDA::StreamPoolSvcImpl::~StreamPoolSvcImpl | ( | ) |
Destructor.
StreamHolder AthCUDA::StreamPoolSvcImpl::getAvailableStream | ( | ) |
Get a stream from the pool.
Note that the returned holder may point to a null memory address, in case no streams are available at the moment of the call.
|
delete |
Copy assignment operator.
StreamPoolSvcImpl& AthCUDA::StreamPoolSvcImpl::operator= | ( | StreamPoolSvcImpl && | rhs | ) |
Move assignment operator.
void AthCUDA::StreamPoolSvcImpl::yieldStream | ( | StreamHolder & | stream | ) |
Put a given stream back into the pool.
This is a function called by AthCUDA::StreamHolder
behind the scenes when it goes out of scope. It should not be called by hand.
stream | The stream holder whose stream is to be put back into the pool |
|
private |
Data used by the class behind the scenes.
Definition at line 63 of file StreamPoolSvcImpl.h.
|
private |
The service that this object is used by.
Definition at line 61 of file StreamPoolSvcImpl.h.