LAMA
CUDATracerSyncToken Class Reference

lama::CUDATracerSyncToken More...

#include <CUDATracerSyncToken.hpp>

Inheritance diagram for CUDATracerSyncToken:

Public Member Functions

 CUDATracerSyncToken (std::auto_ptr< LAMABaseTracer > tracer, lama::CUDAStreamSyncToken &cudaStreamSyncToken)
virtual ~CUDATracerSyncToken ()
virtual void wait ()
 Method to wait on the completion of an operation.
virtual bool probe () const
 Predicate to ask if an asynchronous operation is already completed.
void recordStopEvent ()
bool isSynchronized () const
 Query whether token has already been synchronized.
virtual void writeAt (std::ostream &stream) const
 Base class provides a default implementation for the virtual method of Printable.
void pushAccess (std::auto_ptr< BaseAccess > access)
 Add a read/write access to the token so that LAMA arrays will be locked until synchronization.
void pushArray (std::auto_ptr< _LAMAArray > array)
 Add a LAMA array that will be free after synchronization.
void pushSyncToken (std::auto_ptr< SyncToken > syncToken)
 Add a Synctoken that will be synchronized after synchronization.

Protected Member Functions

void setSynchronized ()
 This method should be called by base classes after a successful wait.

Private Member Functions

 CUDATracerSyncToken ()
 CUDATracerSyncToken (const CUDATracerSyncToken &other)
CUDATracerSyncTokenoperator= (const CUDATracerSyncToken &other)
 LAMA_LOG_DECL_STATIC_LOGGER (logger)
 logger for this class

Private Attributes

CUevent mStartEvent
CUevent mStopEvent
lama::CUDAStreamSyncTokenmStreamSyncToken
std::auto_ptr< LAMABaseTracermTracer

Detailed Description

lama::CUDATracerSyncToken


Constructor & Destructor Documentation


Member Function Documentation

logger for this class

Reimplemented from lama::SyncToken.

CUDATracerSyncToken& CUDATracerSyncToken::operator= ( const CUDATracerSyncToken other) [private]
bool CUDATracerSyncToken::probe ( ) const [virtual]

Predicate to ask if an asynchronous operation is already completed.

Implements lama::SyncToken.

References mStopEvent, mStreamSyncToken, and lama::CUDAStreamSyncToken::probeEvent().

void lama::SyncToken::pushAccess ( std::auto_ptr< BaseAccess access) [inherited]
void lama::SyncToken::pushArray ( std::auto_ptr< _LAMAArray array) [inherited]

Add a LAMA array that will be free after synchronization.

References LAMA_ASSERT_ERROR, lama::SyncToken::mArrays, and lama::SyncToken::mSynchronized.

void lama::SyncToken::pushSyncToken ( std::auto_ptr< SyncToken syncToken) [inherited]

Add a Synctoken that will be synchronized after synchronization.

References LAMA_ASSERT_ERROR, lama::SyncToken::mChilds, and lama::SyncToken::mSynchronized.

Referenced by CUDATracerHelper< Tracer >::CUDATracerHelper().

void lama::SyncToken::writeAt ( std::ostream &  stream) const [virtual, inherited]

Base class provides a default implementation for the virtual method of Printable.

Reimplemented from Printable.

Reimplemented in lama::MPISyncToken, lama::TaskSyncToken, lama::PGASSyncToken, and lama::NoSyncToken.

References lama::SyncToken::mSynchronized.


Field Documentation

std::auto_ptr<LAMABaseTracer> CUDATracerSyncToken::mTracer [private]

Referenced by wait().


The documentation for this class was generated from the following files: