Overture  Version 25
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
LoadBalancer Class Reference

#include <LoadBalancer.h>

Public Types

enum  LoadBalancerTypeEnum {
  defaultLoadBalancer =0, KernighanLin, sequentialAssignment, randomAssignment,
  allToAll, userDefined, numberOfLoadBalanceTypes
}
 

Public Member Functions

 LoadBalancer ()
 
 ~LoadBalancer ()
 
int assignLoadBalance (GridCollection &gc, GridDistributionList &gridDistributionList, int refinementLevel=0) const
 
int assignWorkLoads (GridCollection &gc, GridDistributionList &gridDistributionList, int refinementLevel=0) const
 
int assignWorkLoads (GridCollectionData &gc, GridDistributionList &gridDistributionList, int refinementLevel=0) const
 
int determineLoadBalance (GridDistributionList &gridDistributionList, int refinementLevel=0) const
 
int determineLoadBalance (GridCollection &gc, GridDistributionList &gridDistributionList, int refinementLevel=0) const
 
int determineLoadBalanceKernighanLin (GridDistributionList &gridDistributionList, int refinementLevel=0) const
 
int determineLoadBalanceUserDefined (GridDistributionList &gridDistributionList, int refinementLevel=0) const
 
LoadBalancerTypeEnum getLoadBalancerType () const
 
aString getLoadBalancerTypeName () const
 
int printStatistics (FILE *file=NULL)
 
int setProcessors (int pStart, int pEnd)
 
int setLoadBalancer (LoadBalancerTypeEnum loadBalancer)
 
int setTargetMaximumLoadImbalance (real target)
 
int update (GenericGraphicsInterface &gi)
 

Protected Member Functions

int saveStatistics (GridDistributionList &gridDistributionList) const
 

Protected Attributes

int np
 
int * processorID
 
LoadBalancerTypeEnum loadBalancer
 
real targetMaximumLoadImbalance
 

Static Protected Attributes

static int debug =0
 
static int numberOfLoadBalances =0
 
static real maximumImbalance =0.
 
static real averageImbalance =0.
 
static real averageNumberOfGrids =0.
 
static real averageNumberOfBlocks =0.
 
static real averageWorkPerBlock =0.
 

Member Enumeration Documentation

Enumerator
defaultLoadBalancer 
KernighanLin 
sequentialAssignment 
randomAssignment 
allToAll 
userDefined 
numberOfLoadBalanceTypes 

Constructor & Destructor Documentation

LoadBalancer::LoadBalancer ( )

References max().

LoadBalancer::~LoadBalancer ( )

Member Function Documentation

int LoadBalancer::assignLoadBalance ( GridCollection gc,
GridDistributionList gridDistributionList,
int  refinementLevel = 0 
) const
int LoadBalancer::assignWorkLoads ( GridCollection gc,
GridDistributionList gridDistributionList,
int  refinementLevel = 0 
) const
int LoadBalancer::assignWorkLoads ( GridCollectionData gc,
GridDistributionList gridDistributionList,
int  refinementLevel = 0 
) const
int LoadBalancer::determineLoadBalance ( GridDistributionList gridDistributionList,
int  refinementLevel = 0 
) const
int LoadBalancer::determineLoadBalance ( GridCollection gc,
GridDistributionList gridDistributionList,
int  refinementLevel = 0 
) const
int LoadBalancer::determineLoadBalanceKernighanLin ( GridDistributionList gridDistributionList,
int  refinementLevel = 0 
) const
int LoadBalancer::determineLoadBalanceUserDefined ( GridDistributionList gridDistributionList,
int  refinementLevel = 0 
) const

References Overture::abort().

LoadBalancer::LoadBalancerTypeEnum LoadBalancer::getLoadBalancerType ( ) const
aString LoadBalancer::getLoadBalancerTypeName ( ) const

Referenced by main().

int LoadBalancer::printStatistics ( FILE *  file = NULL)

References fPrintF(), and max().

Referenced by main().

int LoadBalancer::saveStatistics ( GridDistributionList gridDistributionList) const
protected

References fabs(), and max().

int LoadBalancer::setLoadBalancer ( LoadBalancerTypeEnum  loadBalancer)
int LoadBalancer::setProcessors ( int  pStart,
int  pEnd 
)

References printF().

int LoadBalancer::setTargetMaximumLoadImbalance ( real  target)
int LoadBalancer::update ( GenericGraphicsInterface gi)

Member Data Documentation

real LoadBalancer::averageImbalance =0.
staticprotected
real LoadBalancer::averageNumberOfBlocks =0.
staticprotected
real LoadBalancer::averageNumberOfGrids =0.
staticprotected
real LoadBalancer::averageWorkPerBlock =0.
staticprotected
int LoadBalancer::debug =0
staticprotected
LoadBalancerTypeEnum LoadBalancer::loadBalancer
protected
real LoadBalancer::maximumImbalance =0.
staticprotected
int LoadBalancer::np
protected
int LoadBalancer::numberOfLoadBalances =0
staticprotected
int* LoadBalancer::processorID
protected
real LoadBalancer::targetMaximumLoadImbalance
protected

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