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)
 
StochSymMatrix * createQ () const
 
StochVector * createc () const
 
StochVector * createxlow () const
 
StochVector * createixlow () const
 
StochVector * createxupp () const
 
StochVector * createixupp () const
 
StochGenMatrix * createA () const
 
StochVector * createb () const
 
StochGenMatrix * createC () const
 
StochVector * createclow () const
 
StochVector * createiclow () const
 
StochVector * createcupp () const
 
StochVector * createicupp () const
 
StochVector * createCeqBody () const
 
StochVector * createCineqBody () const
 
StochVector * createBarrGrad () const
 
StochVector * newPrimalVector () const
 
StochVector * newDualYVector () const
 
StochVector * newDualZVector () const
 
StochVector * newPrimalVectorEmpty () const
 
StochVector * newDualYVectorEmpty () const
 
StochVector * newDualZVectorEmpty () const
 
StochVector * newRhs ()
 
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::StochInputNode * data
 
StochInputTree * tree
 
std::vector< StochInputTree::StochInputNode * > scens
 
StochInputTree::StochInputNode * fakedata
 
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: