PPL Logo

TopoCentLB Class Reference

#include <TopoCentLB.h>

Inheritance diagram for TopoCentLB:

Inheritance graph
[legend]
Collaboration diagram for TopoCentLB:

Collaboration graph
[legend]

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

PartGraphpartgraph
LBTopologytopo
double ** hopCount
intheapMapping

Private Member Functions

bool QueryBalanceNow (int step)

Data Structures

struct  HeapNode
class  PartGraph

Detailed Description

Definition at line 37 of file TopoCentLB.h.


Constructor & Destructor Documentation

TopoCentLB::TopoCentLB ( const CkLBOptions opt  ) 

TopoCentLB::TopoCentLB ( CkMigrateMessage m  )  [inline]

Definition at line 41 of file TopoCentLB.h.

TopoCentLB::~TopoCentLB (  ) 

Definition at line 50 of file TopoCentLB.C.

References topo.


Member Function Documentation

void TopoCentLB::work ( LDStats *  stats  ) 

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void TopoCentLB::increaseKey ( HeapNode heap,
int  i,
double  wt 
)

Definition at line 294 of file TopoCentLB.C.

References heapMapping, TopoCentLB::HeapNode::key, key, TopoCentLB::HeapNode::node, and parent().

Referenced by calculateMST().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void TopoCentLB::BuildHeap ( HeapNode heap,
int  heapSize 
)

Definition at line 289 of file TopoCentLB.C.

References Heapify().

Referenced by calculateMST().

Here is the call graph for this function:

Here is the caller graph for this function:

void TopoCentLB::Heapify ( HeapNode heap,
int  node,
int  heapSize 
)

Definition at line 250 of file TopoCentLB.C.

References heapMapping, key, left(), TopoCentLB::HeapNode::node, and right().

Referenced by BuildHeap(), and extractMax().

Here is the call graph for this function:

Here is the caller graph for this function:

int TopoCentLB::findMaxObjs ( int map,
int  totalobjs,
int  count 
)

Definition at line 229 of file TopoCentLB.C.

Referenced by work().

Here is the caller graph for this function:

void TopoCentLB::computePartitions ( CentralLB::LDStats *  stats,
int  count,
int newmap 
)

bool TopoCentLB::QueryBalanceNow ( int  step  )  [private]

Definition at line 45 of file TopoCentLB.C.


Field Documentation

Definition at line 124 of file TopoCentLB.h.

Referenced by work().

Definition at line 125 of file TopoCentLB.h.

Referenced by work(), and ~TopoCentLB().

Definition at line 126 of file TopoCentLB.h.

Referenced by calculateMST(), and work().

Definition at line 127 of file TopoCentLB.h.

Referenced by calculateMST(), extractMax(), Heapify(), increaseKey(), and work().


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

Generated on Mon Sep 21 08:30:57 2020 for Charm++ by  doxygen 1.5.5