|
ATLAS Offline Software
|
Go to the documentation of this file.
25 assert(
m_svc !=
nullptr );
32 : m_streamPool( &streamPool ), m_callback(
svc ) {
Interface for a CUDA stream pool service.
IStreamPoolSvc * m_streamPool
The stream pool service in use.
Service used for executing AthCUDA::IKernelTask tasks.
StreamHolder getAvailableStream()
Get an available CUDA stream from the pool.
KernelRunnerSvcImpl(IStreamPoolSvc &streamPool, KernelRunnerSvc &svc)
Constructor with all necessary parameters.
AthROOTErrorHandlerSvc * svc
KernelRunnerSvcImplCallback(KernelRunnerSvc &svc)
Constructor with the service object to operate on.
virtual StreamHolder getAvailableStream()=0
Get a stream from the pool.
KernelRunnerSvc * m_svc
Pointer to the main service.
Helper class for handling CUDA streams.
Class used for calling AthCUDA::KernelRunnerSvc::setTaskFinished.
KernelRunnerSvcImplCallback & operator()()
Call setTaskFinished() on the service object.