LAMA
lama::PGASInterface Class Reference

#include <PGASInterface.hpp>

Inheritance diagram for lama::PGASInterface:

Public Member Functions

virtual void * allocate (size_t size) const =0
virtual void free (void *ptr, const size_t size) const =0
virtual void syncronizeAll () const =0
virtual bool isPinned (const void *const ptr) const =0
virtual PGASSyncTokengetSyncToken (int arg1) const =0
virtual PGASCommunicationKind getPreferredCommunicationKind () const =0
virtual void get (void *dst, const void *src, size_t length, int srcpe) const =0
virtual void put (void *dst, const void *src, size_t length, int srcpe) const =0
virtual PartitionId getRank () const =0
virtual PartitionId getSize () const =0
virtual std::auto_ptr< SyncTokengetAsync (void *dst, const void *src, size_t length, int srcPE) const
virtual std::auto_ptr< SyncTokenputAsync (void *dst, const void *src, size_t length, int srcPE) const
virtual std::auto_ptr< SyncTokenshift (void *dst, const void *src, size_t size, PartitionId destRank, PartitionId srcRank) const
virtual std::auto_ptr< SyncTokenbroadcast (void *dst, const void *src, size_t length, int srcPE) const
virtual std::auto_ptr< SyncTokenall2all (void *dst, const void *src, size_t elemSize) const
virtual double max (const double val, const PartitionId root) const
virtual float max (const float val, const PartitionId root) const
virtual int max (const int val, const PartitionId root) const
virtual size_t max (const size_t val, const PartitionId root) const
virtual double min (const double val, const PartitionId root) const
virtual float min (const float val, const PartitionId root) const
virtual int min (const int val, const PartitionId root) const
virtual double sum (const double val, const PartitionId root) const
virtual float sum (const float val, const PartitionId root) const
virtual int sum (const int val, const PartitionId root) const
virtual size_t sum (const size_t val, const PartitionId root) const
virtual double maxToAll (const double val) const
virtual float maxToAll (const float val) const
virtual int maxToAll (const int val) const
virtual size_t maxToAll (const size_t val) const
virtual double minToAll (const double val) const
virtual float minToAll (const float val) const
virtual int minToAll (const int val) const
virtual double sumToAll (const double val) const
virtual float sumToAll (const float val) const
virtual int sumToAll (const int val) const
virtual size_t sumToAll (const size_t val) const
virtual void maxloc (double &d, int &loc, PartitionId root) const
virtual void maxloc (float &d, int &loc, PartitionId root) const
virtual void maxloc (int &d, int &loc, PartitionId root) const
virtual void swap (void *val, const size_t n, const PartitionId partner) const
virtual void scatter (void *myvals, const size_t partSize, const PartitionId root, const void *allvals) const
virtual void scatter (void *myvals, const size_t elemSize, const PartitionId root, const void *allvals, const IndexType sizes[]) const
virtual void gather (void *allvals, const size_t partSize, const PartitionId root, const void *myvals) const
virtual void gather (void *allvals, const size_t elemSize, const PartitionId root, const void *myvals, const IndexType sizes[]) const
virtual void parallelReduction (PGASFunctor &reduction, PartitionId root) const
 PGASInterface ()
virtual ~PGASInterface ()

Static Public Member Functions

static const PGASInterfacegetInstance ()

Protected Member Functions

virtual void writeAt (std::ostream &stream) const =0
 Writes some Information about this to the passed stream.

Private Member Functions

template<typename T >
maxToAllImpl (const T val) const
template<typename T >
minToAllImpl (const T val) const
template<typename T >
sumToAllImpl (const T val) const
 LAMA_LOG_DECL_STATIC_LOGGER (logger)

Static Private Member Functions

static PGASInterfaceinit ()

Static Private Attributes

static std::auto_ptr
< PGASInterface
sInstance

Constructor & Destructor Documentation


Member Function Documentation

std::auto_ptr< SyncToken > lama::PGASInterface::all2all ( void *  dst,
const void *  src,
size_t  elemSize 
) const [virtual]

Reimplemented in lama::PGASCheckInterface.

References getAsync(), getRank(), and getSize().

Referenced by lama::PGASCommunicator::all2all().

std::auto_ptr< SyncToken > lama::PGASInterface::broadcast ( void *  dst,
const void *  src,
size_t  length,
int  srcPE 
) const [virtual]
void lama::PGASInterface::gather ( void *  allvals,
const size_t  partSize,
const PartitionId  root,
const void *  myvals 
) const [virtual]
void lama::PGASInterface::gather ( void *  allvals,
const size_t  elemSize,
const PartitionId  root,
const void *  myvals,
const IndexType  sizes[] 
) const [virtual]
virtual void lama::PGASInterface::get ( void *  dst,
const void *  src,
size_t  length,
int  srcpe 
) const [pure virtual]
std::auto_ptr< SyncToken > lama::PGASInterface::getAsync ( void *  dst,
const void *  src,
size_t  length,
int  srcPE 
) const [virtual]
PGASInterface * lama::PGASInterface::init ( ) [static, private]

Referenced by getInstance().

virtual bool lama::PGASInterface::isPinned ( const void *const  ptr) const [pure virtual]
double lama::PGASInterface::max ( const double  val,
const PartitionId  root 
) const [virtual]
float lama::PGASInterface::max ( const float  val,
const PartitionId  root 
) const [virtual]
int lama::PGASInterface::max ( const int  val,
const PartitionId  root 
) const [virtual]
size_t lama::PGASInterface::max ( const size_t  val,
const PartitionId  root 
) const [virtual]
double lama::PGASInterface::maxToAll ( const double  val) const [virtual]

References maxToAllImpl().

Referenced by lama::PGASCommunicator::max().

float lama::PGASInterface::maxToAll ( const float  val) const [virtual]

References maxToAllImpl().

int lama::PGASInterface::maxToAll ( const int  val) const [virtual]

References maxToAllImpl().

size_t lama::PGASInterface::maxToAll ( const size_t  val) const [virtual]

References maxToAllImpl().

template<typename T >
T lama::PGASInterface::maxToAllImpl ( const T  val) const [private]

References allocate(), broadcast(), free(), max(), and syncronizeAll().

Referenced by maxToAll().

double lama::PGASInterface::min ( const double  val,
const PartitionId  root 
) const [virtual]
float lama::PGASInterface::min ( const float  val,
const PartitionId  root 
) const [virtual]
int lama::PGASInterface::min ( const int  val,
const PartitionId  root 
) const [virtual]
double lama::PGASInterface::minToAll ( const double  val) const [virtual]

References minToAllImpl().

Referenced by lama::PGASCommunicator::min().

float lama::PGASInterface::minToAll ( const float  val) const [virtual]

References minToAllImpl().

int lama::PGASInterface::minToAll ( const int  val) const [virtual]

References minToAllImpl().

template<typename T >
T lama::PGASInterface::minToAllImpl ( const T  val) const [private]

References allocate(), broadcast(), free(), min(), and syncronizeAll().

Referenced by minToAll().

void lama::PGASInterface::parallelReduction ( PGASFunctor reduction,
PartitionId  root 
) const [virtual]
virtual void lama::PGASInterface::put ( void *  dst,
const void *  src,
size_t  length,
int  srcpe 
) const [pure virtual]
std::auto_ptr< SyncToken > lama::PGASInterface::putAsync ( void *  dst,
const void *  src,
size_t  length,
int  srcPE 
) const [virtual]

Reimplemented in lama::PGASCheckInterface.

References put().

Referenced by shift().

void lama::PGASInterface::scatter ( void *  myvals,
const size_t  partSize,
const PartitionId  root,
const void *  allvals 
) const [virtual]
void lama::PGASInterface::scatter ( void *  myvals,
const size_t  elemSize,
const PartitionId  root,
const void *  allvals,
const IndexType  sizes[] 
) const [virtual]
std::auto_ptr< SyncToken > lama::PGASInterface::shift ( void *  dst,
const void *  src,
size_t  size,
PartitionId  destRank,
PartitionId  srcRank 
) const [virtual]
double lama::PGASInterface::sum ( const double  val,
const PartitionId  root 
) const [virtual]
float lama::PGASInterface::sum ( const float  val,
const PartitionId  root 
) const [virtual]
int lama::PGASInterface::sum ( const int  val,
const PartitionId  root 
) const [virtual]
size_t lama::PGASInterface::sum ( const size_t  val,
const PartitionId  root 
) const [virtual]
double lama::PGASInterface::sumToAll ( const double  val) const [virtual]

References sumToAllImpl().

Referenced by lama::PGASCommunicator::sum().

float lama::PGASInterface::sumToAll ( const float  val) const [virtual]

References sumToAllImpl().

int lama::PGASInterface::sumToAll ( const int  val) const [virtual]

References sumToAllImpl().

size_t lama::PGASInterface::sumToAll ( const size_t  val) const [virtual]

References sumToAllImpl().

template<typename T >
T lama::PGASInterface::sumToAllImpl ( const T  val) const [private]

References allocate(), broadcast(), free(), sum(), and syncronizeAll().

Referenced by sumToAll().

void lama::PGASInterface::swap ( void *  val,
const size_t  n,
const PartitionId  partner 
) const [virtual]
virtual void lama::PGASInterface::writeAt ( std::ostream &  stream) const [protected, pure virtual]

Writes some Information about this to the passed stream.

If a deriving class does not overrides writeAt, typeid(this).name() is written to stream.

Parameters:
[out]streamthe stream to write to.

Reimplemented from Printable.

Implemented in lama::PGASCheckInterface, lama::GPIInterface, lama::OpenShMemInterface, and lama::PGASNoInterface.


Field Documentation

std::auto_ptr< PGASInterface > lama::PGASInterface::sInstance [static, private]

Referenced by getInstance().


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