PPL Logo

GridHybridSeedLB Class Reference

#include <GridHybridSeedLB.h>

Inheritance diagram for GridHybridSeedLB:

Inheritance graph
[legend]
Collaboration diagram for GridHybridSeedLB:

Collaboration graph
[legend]

Public Member Functions

 GridHybridSeedLB (const CkLBOptions &opt)
 GridHybridSeedLB (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)
int Compute_Migratable_Object_Count ()
void Initialize_Cluster_Data ()
void Initialize_Communication_Matrix (CentralLB::LDStats *stats)
void Partition_Objects_Into_Clusters (CentralLB::LDStats *stats)
void Examine_InterObject_Messages (CentralLB::LDStats *stats)
void Map_NonMigratable_Objects_To_PEs ()
int Find_Maximum_Object (int cluster)
int Find_Maximum_Border_Object (int cluster)
int Find_Maximum_Object_From_Seeds (int pe)
int Find_Maximum_Border_Object_From_Seeds (int pe)
int Compute_Communication_Events (int obj1, int obj2)
int Find_Minimum_PE (int cluster)
void Assign_Object_To_PE (int target_object, int target_pe)

Private Attributes

int CK_LDB_GridHybridSeedLB_Mode
int CK_LDB_GridHybridSeedLB_Background_Load
double CK_LDB_GridHybridSeedLB_Load_Tolerance
int Num_PEs
int Num_Objects
int Num_Migratable_Objects
int Num_Clusters
PE_Data_TPE_Data
Object_Data_TObject_Data
Cluster_Data_TCluster_Data
intMigratable_Objects
int ** Communication_Matrix

Detailed Description

Definition at line 80 of file GridHybridSeedLB.h.


Constructor & Destructor Documentation

GridHybridSeedLB::GridHybridSeedLB ( const CkLBOptions opt  ) 

GridHybridSeedLB::GridHybridSeedLB ( CkMigrateMessage msg  ) 

Definition at line 60 of file GridHybridSeedLB.C.

References CK_LDB_GridHybridSeedLB_Background_Load, CK_LDB_GridHybridSeedLB_Load_Tolerance, CK_LDB_GridHybridSeedLB_Mode, manager_init(), and value.

Here is the call graph for this function:


Member Function Documentation

bool GridHybridSeedLB::QueryBalanceNow ( int  step  ) 

Definition at line 94 of file GridHybridSeedLB.C.

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

Here is the call graph for this function:

void GridHybridSeedLB::work ( LDStats *  stats  ) 

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

Definition at line 88 of file GridHybridSeedLB.h.

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

Definition at line 116 of file GridHybridSeedLB.C.

Referenced by Initialize_Object_Data(), and Initialize_PE_Data().

Here is the caller graph for this function:

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

Definition at line 126 of file GridHybridSeedLB.C.

References PE_Data_T::available, CK_LDB_GridHybridSeedLB_Background_Load, 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 GridHybridSeedLB::Available_PE_Count (  )  [private]

Definition at line 165 of file GridHybridSeedLB.C.

References Num_PEs, and PE_Data.

Referenced by work().

Here is the caller graph for this function:

int GridHybridSeedLB::Compute_Number_Of_Clusters (  )  [private]

Definition at line 185 of file GridHybridSeedLB.C.

References Num_PEs, and PE_Data.

Referenced by work().

Here is the caller graph for this function:

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

Definition at line 209 of file GridHybridSeedLB.C.

References _lb_args, Converse::CkMyPe(), CkLBArgs::debug(), 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:

int GridHybridSeedLB::Compute_Migratable_Object_Count (  )  [private]

Definition at line 239 of file GridHybridSeedLB.C.

References count, Num_Objects, and Object_Data.

Referenced by work().

Here is the caller graph for this function:

void GridHybridSeedLB::Initialize_Cluster_Data (  )  [private]

Definition at line 260 of file GridHybridSeedLB.C.

References Cluster_Data, Num_Clusters, Num_PEs, and PE_Data.

Referenced by work().

Here is the caller graph for this function:

void GridHybridSeedLB::Initialize_Communication_Matrix ( CentralLB::LDStats *  stats  )  [private]

void GridHybridSeedLB::Partition_Objects_Into_Clusters ( CentralLB::LDStats *  stats  )  [private]

Definition at line 393 of file GridHybridSeedLB.C.

References _lb_args, adjncy, CK_LDB_GridHybridSeedLB_Mode, Converse::CkMyPe(), Cluster_Data, Communication_Matrix, count, CkLBArgs::debug(), edgecut, index, int, METIS_PartGraphRecursive(), Migratable_Objects, Num_Clusters, Num_Migratable_Objects, Num_Objects, Object_Data, and xadj.

Referenced by work().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 529 of file GridHybridSeedLB.C.

References _LDCommData::from_proc(), _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 GridHybridSeedLB::Map_NonMigratable_Objects_To_PEs (  )  [private]

Definition at line 593 of file GridHybridSeedLB.C.

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

Referenced by work().

Here is the call graph for this function:

Here is the caller graph for this function:

int GridHybridSeedLB::Find_Maximum_Object ( int  cluster  )  [private]

Definition at line 616 of file GridHybridSeedLB.C.

References Num_Objects, and Object_Data.

Referenced by work().

Here is the caller graph for this function:

int GridHybridSeedLB::Find_Maximum_Border_Object ( int  cluster  )  [private]

Definition at line 645 of file GridHybridSeedLB.C.

References CK_LDB_GridHybridSeedLB_Load_Tolerance, Num_Objects, and Object_Data.

Referenced by work().

Here is the caller graph for this function:

int GridHybridSeedLB::Find_Maximum_Object_From_Seeds ( int  pe  )  [private]

Definition at line 706 of file GridHybridSeedLB.C.

References CK_LDB_GridHybridSeedLB_Load_Tolerance, Compute_Communication_Events(), Num_Objects, Object_Data, and PE_Data.

Referenced by work().

Here is the call graph for this function:

Here is the caller graph for this function:

int GridHybridSeedLB::Find_Maximum_Border_Object_From_Seeds ( int  pe  )  [private]

Definition at line 767 of file GridHybridSeedLB.C.

References CK_LDB_GridHybridSeedLB_Load_Tolerance, Compute_Communication_Events(), Num_Objects, Object_Data, and PE_Data.

Referenced by work().

Here is the call graph for this function:

Here is the caller graph for this function:

int GridHybridSeedLB::Compute_Communication_Events ( int  obj1,
int  obj2 
) [private]

Definition at line 828 of file GridHybridSeedLB.C.

References Communication_Matrix, and Object_Data.

Referenced by Find_Maximum_Border_Object_From_Seeds(), and Find_Maximum_Object_From_Seeds().

Here is the caller graph for this function:

int GridHybridSeedLB::Find_Minimum_PE ( int  cluster  )  [private]

Definition at line 856 of file GridHybridSeedLB.C.

References _lb_args, CK_LDB_GridHybridSeedLB_Load_Tolerance, CK_LDB_GridHybridSeedLB_Mode, Converse::CkMyPe(), CkLBArgs::debug(), Num_PEs, and PE_Data.

Referenced by work().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 967 of file GridHybridSeedLB.C.

References Object_Data, and PE_Data.

Referenced by Map_NonMigratable_Objects_To_PEs(), and work().

Here is the caller graph for this function:


Field Documentation

Definition at line 111 of file GridHybridSeedLB.h.

Referenced by GridHybridSeedLB(), Initialize_PE_Data(), and work().


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

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