|
Zoltan2
|
CoordinateModelInput Class that performs mapping between the coordinate partitioning result and mpi ranks base on the coordinate results and mpi physical coordinates. More...
#include <Zoltan2_TaskMapping.hpp>


Public Member Functions | |
| CoordinateCommunicationModel () | |
| virtual | ~CoordinateCommunicationModel () |
| CoordinateCommunicationModel (int pcoord_dim_, pcoord_t **pcoords_, int tcoord_dim_, tcoord_t **tcoords_, part_t no_procs_, part_t no_tasks_) | |
| Class Constructor: | |
| void | setPartArraySize (int psize) |
| void | setPartArray (part_t *pNo) |
| void | getClosestSubset (part_t *proc_permutation, part_t nprocs, part_t ntasks) const |
| Function is called whenever nprocs > no_task. Function returns only the subset of processors that are closest to each other. | |
| virtual double | getProcDistance (int procId1, int procId2) const |
| void | update_visit_order (part_t *visitOrder, part_t n, int &_u_umpa_seed, part_t rndm) |
| virtual void | getMapping (int myRank, RCP< const Environment > env, ArrayRCP< part_t > &rcp_proc_to_task_xadj, ArrayRCP< part_t > &rcp_proc_to_task_adj, ArrayRCP< part_t > &rcp_task_to_proc) const |
| Function is called whenever nprocs > no_task. Function returns only the subset of processors that are closest to each other. | |
| part_t | getNProcs () const |
| part_t | getNTasks () const |
| void | calculateCommunicationCost (part_t *task_to_proc, part_t *task_communication_xadj, part_t *task_communication_adj, pcoord_t *task_communication_edge_weight) |
| double | getCommunicationCostMetric () |
Static Public Member Functions | |
| static part_t | umpa_uRandom (part_t l, int &_u_umpa_seed) |
Public Attributes | |
| int | proc_coord_dim |
| pcoord_t ** | proc_coords |
| int | task_coord_dim |
| tcoord_t ** | task_coords |
| int | partArraySize |
| part_t * | partNoArray |
| part_t | no_procs |
| part_t | no_tasks |
Protected Attributes | |
| double | commCost |
CoordinateModelInput Class that performs mapping between the coordinate partitioning result and mpi ranks base on the coordinate results and mpi physical coordinates.
Definition at line 679 of file Zoltan2_TaskMapping.hpp.
| Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::CoordinateCommunicationModel | ( | ) | [inline] |
Definition at line 690 of file Zoltan2_TaskMapping.hpp.
| virtual Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::~CoordinateCommunicationModel | ( | ) | [inline, virtual] |
Definition at line 699 of file Zoltan2_TaskMapping.hpp.
| Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::CoordinateCommunicationModel | ( | int | pcoord_dim_, |
| pcoord_t ** | pcoords_, | ||
| int | tcoord_dim_, | ||
| tcoord_t ** | tcoords_, | ||
| part_t | no_procs_, | ||
| part_t | no_tasks_ | ||
| ) | [inline] |
Class Constructor:
| pcoord_dim_ | the dimension of the processors |
| pcoords_ | the processor coordinates. allocated outside of the class. |
| tcoord_dim_ | dimension of the tasks coordinates. |
| tcoords_ | the task coordinates allocated outside of the class. |
| no_procs_ | the number of processors |
| no_tasks_ | the number of taks. |
Definition at line 709 of file Zoltan2_TaskMapping.hpp.
| void Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::setPartArraySize | ( | int | psize | ) | [inline] |
Definition at line 725 of file Zoltan2_TaskMapping.hpp.
| void Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::setPartArray | ( | part_t * | pNo | ) | [inline] |
Definition at line 728 of file Zoltan2_TaskMapping.hpp.
| void Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::getClosestSubset | ( | part_t * | proc_permutation, |
| part_t | nprocs, | ||
| part_t | ntasks | ||
| ) | const [inline] |
Function is called whenever nprocs > no_task. Function returns only the subset of processors that are closest to each other.
| proc_permutation | holds the indices of the processors that are chosen. |
| nprocs | the number of processors. |
| ntasks | the number of taks. |
Definition at line 738 of file Zoltan2_TaskMapping.hpp.
| static part_t Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::umpa_uRandom | ( | part_t | l, |
| int & | _u_umpa_seed | ||
| ) | [inline, static] |
Definition at line 765 of file Zoltan2_TaskMapping.hpp.
| virtual double Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::getProcDistance | ( | int | procId1, |
| int | procId2 | ||
| ) | const [inline, virtual] |
Implements Zoltan2::CommunicationModel< part_t, pcoord_t >.
Definition at line 785 of file Zoltan2_TaskMapping.hpp.
| void Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::update_visit_order | ( | part_t * | visitOrder, |
| part_t | n, | ||
| int & | _u_umpa_seed, | ||
| part_t | rndm | ||
| ) | [inline] |
Definition at line 795 of file Zoltan2_TaskMapping.hpp.
| virtual void Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::getMapping | ( | int | myRank, |
| RCP< const Environment > | env, | ||
| ArrayRCP< part_t > & | rcp_proc_to_task_xadj, | ||
| ArrayRCP< part_t > & | rcp_proc_to_task_adj, | ||
| ArrayRCP< part_t > & | rcp_task_to_proc | ||
| ) | const [inline, virtual] |
Function is called whenever nprocs > no_task. Function returns only the subset of processors that are closest to each other.
| proc_to_task_xadj | holds the pointer to the task array |
| proc_to_task_xadj | holds the indices of tasks wrt to proc_to_task_xadj array. |
| task_to_proc | holds the processors mapped to tasks. |
Implements Zoltan2::CommunicationModel< part_t, pcoord_t >.
Definition at line 840 of file Zoltan2_TaskMapping.hpp.
| part_t Zoltan2::CommunicationModel< part_t, pcoord_t >::getNProcs | ( | ) | const [inline, inherited] |
Definition at line 607 of file Zoltan2_TaskMapping.hpp.
| part_t Zoltan2::CommunicationModel< part_t, pcoord_t >::getNTasks | ( | ) | const [inline, inherited] |
Definition at line 610 of file Zoltan2_TaskMapping.hpp.
| void Zoltan2::CommunicationModel< part_t, pcoord_t >::calculateCommunicationCost | ( | part_t * | task_to_proc, |
| part_t * | task_communication_xadj, | ||
| part_t * | task_communication_adj, | ||
| pcoord_t * | task_communication_edge_weight | ||
| ) | [inline, inherited] |
Definition at line 615 of file Zoltan2_TaskMapping.hpp.
| double Zoltan2::CommunicationModel< part_t, pcoord_t >::getCommunicationCostMetric | ( | ) | [inline, inherited] |
Definition at line 655 of file Zoltan2_TaskMapping.hpp.
| int Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::proc_coord_dim |
Definition at line 682 of file Zoltan2_TaskMapping.hpp.
| pcoord_t** Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::proc_coords |
Definition at line 683 of file Zoltan2_TaskMapping.hpp.
| int Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::task_coord_dim |
Definition at line 684 of file Zoltan2_TaskMapping.hpp.
| tcoord_t** Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::task_coords |
Definition at line 685 of file Zoltan2_TaskMapping.hpp.
| int Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::partArraySize |
Definition at line 686 of file Zoltan2_TaskMapping.hpp.
| part_t* Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t >::partNoArray |
Definition at line 687 of file Zoltan2_TaskMapping.hpp.
double Zoltan2::CommunicationModel< part_t, pcoord_t >::commCost [protected, inherited] |
Definition at line 596 of file Zoltan2_TaskMapping.hpp.
part_t Zoltan2::CommunicationModel< part_t, pcoord_t >::no_procs [inherited] |
Definition at line 599 of file Zoltan2_TaskMapping.hpp.
part_t Zoltan2::CommunicationModel< part_t, pcoord_t >::no_tasks [inherited] |
Definition at line 600 of file Zoltan2_TaskMapping.hpp.
1.7.6.1