LAMA
|
#include <NoSyncToken.hpp>
Public Member Functions | |
NoSyncToken () | |
virtual | ~NoSyncToken () |
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 | writeAt (std::ostream &stream) const |
Base class provides a default implementation for the virtual method of Printable. | |
bool | isSynchronized () const |
Query whether token has already been synchronized. | |
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. | |
LAMA_LOG_DECL_STATIC_LOGGER (logger) | |
logger for this class |
lama::NoSyncToken::NoSyncToken | ( | ) | [inline] |
lama::NoSyncToken::~NoSyncToken | ( | ) | [inline, virtual] |
References lama::SyncToken::isSynchronized(), and lama::SyncToken::setSynchronized().
bool lama::SyncToken::isSynchronized | ( | ) | const [inherited] |
Query whether token has already been synchronized.
References lama::SyncToken::mSynchronized.
Referenced by lama::PGASSyncToken::probe(), lama::CUDAStreamSyncToken::probe(), wait(), lama::PGASSyncToken::wait(), lama::TaskSyncToken::wait(), lama::MPISyncToken::wait(), lama::CUDAStreamSyncToken::wait(), writeAt(), lama::PGASSyncToken::writeAt(), lama::TaskSyncToken::writeAt(), lama::MPISyncToken::writeAt(), CUDATracerSyncToken::~CUDATracerSyncToken(), lama::MPISyncToken::~MPISyncToken(), ~NoSyncToken(), and lama::PGASSyncToken::~PGASSyncToken().
lama::SyncToken::LAMA_LOG_DECL_STATIC_LOGGER | ( | logger | ) | [protected, inherited] |
logger for this class
Reimplemented in lama::TaskSyncToken, and CUDATracerSyncToken.
bool lama::NoSyncToken::probe | ( | ) | const [inline, virtual] |
Predicate to ask if an asynchronous operation is already completed.
Implements lama::SyncToken.
void lama::SyncToken::pushAccess | ( | std::auto_ptr< BaseAccess > | access | ) | [inherited] |
Add a read/write access to the token so that LAMA arrays will be locked until synchronization.
References LAMA_ASSERT_ERROR, lama::SyncToken::mAccesses, and lama::SyncToken::mSynchronized.
Referenced by lama::ELLStorage< T >::matrixTimesVectorAsync(), lama::CSRStorage< T >::matrixTimesVectorAsync(), and lama::COOStorage< T >::matrixTimesVectorAsyncToDo().
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::setSynchronized | ( | ) | [protected, inherited] |
This method should be called by base classes after a successful wait.
References LAMA_THROWEXCEPTION, lama::SyncToken::mAccesses, lama::SyncToken::mArrays, lama::SyncToken::mChilds, and lama::SyncToken::mSynchronized.
Referenced by wait(), CUDATracerSyncToken::wait(), lama::PGASSyncToken::wait(), lama::TaskSyncToken::wait(), lama::MPISyncToken::wait(), lama::CUDAStreamSyncToken::wait(), and ~NoSyncToken().
void lama::NoSyncToken::wait | ( | ) | [inline, virtual] |
Method to wait on the completion of an operation.
Implements lama::SyncToken.
References lama::SyncToken::isSynchronized(), and lama::SyncToken::setSynchronized().
void lama::NoSyncToken::writeAt | ( | std::ostream & | stream | ) | const [inline, virtual] |
Base class provides a default implementation for the virtual method of Printable.
Reimplemented from lama::SyncToken.
References lama::SyncToken::isSynchronized().