PPL Logo

TempAwareRefineLB Class Reference
[Charm++ Load Balancing Framework]

#include <TempAwareRefineLB.h>

Inheritance diagram for TempAwareRefineLB:

Inheritance graph
[legend]
Collaboration diagram for TempAwareRefineLB:

Collaboration graph
[legend]

Public Member Functions

void populateEffectiveFreq (int numProcs)
void changeFreq (int)
 TempAwareRefineLB (const CkLBOptions &)
 TempAwareRefineLB (CkMigrateMessage *m)
void work (LDStats *stats)
float getTemp (int)

Data Fields

int procsPerNode
intfreqsEffect
intprocFreq
intprocFreqEffect
intprocFreqNewEffect
intprocFreqNew
int numProcs
int coresPerChip
intfreqs
int numAvailFreqs
int numChips
intprocFreqPtr
floatprocTemp
floatavgChipTemp

Private Types

enum  HeapCmp { GT = '>', LT = '<' }

Private Member Functions

void Heapify (HeapData *, int, int, HeapCmp)
void HeapSort (HeapData *, int, HeapCmp)
void BuildHeap (HeapData *, int, HeapCmp)
bool Compare (double, double, HeapCmp)
HeapDataBuildCpuArray (BaseLB::LDStats *, int, int *)
HeapDataBuildObjectArray (BaseLB::LDStats *, int, int *)
bool QueryBalanceNow (int step)

Friends

void printCurrentTemperature (void *LB, double curWallTime)

Data Structures

struct  HeapData

Detailed Description

Definition at line 16 of file TempAwareRefineLB.h.


Member Enumeration Documentation

Enumerator:
GT 
LT 

Definition at line 34 of file TempAwareRefineLB.h.


Constructor & Destructor Documentation

TempAwareRefineLB::TempAwareRefineLB ( CkMigrateMessage m  )  [inline]

Definition at line 30 of file TempAwareRefineLB.h.


Member Function Documentation

void TempAwareRefineLB::Heapify ( HeapData ,
int  ,
int  ,
HeapCmp   
) [private]

void TempAwareRefineLB::HeapSort ( HeapData ,
int  ,
HeapCmp   
) [private]

void TempAwareRefineLB::BuildHeap ( HeapData ,
int  ,
HeapCmp   
) [private]

bool TempAwareRefineLB::Compare ( double  ,
double  ,
HeapCmp   
) [private]

HeapData* TempAwareRefineLB::BuildCpuArray ( BaseLB::LDStats ,
int  ,
int  
) [private]

HeapData* TempAwareRefineLB::BuildObjectArray ( BaseLB::LDStats ,
int  ,
int  
) [private]


Friends And Related Function Documentation

void printCurrentTemperature ( void *  LB,
double  curWallTime 
) [friend]

Definition at line 78 of file TempAwareCommLB.C.

Referenced by TempAwareRefineLB().


Field Documentation

Definition at line 25 of file TempAwareRefineLB.h.

Definition at line 25 of file TempAwareRefineLB.h.

Referenced by populateEffectiveFreq(), and TempAwareRefineLB().

Definition at line 25 of file TempAwareRefineLB.h.

Referenced by populateEffectiveFreq(), TempAwareRefineLB(), and work().

Definition at line 25 of file TempAwareRefineLB.h.

Referenced by populateEffectiveFreq(), and work().

Definition at line 25 of file TempAwareRefineLB.h.

Referenced by populateEffectiveFreq(), TempAwareRefineLB(), and work().

Definition at line 25 of file TempAwareRefineLB.h.

Referenced by populateEffectiveFreq(), TempAwareRefineLB(), and work().

Definition at line 25 of file TempAwareRefineLB.h.

Referenced by work().

Definition at line 25 of file TempAwareRefineLB.h.

Definition at line 25 of file TempAwareRefineLB.h.

Referenced by populateEffectiveFreq(), TempAwareRefineLB(), and work().

Definition at line 25 of file TempAwareRefineLB.h.

Referenced by populateEffectiveFreq(), TempAwareRefineLB(), and work().

Definition at line 26 of file TempAwareRefineLB.h.

Referenced by work().

Definition at line 26 of file TempAwareRefineLB.h.

Referenced by TempAwareRefineLB(), and work().

Definition at line 27 of file TempAwareRefineLB.h.

Referenced by TempAwareRefineLB(), and work().

Definition at line 27 of file TempAwareRefineLB.h.

Referenced by TempAwareRefineLB(), and work().


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

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