
#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) | 
| bool | 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 | ) | 
Definition at line 699 of file TopoLB.C.
References _lb_args, _lbtopo, allocateDataStructures(), assign, CmiAbort(), CmiPrintf(), computePartitions(), CkLBArgs::debug(), freeDataStructures(), getHopBytesNew(), initDataStructures(), LBTopoLookup(), performMapping(), printDataStructures(), printoutTopo(), randomAssign(), strdup(), PUP::t, topo, and total_comm.

| void TopoLB::computePartitions | ( | CentralLB::LDStats * | stats, | |
| int | count, | |||
| int * | newmap | |||
| ) |  [protected, virtual] | 
Definition at line 93 of file TopoLB.C.
References _lb_args, adjncy, CmiAbort(), comm, edgecut, factor, _LDCommData::from_proc(), _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), _LDCommDesc::get_type(), LDObjData::handle, int, PUP::m, _LDCommData::messages, METIS_PartGraphRecursive(), CkLBArgs::migObjOnly(), LDObjData::migratable, numflag, _LDCommData::receiver, _LDCommData::sender, LDObjData::wallTime, and xadj.
Referenced by 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 291 of file TopoLB.C.
References assign, _LDCommData::bytes, cfree, comm, commUA, dist, _LDCommData::from_proc(), _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), LBTopology::get_pairwise_hop_count(), _LDCommDesc::get_type(), hopBytes, pfree, _LDCommData::receiver, _LDCommData::sender, topo, and total_comm.
Referenced by work().


| double TopoLB::getHopBytes | ( | CentralLB::LDStats * | stats, | |
| int | count, | |||
| CkVec< int > | obj_to_proc | |||
| ) |  [protected, virtual] | 
Definition at line 874 of file TopoLB.C.
References _LDCommData::bytes, dist, _LDCommData::from_proc(), _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), _LDCommDesc::get_type(), _LDCommData::receiver, and _LDCommData::sender.

| double** TopoLB::dist  [protected] | 
Definition at line 61 of file TopoLB.h.
Referenced by allocateDataStructures(), freeDataStructures(), getHopBytes(), getHopBytesNew(), initDataStructures(), performMapping(), and printDataStructures().
| double** TopoLB::comm  [protected] | 
Definition at line 62 of file TopoLB.h.
Referenced by allocateDataStructures(), computePartitions(), freeDataStructures(), getHopBytesNew(), initDataStructures(), and performMapping().
| double* TopoLB::commUA  [protected] | 
Definition at line 63 of file TopoLB.h.
Referenced by allocateDataStructures(), freeDataStructures(), initDataStructures(), and performMapping().
| 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(), freeDataStructures(), initDataStructures(), performMapping(), and work().
| double TopoLB::total_comm  [protected] | 
 1.5.5
 1.5.5