PPL Logo

GreedyRefineLB::PHeap Class Reference
[Charm++ Load Balancing Framework]

Collaboration diagram for GreedyRefineLB::PHeap:

Collaboration graph
[legend]

Public Member Functions

 PHeap (int numpes)
void addProcessors (std::vector< GreedyRefineLB::GProc > &procs, bool bgLoadZero, bool insert=true)
GreedyRefineLB::GProctop () const
void push (GreedyRefineLB::GProc *p)
GreedyRefineLB::GProcpop ()
void remove (GreedyRefineLB::GProc *p)
void clear ()

Private Member Functions

void min_heapify (int i)
void buildMinHeap ()
void swap (int pos1, int pos2)
void siftUp (int pos)
int minChild (int pos) const
void siftDown (int pos)

Private Attributes

std::vector
< GreedyRefineLB::GProc * > 
Q

Detailed Description

Definition at line 57 of file GreedyRefineLB.C.


Constructor & Destructor Documentation

GreedyRefineLB::PHeap::PHeap ( int  numpes  )  [inline]

Definition at line 59 of file GreedyRefineLB.C.


Member Function Documentation

void GreedyRefineLB::PHeap::addProcessors ( std::vector< GreedyRefineLB::GProc > &  procs,
bool  bgLoadZero,
bool  insert = true 
) [inline]

Definition at line 64 of file GreedyRefineLB.C.

References GreedyRefineLB::GProc::available, GreedyRefineLB::GProc::bgload, buildMinHeap(), insert(), GreedyRefineLB::GProc::load, p, and GreedyRefineLB::GProc::pos.

Referenced by GreedyRefineLB::fillData(), and GreedyRefineLB::work().

Here is the call graph for this function:

Here is the caller graph for this function:

GreedyRefineLB::GProc* GreedyRefineLB::PHeap::top (  )  const [inline]

Definition at line 78 of file GreedyRefineLB.C.

Referenced by GreedyRefineLB::work().

Here is the caller graph for this function:

void GreedyRefineLB::PHeap::push ( GreedyRefineLB::GProc p  )  [inline]

Definition at line 83 of file GreedyRefineLB.C.

References GreedyRefineLB::GProc::pos, and siftUp().

Referenced by GreedyRefineLB::greedyLB(), and GreedyRefineLB::work().

Here is the call graph for this function:

Here is the caller graph for this function:

GreedyRefineLB::GProc* GreedyRefineLB::PHeap::pop (  )  [inline]

Definition at line 89 of file GreedyRefineLB.C.

References GreedyRefineLB::GProc::pos, and siftDown().

Referenced by GreedyRefineLB::greedyLB(), and remove().

Here is the call graph for this function:

Here is the caller graph for this function:

void GreedyRefineLB::PHeap::remove ( GreedyRefineLB::GProc p  )  [inline]

Definition at line 106 of file GreedyRefineLB.C.

References p, pop(), siftDown(), and siftUp().

Referenced by GreedyRefineLB::work().

Here is the call graph for this function:

Here is the caller graph for this function:

void GreedyRefineLB::PHeap::clear (  )  [inline]

Definition at line 117 of file GreedyRefineLB.C.

void GreedyRefineLB::PHeap::min_heapify ( int  i  )  [inline, private]

Definition at line 124 of file GreedyRefineLB.C.

References left(), right(), and swap().

Referenced by buildMinHeap().

Here is the call graph for this function:

Here is the caller graph for this function:

void GreedyRefineLB::PHeap::buildMinHeap (  )  [inline, private]

Definition at line 138 of file GreedyRefineLB.C.

References min_heapify().

Referenced by addProcessors().

Here is the call graph for this function:

Here is the caller graph for this function:

void GreedyRefineLB::PHeap::swap ( int  pos1,
int  pos2 
) [inline, private]

Definition at line 142 of file GreedyRefineLB.C.

References PUP::t.

Referenced by min_heapify(), siftDown(), and siftUp().

Here is the caller graph for this function:

void GreedyRefineLB::PHeap::siftUp ( int  pos  )  [inline, private]

Definition at line 148 of file GreedyRefineLB.C.

References swap().

Referenced by push(), and remove().

Here is the call graph for this function:

Here is the caller graph for this function:

int GreedyRefineLB::PHeap::minChild ( int  pos  )  const [inline, private]

Definition at line 159 of file GreedyRefineLB.C.

Referenced by siftDown().

Here is the caller graph for this function:

void GreedyRefineLB::PHeap::siftDown ( int  pos  )  [inline, private]

Definition at line 168 of file GreedyRefineLB.C.

References minChild(), and swap().

Referenced by pop(), and remove().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

Definition at line 179 of file GreedyRefineLB.C.


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

Generated on Mon Sep 21 08:25:16 2020 for Charm++ by  doxygen 1.5.5