ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
AthCUDA::KernelRunnerSvcImpl Class Reference

CUDA implementation of AthCUDA::KernelRunnerSvc. More...

#include <KernelRunnerSvcImpl.h>

Collaboration diagram for AthCUDA::KernelRunnerSvcImpl:

Public Member Functions

 KernelRunnerSvcImpl (IStreamPoolSvc &streamPool, KernelRunnerSvc &svc)
 Constructor with all necessary parameters. More...
 
void execute (std::unique_ptr< IKernelTask > task)
 Implementation of AthCUDA::IKernelRunnerSvc::execute. More...
 
StreamHolder getAvailableStream ()
 Get an available CUDA stream from the pool. More...
 

Private Attributes

IStreamPoolSvcm_streamPool
 The stream pool service in use. More...
 
KernelRunnerSvcImplCallback m_callback
 Helper object to call setTaskFinished() with. More...
 

Detailed Description

CUDA implementation of AthCUDA::KernelRunnerSvc.

Definition at line 38 of file KernelRunnerSvcImpl.h.

Constructor & Destructor Documentation

◆ KernelRunnerSvcImpl()

AthCUDA::KernelRunnerSvcImpl::KernelRunnerSvcImpl ( IStreamPoolSvc streamPool,
KernelRunnerSvc svc 
)

Constructor with all necessary parameters.

Definition at line 30 of file KernelRunnerSvcImpl.cxx.

32  : m_streamPool( &streamPool ), m_callback( svc ) {
33 
34  }

Member Function Documentation

◆ execute()

void AthCUDA::KernelRunnerSvcImpl::execute ( std::unique_ptr< IKernelTask task)

◆ getAvailableStream()

StreamHolder AthCUDA::KernelRunnerSvcImpl::getAvailableStream ( )

Get an available CUDA stream from the pool.

Definition at line 36 of file KernelRunnerSvcImpl.cxx.

36  {
37 
38  assert( m_streamPool != nullptr );
40  }

Member Data Documentation

◆ m_callback

KernelRunnerSvcImplCallback AthCUDA::KernelRunnerSvcImpl::m_callback
private

Helper object to call setTaskFinished() with.

Definition at line 56 of file KernelRunnerSvcImpl.h.

◆ m_streamPool

IStreamPoolSvc* AthCUDA::KernelRunnerSvcImpl::m_streamPool
private

The stream pool service in use.

Definition at line 53 of file KernelRunnerSvcImpl.h.


The documentation for this class was generated from the following files:
AthCUDA::KernelRunnerSvcImpl::m_streamPool
IStreamPoolSvc * m_streamPool
The stream pool service in use.
Definition: KernelRunnerSvcImpl.h:53
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
AthCUDA::IStreamPoolSvc::getAvailableStream
virtual StreamHolder getAvailableStream()=0
Get a stream from the pool.
AthCUDA::KernelRunnerSvcImpl::m_callback
KernelRunnerSvcImplCallback m_callback
Helper object to call setTaskFinished() with.
Definition: KernelRunnerSvcImpl.h:56