PPL Logo

GridCommRefineLB Class Reference

#include <GridCommRefineLB.h>

Inheritance diagram for GridCommRefineLB:

Inheritance graph
[legend]
Collaboration diagram for GridCommRefineLB:

Collaboration graph
[legend]

Public Member Functions

 GridCommRefineLB (const CkLBOptions &)
 GridCommRefineLB (CkMigrateMessage *msg)
bool QueryBalanceNow (int step)
void work (LDStats *stats)
void pup (PUP::er &p)

Private Member Functions

int Get_Cluster (int pe)
void Initialize_PE_Data (CentralLB::LDStats *stats)
int Available_PE_Count ()
int Compute_Number_Of_Clusters ()
void Initialize_Object_Data (CentralLB::LDStats *stats)
void Examine_InterObject_Messages (CentralLB::LDStats *stats)
void Place_Objects_On_PEs ()
void Remap_Objects_To_PEs (int cluster)
int Find_Maximum_WAN_Object (int pe)
int Find_Minimum_WAN_PE (int cluster)
void Remove_Object_From_PE (int target_object, int target_pe)
void Assign_Object_To_PE (int target_object, int target_pe)

Private Attributes

int Num_PEs
int Num_Objects
int Num_Clusters
PE_Data_TPE_Data
Object_Data_TObject_Data
double CK_LDB_GridCommRefineLB_Tolerance

Detailed Description

Definition at line 41 of file GridCommRefineLB.h.


Constructor & Destructor Documentation

GridCommRefineLB::GridCommRefineLB ( const CkLBOptions  ) 

GridCommRefineLB::GridCommRefineLB ( CkMigrateMessage msg  ) 

Definition at line 86 of file GridCommRefineLB.C.

References CK_LDB_GridCommRefineLB_Tolerance, manager_init(), and value.

Here is the call graph for this function:


Member Function Documentation

bool GridCommRefineLB::QueryBalanceNow ( int  step  ) 

Definition at line 108 of file GridCommRefineLB.C.

References _lb_args, Converse::CkMyPe(), and CkLBArgs::debug().

Here is the call graph for this function:

void GridCommRefineLB::work ( LDStats *  stats  ) 

void GridCommRefineLB::pup ( PUP::er p  )  [inline]

Definition at line 49 of file GridCommRefineLB.h.

int GridCommRefineLB::Get_Cluster ( int  pe  )  [private]

Definition at line 130 of file GridCommRefineLB.C.

Referenced by Examine_InterObject_Messages(), Initialize_Object_Data(), and Initialize_PE_Data().

Here is the caller graph for this function:

void GridCommRefineLB::Initialize_PE_Data ( CentralLB::LDStats *  stats  )  [private]

Definition at line 146 of file GridCommRefineLB.C.

References PE_Data_T::available, Get_Cluster(), Num_PEs, and PE_Data.

Referenced by work().

Here is the call graph for this function:

Here is the caller graph for this function:

int GridCommRefineLB::Available_PE_Count (  )  [private]

Definition at line 184 of file GridCommRefineLB.C.

References Num_PEs, and PE_Data.

Referenced by work().

Here is the caller graph for this function:

int GridCommRefineLB::Compute_Number_Of_Clusters (  )  [private]

Definition at line 204 of file GridCommRefineLB.C.

References Num_PEs, and PE_Data.

Referenced by work().

Here is the caller graph for this function:

void GridCommRefineLB::Initialize_Object_Data ( CentralLB::LDStats *  stats  )  [private]

Definition at line 228 of file GridCommRefineLB.C.

References Get_Cluster(), Object_Data_T::migratable, Num_Objects, and Object_Data.

Referenced by work().

Here is the call graph for this function:

Here is the caller graph for this function:

void GridCommRefineLB::Examine_InterObject_Messages ( CentralLB::LDStats *  stats  )  [private]

Definition at line 254 of file GridCommRefineLB.C.

References _LDCommData::from_proc(), Get_Cluster(), _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), _LDCommDesc::get_type(), _LDCommData::messages, Num_Objects, Object_Data, _LDCommData::receiver, _LDCommData::recv_type(), and _LDCommData::sender.

Referenced by work().

Here is the call graph for this function:

Here is the caller graph for this function:

void GridCommRefineLB::Place_Objects_On_PEs (  )  [private]

Definition at line 327 of file GridCommRefineLB.C.

References Assign_Object_To_PE(), Num_Objects, and Object_Data.

Referenced by work().

Here is the call graph for this function:

Here is the caller graph for this function:

void GridCommRefineLB::Remap_Objects_To_PEs ( int  cluster  )  [private]

Definition at line 342 of file GridCommRefineLB.C.

References Assign_Object_To_PE(), CK_LDB_GridCommRefineLB_Tolerance, Find_Maximum_WAN_Object(), Find_Minimum_WAN_PE(), Num_PEs, PE_Data, and Remove_Object_From_PE().

Referenced by work().

Here is the call graph for this function:

Here is the caller graph for this function:

int GridCommRefineLB::Find_Maximum_WAN_Object ( int  pe  )  [private]

Definition at line 420 of file GridCommRefineLB.C.

References Num_Objects, and Object_Data.

Referenced by Remap_Objects_To_PEs().

Here is the caller graph for this function:

int GridCommRefineLB::Find_Minimum_WAN_PE ( int  cluster  )  [private]

Definition at line 460 of file GridCommRefineLB.C.

References Num_PEs, and PE_Data.

Referenced by Remap_Objects_To_PEs().

Here is the caller graph for this function:

void GridCommRefineLB::Remove_Object_From_PE ( int  target_object,
int  target_pe 
) [private]

Definition at line 528 of file GridCommRefineLB.C.

References Object_Data, and PE_Data.

Referenced by Remap_Objects_To_PEs().

Here is the caller graph for this function:

void GridCommRefineLB::Assign_Object_To_PE ( int  target_object,
int  target_pe 
) [private]

Definition at line 554 of file GridCommRefineLB.C.

References Object_Data, and PE_Data.

Referenced by Place_Objects_On_PEs(), and Remap_Objects_To_PEs().

Here is the caller graph for this function:


Field Documentation

Definition at line 67 of file GridCommRefineLB.h.

Referenced by work().

Definition at line 70 of file GridCommRefineLB.h.

Referenced by GridCommRefineLB(), and Remap_Objects_To_PEs().


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

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