
#include <GridMetisLB.h>


Public Member Functions | |
| GridMetisLB (const CkLBOptions &) | |
| GridMetisLB (CkMigrateMessage *msg) | |
| CmiBool | 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 | Initialize_Cluster_Data () |
| void | Partition_Objects_Into_Clusters (CentralLB::LDStats *stats) |
| void | Partition_ClusterObjects_Into_PEs (CentralLB::LDStats *stats, int cluster) |
Private Attributes | |
| int | CK_LDB_GridMetisLB_Mode |
| int | CK_LDB_GridMetisLB_Background_Load |
| int | Num_PEs |
| int | Num_Objects |
| int | Num_Clusters |
| PE_Data_T * | PE_Data |
| Object_Data_T * | Object_Data |
| Cluster_Data_T * | Cluster_Data |
Definition at line 77 of file GridMetisLB.h.
| GridMetisLB::GridMetisLB | ( | const CkLBOptions & | ) |
| GridMetisLB::GridMetisLB | ( | CkMigrateMessage * | msg | ) |
Definition at line 52 of file GridMetisLB.C.
References CK_LDB_GridMetisLB_Background_Load, CK_LDB_GridMetisLB_Mode, BaseLB::lbname, manager_init(), and value.
Reimplemented from CentralLB.
Definition at line 80 of file GridMetisLB.C.
References _lb_args, Converse::CkMyPe(), CmiTrue, and CkLBArgs::debug().
| void GridMetisLB::work | ( | LDStats * | stats | ) |
Definition at line 781 of file GridMetisLB.C.
References _lb_args, Available_PE_Count(), CK_LDB_GridMetisLB_Background_Load, CK_LDB_GridMetisLB_Mode, Converse::CkMyPe(), Cluster_Data, Compute_Number_Of_Clusters(), CkLBArgs::debug(), BaseLB::LDStats::from_proc, Initialize_Cluster_Data(), Initialize_Object_Data(), Initialize_PE_Data(), BaseLB::LDStats::makeCommHash(), BaseLB::LDStats::n_objs, BaseLB::LDStats::nprocs(), Num_Clusters, Num_Objects, Num_PEs, Object_Data, Partition_ClusterObjects_Into_PEs(), Partition_Objects_Into_Clusters(), PE_Data, and BaseLB::LDStats::to_proc.
| void GridMetisLB::pup | ( | PUP::er & | p | ) | [inline, virtual] |
Reimplemented from CentralLB.
Definition at line 85 of file GridMetisLB.h.
References CentralLB::pup().
Definition at line 102 of file GridMetisLB.C.
References CmiGetCluster().
Referenced by Initialize_PE_Data().
| void GridMetisLB::Initialize_PE_Data | ( | CentralLB::LDStats * | stats | ) | [private] |
Definition at line 116 of file GridMetisLB.C.
References BaseLB::ProcStats::available, BaseLB::ProcStats::bg_walltime, CK_LDB_GridMetisLB_Background_Load, Get_Cluster(), Num_PEs, PE_Data, BaseLB::ProcStats::pe_speed, and BaseLB::LDStats::procs.
Referenced by work().
| int GridMetisLB::Available_PE_Count | ( | ) | [private] |
Definition at line 152 of file GridMetisLB.C.
References Num_PEs, and PE_Data.
Referenced by work().
| int GridMetisLB::Compute_Number_Of_Clusters | ( | ) | [private] |
Definition at line 172 of file GridMetisLB.C.
References Num_PEs, and PE_Data.
Referenced by work().
| void GridMetisLB::Initialize_Object_Data | ( | CentralLB::LDStats * | stats | ) | [private] |
Definition at line 196 of file GridMetisLB.C.
References _lb_args, Converse::CkMyPe(), CkLBArgs::debug(), BaseLB::LDStats::from_proc, Object_Data_T::migratable, Num_Objects, BaseLB::LDStats::objData, Object_Data, and PE_Data.
Referenced by work().
| void GridMetisLB::Initialize_Cluster_Data | ( | ) | [private] |
Definition at line 228 of file GridMetisLB.C.
References Cluster_Data, Num_Clusters, Num_PEs, and PE_Data.
Referenced by work().
| void GridMetisLB::Partition_Objects_Into_Clusters | ( | CentralLB::LDStats * | stats | ) | [private] |
Definition at line 268 of file GridMetisLB.C.
References _lb_args, CK_LDB_GridMetisLB_Mode, Converse::CkMyPe(), Cluster_Data, BaseLB::LDStats::commData, CkLBArgs::debug(), LDCommData::from_proc(), _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), _LDCommDesc::get_type(), BaseLB::LDStats::getHash(), LDCommData::messages, METIS_PartGraphRecursive(), BaseLB::LDStats::n_comm, Num_Clusters, Num_Objects, Object_Data, LDCommData::receiver, LDCommData::recv_type(), and LDCommData::sender.
Referenced by work().
| void GridMetisLB::Partition_ClusterObjects_Into_PEs | ( | CentralLB::LDStats * | stats, | |
| int | cluster | |||
| ) | [private] |
Definition at line 513 of file GridMetisLB.C.
References CmiAbort(), CmiMyPe(), CmiPrintf(), BaseLB::LDStats::commData, LDCommData::from_proc(), _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), _LDCommDesc::get_type(), BaseLB::LDStats::getHash(), LDCommData::messages, METIS_PartGraphRecursive(), BaseLB::LDStats::n_comm, Num_Objects, Num_PEs, Object_Data, PE_Data, LDCommData::receiver, LDCommData::recv_type(), and LDCommData::sender.
Referenced by work().
int GridMetisLB::CK_LDB_GridMetisLB_Mode [private] |
Definition at line 97 of file GridMetisLB.h.
Referenced by GridMetisLB(), Partition_Objects_Into_Clusters(), and work().
Definition at line 98 of file GridMetisLB.h.
Referenced by GridMetisLB(), Initialize_PE_Data(), and work().
int GridMetisLB::Num_PEs [private] |
Definition at line 100 of file GridMetisLB.h.
Referenced by Available_PE_Count(), Compute_Number_Of_Clusters(), Initialize_Cluster_Data(), Initialize_PE_Data(), Partition_ClusterObjects_Into_PEs(), and work().
int GridMetisLB::Num_Objects [private] |
Definition at line 101 of file GridMetisLB.h.
Referenced by Initialize_Object_Data(), Partition_ClusterObjects_Into_PEs(), Partition_Objects_Into_Clusters(), and work().
int GridMetisLB::Num_Clusters [private] |
Definition at line 102 of file GridMetisLB.h.
Referenced by Initialize_Cluster_Data(), Partition_Objects_Into_Clusters(), and work().
PE_Data_T* GridMetisLB::PE_Data [private] |
Definition at line 103 of file GridMetisLB.h.
Referenced by Available_PE_Count(), Compute_Number_Of_Clusters(), Initialize_Cluster_Data(), Initialize_Object_Data(), Initialize_PE_Data(), Partition_ClusterObjects_Into_PEs(), and work().
Object_Data_T* GridMetisLB::Object_Data [private] |
Definition at line 104 of file GridMetisLB.h.
Referenced by Initialize_Object_Data(), Partition_ClusterObjects_Into_PEs(), Partition_Objects_Into_Clusters(), and work().
Cluster_Data_T* GridMetisLB::Cluster_Data [private] |
Definition at line 105 of file GridMetisLB.h.
Referenced by Initialize_Cluster_Data(), Partition_Objects_Into_Clusters(), and work().
1.5.5