
#include <TopoLB.h>


Public Member Functions | |
| TopoLB (const CkLBOptions &opt) | |
| TopoLB (CkMigrateMessage *m) | |
| void | work (LDStats *stats) |
| void | pup (PUP::er &p) |
Data Fields | |
| LBTopology * | topo |
Protected Member Functions | |
| virtual void | computePartitions (CentralLB::LDStats *stats, int count, int *newmap) |
| virtual void | allocateDataStructures (int num_procs) |
| virtual void | freeDataStructures (int num_procs) |
| virtual void | initDataStructures (CentralLB::LDStats *stats, int count, int *newmap) |
| virtual void | printDataStructures (int num_procs, int num_objs, int *newmap) |
| virtual double | getHopBytes (CentralLB::LDStats *stats, int count, CkVec< int >obj_to_proc) |
| virtual double | getHopBytesNew (int *assign_map, int count) |
| void | performMapping (int *newmap, int count) |
| CmiBool | QueryBalanceNow (int step) |
Protected Attributes | |
| double ** | dist |
| double ** | comm |
| double * | commUA |
| double ** | hopBytes |
| bool * | pfree |
| bool * | cfree |
| int * | assign |
| double | total_comm |
Definition at line 47 of file TopoLB.h.
| TopoLB::TopoLB | ( | const CkLBOptions & | opt | ) |
| TopoLB::TopoLB | ( | CkMigrateMessage * | m | ) | [inline] |
| void TopoLB::work | ( | LDStats * | stats | ) |
Reimplemented in RefineTopoLB.
Definition at line 697 of file TopoLB.C.
References _lb_args, _lbtopo, allocateDataStructures(), assign, BaseLB::ProcStats::available, CmiAbort(), CmiPrintf(), computePartitions(), CkLBArgs::debug(), freeDataStructures(), BaseLB::LDStats::from_proc, getHopBytesNew(), initDataStructures(), LBTopoLookup(), BaseLB::LDStats::n_objs, BaseLB::LDStats::nprocs(), performMapping(), printDataStructures(), printoutTopo(), BaseLB::LDStats::procs, ptr, randomAssign(), CentralLB::removeNonMigratable(), BaseLB::LDStats::to_proc, topo, and total_comm.
| void TopoLB::pup | ( | PUP::er & | p | ) | [inline, virtual] |
Reimplemented from CentralLB.
Reimplemented in RefineTopoLB.
Definition at line 55 of file TopoLB.h.
References CentralLB::pup().
Referenced by RefineTopoLB::pup().
| void TopoLB::computePartitions | ( | CentralLB::LDStats * | stats, | |
| int | count, | |||
| int * | newmap | |||
| ) | [protected, virtual] |
Definition at line 92 of file TopoLB.C.
References _lb_args, CmiAbort(), comm, BaseLB::LDStats::commData, factor, LDCommData::from_proc(), BaseLB::LDStats::from_proc, _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), _LDCommDesc::get_type(), BaseLB::LDStats::getHash(), LDObjData::handle, LDCommData::messages, METIS_PartGraphRecursive(), CkLBArgs::migObjOnly(), LDObjData::migratable, BaseLB::LDStats::n_comm, BaseLB::LDStats::n_objs, BaseLB::LDStats::objData, BaseLB::ProcStats::pe_speed, BaseLB::LDStats::procs, LDCommData::receiver, LDCommData::sender, and LDObjData::wallTime.
Referenced by work(), and RefineTopoLB::work().
| void TopoLB::allocateDataStructures | ( | int | num_procs | ) | [protected, virtual] |
| void TopoLB::freeDataStructures | ( | int | num_procs | ) | [protected, virtual] |
| void TopoLB::initDataStructures | ( | CentralLB::LDStats * | stats, | |
| int | count, | |||
| int * | newmap | |||
| ) | [protected, virtual] |
Definition at line 289 of file TopoLB.C.
References assign, LDCommData::bytes, cfree, comm, BaseLB::LDStats::commData, commUA, dist, LDCommData::from_proc(), _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), LBTopology::get_pairwise_hop_count(), _LDCommDesc::get_type(), BaseLB::LDStats::getHash(), hopBytes, BaseLB::LDStats::makeCommHash(), BaseLB::LDStats::n_comm, pfree, LDCommData::receiver, LDCommData::sender, topo, and total_comm.
Referenced by work(), and RefineTopoLB::work().
| double TopoLB::getHopBytes | ( | CentralLB::LDStats * | stats, | |
| int | count, | |||
| CkVec< int > | obj_to_proc | |||
| ) | [protected, virtual] |
Definition at line 872 of file TopoLB.C.
References LDCommData::bytes, BaseLB::LDStats::commData, dist, LDCommData::from_proc(), _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), _LDCommDesc::get_type(), BaseLB::LDStats::getHash(), BaseLB::LDStats::n_comm, LDCommData::receiver, and LDCommData::sender.
Reimplemented from CentralLB.
Reimplemented in RefineTopoLB.
Definition at line 41 of file TopoLB.C.
References CmiTrue.
Definition at line 57 of file TopoLB.h.
Referenced by initDataStructures(), work(), and RefineTopoLB::work().
double** TopoLB::dist [protected] |
Definition at line 61 of file TopoLB.h.
Referenced by allocateDataStructures(), RefineTopoLB::findSwapGain(), freeDataStructures(), RefineTopoLB::getCpartHopBytes(), getHopBytes(), getHopBytesNew(), initDataStructures(), performMapping(), printDataStructures(), and RefineTopoLB::updateCommUA().
double** TopoLB::comm [protected] |
Definition at line 62 of file TopoLB.h.
Referenced by allocateDataStructures(), computePartitions(), RefineTopoLB::findSwapGain(), freeDataStructures(), RefineTopoLB::getCpartHopBytes(), getHopBytesNew(), initDataStructures(), performMapping(), and RefineTopoLB::updateCommUA().
double* TopoLB::commUA [protected] |
Definition at line 63 of file TopoLB.h.
Referenced by allocateDataStructures(), freeDataStructures(), initDataStructures(), performMapping(), RefineTopoLB::updateCommUA(), and RefineTopoLB::work().
double** TopoLB::hopBytes [protected] |
Definition at line 64 of file TopoLB.h.
Referenced by allocateDataStructures(), freeDataStructures(), initDataStructures(), performMapping(), and printDataStructures().
bool* TopoLB::pfree [protected] |
Definition at line 65 of file TopoLB.h.
Referenced by allocateDataStructures(), freeDataStructures(), initDataStructures(), and performMapping().
bool* TopoLB::cfree [protected] |
Definition at line 66 of file TopoLB.h.
Referenced by allocateDataStructures(), freeDataStructures(), initDataStructures(), and performMapping().
int* TopoLB::assign [protected] |
Definition at line 67 of file TopoLB.h.
Referenced by allocateDataStructures(), RefineTopoLB::findSwapGain(), freeDataStructures(), RefineTopoLB::getCpartHopBytes(), initDataStructures(), performMapping(), RefineTopoLB::updateCommUA(), work(), and RefineTopoLB::work().
double TopoLB::total_comm [protected] |
Definition at line 68 of file TopoLB.h.
Referenced by initDataStructures(), work(), and RefineTopoLB::work().
1.5.5