
#include <TopoCentLB.h>


| Public Member Functions | |
| TopoCentLB (const CkLBOptions &opt) | |
| TopoCentLB (CkMigrateMessage *m) | |
| ~TopoCentLB () | |
| void | work (LDStats *stats) | 
| void | pup (PUP::er &p) | 
| void | calculateMST (PartGraph *partgraph, LBTopology *topo, int *proc_mapping, int max_comm_part) | 
| void | increaseKey (HeapNode *heap, int i, double wt) | 
| HeapNode | extractMax (HeapNode *heap, int *heapSize) | 
| void | BuildHeap (HeapNode *heap, int heapSize) | 
| void | Heapify (HeapNode *heap, int node, int heapSize) | 
| int | findMaxObjs (int *map, int totalobjs, int count) | 
| void | computePartitions (CentralLB::LDStats *stats, int count, int *newmap) | 
| Data Fields | |
| PartGraph * | partgraph | 
| LBTopology * | topo | 
| double ** | hopCount | 
| int * | heapMapping | 
| Private Member Functions | |
| bool | QueryBalanceNow (int step) | 
| Data Structures | |
| struct | HeapNode | 
| class | PartGraph | 
Definition at line 37 of file TopoCentLB.h.
| TopoCentLB::TopoCentLB | ( | const CkLBOptions & | opt | ) | 
| TopoCentLB::TopoCentLB | ( | CkMigrateMessage * | m | ) |  [inline] | 
Definition at line 41 of file TopoCentLB.h.
| TopoCentLB::~TopoCentLB | ( | ) | 
| void TopoCentLB::work | ( | LDStats * | stats | ) | 
Definition at line 458 of file TopoCentLB.C.
References _lb_args, _lbtopo, _LDCommData::bytes, calculateMST(), Converse::CkMyPe(), CmiAbort(), CmiPrintf(), computePartitions(), CkLBArgs::debug(), TopoCentLB::PartGraph::edges, findMaxObjs(), _LDCommData::from_proc(), _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), _LDCommDesc::get_type(), heapMapping, hopCount, LBTopoLookup(), CkLBArgs::migObjOnly(), n, TopoCentLB::PartGraph::nodes, TopoCentLB::PartGraph::Node::num_objs, TopoCentLB::PartGraph::Node::obj_list, partgraph, printoutTopo(), _LDCommData::receiver, _LDCommData::sender, strdup(), topo, and _group_list_t::val.

| void TopoCentLB::pup | ( | PUP::er & | p | ) |  [inline] | 
Definition at line 46 of file TopoCentLB.h.
| void TopoCentLB::calculateMST | ( | PartGraph * | partgraph, | |
| LBTopology * | topo, | |||
| int * | proc_mapping, | |||
| int | max_comm_part | |||
| ) | 
Definition at line 319 of file TopoCentLB.C.
References BuildHeap(), count, TopoCentLB::PartGraph::edges, extractMax(), LBTopology::get_pairwise_hop_count(), heapMapping, hopCount, increaseKey(), TopoCentLB::HeapNode::key, PUP::m, max(), LBTopology::max_neighbors(), TopoCentLB::PartGraph::n_nodes, TopoCentLB::HeapNode::node, and p.
Referenced by work().


Definition at line 294 of file TopoCentLB.C.
References heapMapping, TopoCentLB::HeapNode::key, key, TopoCentLB::HeapNode::node, and parent().
Referenced by calculateMST().


| TopoCentLB::HeapNode TopoCentLB::extractMax | ( | HeapNode * | heap, | |
| int * | heapSize | |||
| ) | 
Definition at line 276 of file TopoCentLB.C.
References CmiAbort(), Heapify(), heapMapping, max(), and TopoCentLB::HeapNode::node.
Referenced by calculateMST().


Definition at line 289 of file TopoCentLB.C.
References Heapify().
Referenced by calculateMST().


Definition at line 250 of file TopoCentLB.C.
References heapMapping, key, left(), TopoCentLB::HeapNode::node, and right().
Referenced by BuildHeap(), and extractMax().


Definition at line 229 of file TopoCentLB.C.
Referenced by work().

Definition at line 56 of file TopoCentLB.C.
References _lb_args, adjncy, CmiAbort(), comm, CkLBArgs::debug(), 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().


Definition at line 45 of file TopoCentLB.C.
| double** TopoCentLB::hopCount | 
Definition at line 127 of file TopoCentLB.h.
Referenced by calculateMST(), extractMax(), Heapify(), increaseKey(), and work().
 1.5.5
 1.5.5