PPL Logo

RefinerApprox Class Reference

#include <RefinerApprox.h>

Inheritance diagram for RefinerApprox:

Inheritance graph
[legend]
Collaboration diagram for RefinerApprox:

Collaboration graph
[legend]

Public Member Functions

 RefinerApprox (double _overload)
 ~RefinerApprox ()
void Refine (int count, CentralLB::LDStats *stats, int *cur_p, int *new_p, int percentMoves=100)

Protected Member Functions

void create (int count, CentralLB::LDStats *stats, int *cur_p)
void reinitAssignment ()
virtual int refine (double opt)
void multirefine (int num_moves)
int getNumLargeComputes (double opt)
double getLargestCompute ()
int computeA (processorInfo *p, double opt)
int computeB (processorInfo *p, double opt)
int numMoves ()
void printStats (int newStats)
SetremoveBiggestSmallComputes (int num, processorInfo *p, double opt)
SetremoveBigComputes (int num, processorInfo *p, double opt)

Detailed Description

Definition at line 13 of file RefinerApprox.h.


Constructor & Destructor Documentation

RefinerApprox::RefinerApprox ( double  _overload  )  [inline]

Definition at line 15 of file RefinerApprox.h.

References Refiner::computes, Refiner::overLoad, and Refiner::processors.

RefinerApprox::~RefinerApprox (  )  [inline]

Definition at line 18 of file RefinerApprox.h.


Member Function Documentation

void RefinerApprox::Refine ( int  count,
CentralLB::LDStats *  stats,
int cur_p,
int new_p,
int  percentMoves = 100 
)

void RefinerApprox::create ( int  count,
CentralLB::LDStats *  stats,
int cur_p 
) [protected]

void RefinerApprox::reinitAssignment (  )  [protected]

Definition at line 66 of file RefinerApprox.C.

References Refiner::assign(), c, Refiner::deAssign(), Iterator::id, computeInfo::oldProcessor, Refiner::P, and Refiner::processors.

Referenced by multirefine().

Here is the call graph for this function:

Here is the caller graph for this function:

int RefinerApprox::refine ( double  opt  )  [protected, virtual]

void RefinerApprox::multirefine ( int  num_moves  )  [protected]

Definition at line 99 of file RefinerApprox.C.

References _lb_debug, Refiner::averageLoad, Refiner::computeAverage(), Refiner::computeMax(), max(), numMoves(), Refiner::refine(), and reinitAssignment().

Referenced by Refine().

Here is the call graph for this function:

Here is the caller graph for this function:

int RefinerApprox::getNumLargeComputes ( double  opt  )  [protected]

Definition at line 248 of file RefinerApprox.C.

References c, Iterator::id, InfoRecord::load, Refiner::P, and Refiner::processors.

Referenced by refine().

Here is the caller graph for this function:

double RefinerApprox::getLargestCompute (  )  [protected]

Definition at line 222 of file RefinerApprox.C.

References processorInfo::backgroundLoad, c, Iterator::id, InfoRecord::load, Refiner::P, and Refiner::processors.

Referenced by refine().

Here is the caller graph for this function:

int RefinerApprox::computeA ( processorInfo p,
double  opt 
) [protected]

Definition at line 277 of file RefinerApprox.C.

References processorInfo::backgroundLoad, c, processorInfo::computeSet, maxHeap::deleteMax(), h, Iterator::id, maxHeap::insert(), Set::iterator(), InfoRecord::load, Set::next(), and Set::numElements().

Referenced by refine().

Here is the call graph for this function:

Here is the caller graph for this function:

int RefinerApprox::computeB ( processorInfo p,
double  opt 
) [protected]

Definition at line 316 of file RefinerApprox.C.

References _lb_debug, processorInfo::backgroundLoad, c, processorInfo::computeSet, maxHeap::deleteMax(), h, Iterator::id, maxHeap::insert(), Set::iterator(), InfoRecord::load, Set::next(), and Set::numElements().

Referenced by refine().

Here is the call graph for this function:

Here is the caller graph for this function:

int RefinerApprox::numMoves (  )  [protected]

Definition at line 592 of file RefinerApprox.C.

References Refiner::computes, and Refiner::numComputes.

Referenced by multirefine(), and refine().

Here is the caller graph for this function:

void RefinerApprox::printStats ( int  newStats  )  [protected]

Definition at line 696 of file RefinerApprox.C.

References Refiner::P, and Refiner::processors.

Referenced by Refine().

Here is the caller graph for this function:

Set * RefinerApprox::removeBiggestSmallComputes ( int  num,
processorInfo p,
double  opt 
) [protected]

Definition at line 138 of file RefinerApprox.C.

References _lb_debug, processorInfo::backgroundLoad, c, processorInfo::computeSet, maxHeap::deleteMax(), h, InfoRecord::Id, Iterator::id, Set::insert(), maxHeap::insert(), Set::iterator(), InfoRecord::load, Set::next(), and Set::numElements().

Referenced by refine().

Here is the call graph for this function:

Here is the caller graph for this function:

Set * RefinerApprox::removeBigComputes ( int  num,
processorInfo p,
double  opt 
) [protected]

Definition at line 185 of file RefinerApprox.C.

References _lb_debug, c, processorInfo::computeSet, maxHeap::deleteMax(), h, Iterator::id, InfoRecord::Id, Set::insert(), maxHeap::insert(), Set::iterator(), InfoRecord::load, Set::next(), and Set::numElements().

Referenced by refine().

Here is the call graph for this function:

Here is the caller graph for this function:


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

Generated on Mon Sep 21 08:29:31 2020 for Charm++ by  doxygen 1.5.5