|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ATHCUDASERVICES_KERNELRUNNERSVCIMPL_H
6 #define ATHCUDASERVICES_KERNELRUNNERSVCIMPL_H
46 void execute( std::unique_ptr< IKernelTask > task );
62 #endif // ATHCUDASERVICES_KERNELRUNNERSVCIMPL_H
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.
void execute(std::unique_ptr< IKernelTask > task)
Implementation of AthCUDA::IKernelRunnerSvc::execute.
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.
CUDA implementation of AthCUDA::KernelRunnerSvc.
KernelRunnerSvcImplCallback m_callback
Helper object to call setTaskFinished() with.