PIPS-NLP
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
sTree Class Referenceabstract

#include <sTree.h>

Inheritance diagram for sTree:
sTreeCallbacks sTreeImpl

Public Member Functions

virtual ~sTree ()
 
int NumberOfChildren () const
 
virtual void computeGlobalSizes ()=0
 
void GetGlobalSizes (long long &NXOut, long long &MYOut, long long &MZOut)
 
void assignProcesses (MPI_Comm comm=MPI_COMM_WORLD)
 
void assignProcesses (MPI_Comm, std::vector< int > &)
 
void startMonitors ()
 
void startNodeMonitors ()
 
void stopMonitors ()
 
void stopNodeMonitors ()
 
void syncMonitoringData (std::vector< double > &vCPUTotal)
 
bool balanceLoad ()
 
bool balanceLoadPrecond ()
 
void getSyncInfo (int myRank, int &syncNeeded, int &sendOrRecv, int &toFromCPU)
 
void syncPrimalVector (StochVector &vec)
 
void syncDualYVector (StochVector &vec)
 
void syncDualZVector (StochVector &vec)
 
void syncStochVector (StochVector &vec)
 
void syncStochGenMatrix (StochGenMatrix &mat)
 
void syncStochSymMatrix (StochSymMatrix &mat)
 
virtual StochSymMatrix * createQ () const =0
 
virtual StochVector * createc () const =0
 
virtual StochVector * createxlow () const =0
 
virtual StochVector * createixlow () const =0
 
virtual StochVector * createxupp () const =0
 
virtual StochVector * createixupp () const =0
 
virtual StochGenMatrix * createA ()=0
 
virtual StochVector * createb () const =0
 
virtual StochGenMatrix * createC ()=0
 
virtual StochVector * createclow () const =0
 
virtual StochVector * createiclow () const =0
 
virtual StochVector * createcupp () const =0
 
virtual StochVector * createicupp () const =0
 
virtual StochVector * createCeqBody () const =0
 
virtual StochVector * createCineqBody () const =0
 
virtual StochVector * createBarrGrad () const =0
 
StochVector * newPrimalVector () const
 
StochVector * newDualYVector () const
 
StochVector * newDualZVector () const
 
StochVector * newPrimalVectorEmpty () const
 
StochVector * newDualYVectorEmpty () const
 
StochVector * newDualZVectorEmpty () const
 
StochVector * newRhs ()
 
StochVector * newRhsXSYZ ()
 
int innerSize (int which)
 
virtual int nx () const =0
 
virtual int my () const =0
 
virtual int mz () const =0
 
virtual int id () const =0
 
virtual int mle () const
 
virtual int mli () const
 
virtual void get_FistStageSize (int &nx, int &my, int &mz)
 
double processLoad () const
 
virtual void loadLocalSizes ()=0
 

Public Attributes

MPI_Comm commWrkrs
 
MPI_Comm myOldMpiComm
 
std::vector< int > myProcs
 
std::vector< int > myOldProcs
 
MPI_Comm commP2ZeroW
 
long long N
 
long long MY
 
long long MZ
 
int np
 
double IPMIterExecTIME
 
std::vector< sTree * > children
 
StochNodeResourcesMonitor resMon
 

Static Public Attributes

static int rankPrcnd =-1
 
static int rankZeroW = 0
 
static int rankMe =-1
 
static int numProcs =-1
 
static StochIterateResourcesMonitor iterMon
 

Protected Member Functions

 sTree ()
 
void toMonitorsList (std::list< NodeExecEntry > &)
 
void fromMonitorsList (std::list< NodeExecEntry > &)
 
void computeNodeTotal ()
 
void saveCurrentCPUState ()
 
int isInVector (int elem, const std::vector< int > &vec)
 

Constructor & Destructor Documentation

sTree::~sTree ( )
virtual
sTree::sTree ( )
protected

Member Function Documentation

void sTree::assignProcesses ( MPI_Comm  comm = MPI_COMM_WORLD)
void sTree::assignProcesses ( MPI_Comm  ,
std::vector< int > &   
)
bool sTree::balanceLoad ( )

log

bool sTree::balanceLoadPrecond ( )
virtual void sTree::computeGlobalSizes ( )
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

void sTree::computeNodeTotal ( )
protected
virtual StochGenMatrix* sTree::createA ( )
pure virtual

Implemented in sTreeImpl.

virtual StochVector* sTree::createb ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochVector* sTree::createBarrGrad ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochVector* sTree::createc ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochGenMatrix* sTree::createC ( )
pure virtual

Implemented in sTreeImpl.

virtual StochVector* sTree::createCeqBody ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochVector* sTree::createCineqBody ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochVector* sTree::createclow ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochVector* sTree::createcupp ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochVector* sTree::createiclow ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochVector* sTree::createicupp ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochVector* sTree::createixlow ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochVector* sTree::createixupp ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochSymMatrix* sTree::createQ ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochVector* sTree::createxlow ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual StochVector* sTree::createxupp ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

void sTree::fromMonitorsList ( std::list< NodeExecEntry > &  )
protected
virtual void sTree::get_FistStageSize ( int &  nx,
int &  my,
int &  mz 
)
inlinevirtual

Reimplemented in sTreeImpl.

void sTree::GetGlobalSizes ( long long &  NXOut,
long long &  MYOut,
long long &  MZOut 
)
void sTree::getSyncInfo ( int  myRank,
int &  syncNeeded,
int &  sendOrRecv,
int &  toFromCPU 
)
virtual int sTree::id ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

int sTree::innerSize ( int  which)
int sTree::isInVector ( int  elem,
const std::vector< int > &  vec 
)
protected
virtual void sTree::loadLocalSizes ( )
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual int sTree::mle ( ) const
inlinevirtual

Reimplemented in sTreeImpl.

virtual int sTree::mli ( ) const
inlinevirtual

Reimplemented in sTreeImpl.

virtual int sTree::my ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

virtual int sTree::mz ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

StochVector * sTree::newDualYVector ( ) const
StochVector * sTree::newDualYVectorEmpty ( ) const
StochVector * sTree::newDualZVector ( ) const
StochVector * sTree::newDualZVectorEmpty ( ) const
StochVector * sTree::newPrimalVector ( ) const
StochVector * sTree::newPrimalVectorEmpty ( ) const
StochVector * sTree::newRhs ( )
StochVector * sTree::newRhsXSYZ ( )
int sTree::NumberOfChildren ( ) const
inline
virtual int sTree::nx ( ) const
pure virtual

Implemented in sTreeImpl, and sTreeCallbacks.

double sTree::processLoad ( ) const

need a recursive and also a collective call

void sTree::saveCurrentCPUState ( )
protected
void sTree::startMonitors ( )
void sTree::startNodeMonitors ( )
void sTree::stopMonitors ( )
void sTree::stopNodeMonitors ( )
void sTree::syncDualYVector ( StochVector &  vec)
void sTree::syncDualZVector ( StochVector &  vec)
void sTree::syncMonitoringData ( std::vector< double > &  vCPUTotal)
void sTree::syncPrimalVector ( StochVector &  vec)
void sTree::syncStochGenMatrix ( StochGenMatrix &  mat)
void sTree::syncStochSymMatrix ( StochSymMatrix &  mat)
void sTree::syncStochVector ( StochVector &  vec)
void sTree::toMonitorsList ( std::list< NodeExecEntry > &  )
protected

Member Data Documentation

std::vector<sTree*> sTree::children
MPI_Comm sTree::commP2ZeroW
MPI_Comm sTree::commWrkrs
double sTree::IPMIterExecTIME
StochIterateResourcesMonitor sTree::iterMon
static
long long sTree::MY
MPI_Comm sTree::myOldMpiComm
std::vector<int> sTree::myOldProcs
std::vector<int> sTree::myProcs
long long sTree::MZ
long long sTree::N
int sTree::np
int sTree::numProcs =-1
static
int sTree::rankMe =-1
static
int sTree::rankPrcnd =-1
static
int sTree::rankZeroW = 0
static

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