PIPS-NLP
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
StochTree Class Reference

#include <StochTree.h>

Inheritance diagram for StochTree:
StochTreePrecond

Public Member Functions

 StochTree (StochInputTree *root)
 
 StochTree (const std::vector< StochInputTree::StochInputNode * > &localscens)
 
 StochTree (StochInputTree::StochInputNode *data_)
 
virtual ~StochTree ()
 
int NumberOfChildren () const
 
void computeGlobalSizes ()
 
void GetGlobalSizes (int &NXOut, int &MYOut, int &MZOut)
 
void GetLocalSizes (int &nxOut, int &myOut, int &mzOut)
 
virtual void assignProcesses ()
 
virtual void assignProcesses (MPI_Comm, vector< int > &)
 
void startMonitors ()
 
void startNodeMonitors ()
 
void stopMonitors ()
 
void stopNodeMonitors ()
 
void syncMonitoringData (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_old (StochVector &vec, int whatType)
 
void syncStochVector (StochVector &vec)
 
void syncStochGenMatrix (StochGenMatrix &mat)
 
void syncStochSymMatrix (StochSymMatrix &mat)
 
StochSymMatrixcreateQ () const
 
StochVectorcreatec () const
 
StochVectorcreatexlow () const
 
StochVectorcreateixlow () const
 
StochVectorcreatexupp () const
 
StochVectorcreateixupp () const
 
StochGenMatrixcreateA () const
 
StochVectorcreateb () const
 
StochGenMatrixcreateC () const
 
StochVectorcreateclow () const
 
StochVectorcreateiclow () const
 
StochVectorcreatecupp () const
 
StochVectorcreateicupp () const
 
StochVectorcreateCeqBody () const
 
StochVectorcreateCineqBody () const
 
StochVectorcreateBarrGrad () const
 
StochVectornewPrimalVector () const
 
StochVectornewDualYVector () const
 
StochVectornewDualZVector () const
 
StochVectornewPrimalVectorEmpty () const
 
StochVectornewDualYVectorEmpty () const
 
StochVectornewDualZVectorEmpty () const
 
StochVectornewRhs ()
 
int innerSize (int which)
 
int nx () const
 
int my () const
 
int mz () const
 
int id () const
 
double processLoad () const
 

Public Attributes

MPI_Comm commWrkrs
 
MPI_Comm myOldMpiComm
 
vector< int > myProcs
 
vector< int > myOldProcs
 
MPI_Comm commP2ZeroW
 
int N
 
int MY
 
int MZ
 
int NNZA
 
int NNZQ
 
int NNZB
 
int NNZC
 
int NNZD
 
int np
 
double IPMIterExecTIME
 
std::vector< StochTree * > 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

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

Protected Attributes

StochInputTree::StochInputNodedata
 
StochInputTreetree
 
std::vector< StochInputTree::StochInputNode * > scens
 
StochInputTree::StochInputNodefakedata
 
std::vector< StochTree * > real_children
 

Constructor & Destructor Documentation

StochTree::StochTree ( StochInputTree root)
StochTree::StochTree ( const std::vector< StochInputTree::StochInputNode * > &  localscens)
StochTree::StochTree ( StochInputTree::StochInputNode data_)
StochTree::~StochTree ( )
virtual
StochTree::StochTree ( )
protected

Member Function Documentation

void StochTree::assignProcesses ( )
virtual

Reimplemented in StochTreePrecond.

void StochTree::assignProcesses ( MPI_Comm  world,
vector< int > &  processes 
)
virtual

log printf("----Node [%d] is on proc [%d]\n", i, rankMe);fflush(stdout);

log printf("---Node [%d] not on proc [%d] \n", i, rankMe);fflush(stdout);

Reimplemented in StochTreePrecond.

bool StochTree::balanceLoad ( )

log

bool StochTree::balanceLoadPrecond ( )
void StochTree::computeGlobalSizes ( )
void StochTree::computeNodeTotal ( )
protected
StochGenMatrix * StochTree::createA ( ) const
StochVector * StochTree::createb ( ) const
StochVector * StochTree::createBarrGrad ( ) const
StochVector * StochTree::createc ( ) const
StochGenMatrix * StochTree::createC ( ) const
StochVector * StochTree::createCeqBody ( ) const
StochVector * StochTree::createCineqBody ( ) const
StochVector * StochTree::createclow ( ) const
StochVector * StochTree::createcupp ( ) const
StochVector * StochTree::createiclow ( ) const
StochVector * StochTree::createicupp ( ) const
StochVector * StochTree::createixlow ( ) const
StochVector * StochTree::createixupp ( ) const
StochSymMatrix * StochTree::createQ ( ) const
StochVector * StochTree::createxlow ( ) const
StochVector * StochTree::createxupp ( ) const
void StochTree::fromMonitorsList ( list< NodeExecEntry > &  lstExecTm)
protected
void StochTree::GetGlobalSizes ( int &  NXOut,
int &  MYOut,
int &  MZOut 
)
void StochTree::GetLocalSizes ( int &  nxOut,
int &  myOut,
int &  mzOut 
)
void StochTree::getSyncInfo ( int  myRank,
int &  syncNeeded,
int &  sendOrRecv,
int &  toFromCPU 
)
int StochTree::id ( ) const
int StochTree::innerSize ( int  which)
int StochTree::isInVector ( int  elem,
const vector< int > &  vec 
)
protected
int StochTree::my ( ) const
int StochTree::mz ( ) const
StochVector * StochTree::newDualYVector ( ) const
StochVector * StochTree::newDualYVectorEmpty ( ) const
StochVector * StochTree::newDualZVector ( ) const
StochVector * StochTree::newDualZVectorEmpty ( ) const
StochVector * StochTree::newPrimalVector ( ) const
StochVector * StochTree::newPrimalVectorEmpty ( ) const
StochVector * StochTree::newRhs ( )
int StochTree::NumberOfChildren ( ) const
inline
int StochTree::nx ( ) const
double StochTree::processLoad ( ) const

need a recursive and also a collective call

void StochTree::saveCurrentCPUState ( )
protected
void StochTree::startMonitors ( )
void StochTree::startNodeMonitors ( )
void StochTree::stopMonitors ( )
void StochTree::stopNodeMonitors ( )
void StochTree::syncDualYVector ( StochVector vec)
void StochTree::syncDualZVector ( StochVector vec)
void StochTree::syncMonitoringData ( vector< double > &  vCPUTotal)
void StochTree::syncPrimalVector ( StochVector vec)
void StochTree::syncStochGenMatrix ( StochGenMatrix mat)
void StochTree::syncStochSymMatrix ( StochSymMatrix mat)
void StochTree::syncStochVector ( StochVector vec)
void StochTree::syncStochVector_old ( StochVector vec,
int  whatType 
)
void StochTree::toMonitorsList ( list< NodeExecEntry > &  lstExecTm)
protected

Member Data Documentation

std::vector<StochTree*> StochTree::children
MPI_Comm StochTree::commP2ZeroW
MPI_Comm StochTree::commWrkrs
StochInputTree::StochInputNode* StochTree::data
protected
StochInputTree::StochInputNode* StochTree::fakedata
protected
double StochTree::IPMIterExecTIME
StochIterateResourcesMonitor StochTree::iterMon
static
int StochTree::MY
MPI_Comm StochTree::myOldMpiComm
vector<int> StochTree::myOldProcs
vector<int> StochTree::myProcs
int StochTree::MZ
int StochTree::N
int StochTree::NNZA
int StochTree::NNZB
int StochTree::NNZC
int StochTree::NNZD
int StochTree::NNZQ
int StochTree::np
int StochTree::numProcs =-1
static
int StochTree::rankMe =-1
static
int StochTree::rankPrcnd =-1
static
int StochTree::rankZeroW = 0
static
std::vector<StochTree*> StochTree::real_children
protected
StochNodeResourcesMonitor StochTree::resMon
std::vector<StochInputTree::StochInputNode*> StochTree::scens
protected
StochInputTree* StochTree::tree
protected

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