ATLAS Offline Software
Loading...
Searching...
No Matches
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.
void execute (std::unique_ptr< IKernelTask > task)
 Implementation of AthCUDA::IKernelRunnerSvc::execute.
StreamHolder getAvailableStream ()
 Get an available CUDA stream from the pool.

Private Attributes

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

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 }
IStreamPoolSvc * m_streamPool
The stream pool service in use.
KernelRunnerSvcImplCallback m_callback
Helper object to call setTaskFinished() with.

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 );
39 return m_streamPool->getAvailableStream();
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: