|
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_, int *machine_extent_, bool *machine_extent_wrap_around_, const MachineRepresentation< pcoord_t, part_t > *machine_=NULL) | |
| Class Constructor: More... | |
| void | setPartArraySize (int psize) |
| void | setPartArray (Kokkos::View< part_t *, Kokkos::HostSpace > 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. More... | |
| 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, const 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 Teuchos::RCP< const Teuchos::Comm< int > > comm_) const |
| Function is called whenever nprocs > no_task. Function returns only the subset of processors that are closest to each other. More... | |
Public Member Functions inherited from Zoltan2::CommunicationModel< part_t, pcoord_t, node_t > | |
| CommunicationModel () | |
| CommunicationModel (part_t no_procs_, part_t no_tasks_) | |
| virtual | ~CommunicationModel () |
| 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 |
| Kokkos::View< part_t *, Kokkos::HostSpace > | kokkos_partNoArray |
| int * | machine_extent |
| bool * | machine_extent_wrap_around |
| const MachineRepresentation < pcoord_t, part_t > * | machine |
| int | num_ranks_per_node |
| bool | divide_to_prime_first |
Public Attributes inherited from Zoltan2::CommunicationModel< part_t, pcoord_t, node_t > | |
| part_t | no_procs |
| part_t | no_tasks |
Additional Inherited Members | |
Protected Attributes inherited from Zoltan2::CommunicationModel< part_t, pcoord_t, node_t > | |
| 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 1029 of file Zoltan2_TaskMapping.hpp.
|
inline |
Definition at line 1057 of file Zoltan2_TaskMapping.hpp.
|
inlinevirtual |
Definition at line 1070 of file Zoltan2_TaskMapping.hpp.
|
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 1082 of file Zoltan2_TaskMapping.hpp.
|
inline |
Definition at line 1105 of file Zoltan2_TaskMapping.hpp.
|
inline |
Definition at line 1109 of file Zoltan2_TaskMapping.hpp.
|
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 1120 of file Zoltan2_TaskMapping.hpp.
|
inlinestatic |
Definition at line 1150 of file Zoltan2_TaskMapping.hpp.
|
inlinevirtual |
Implements Zoltan2::CommunicationModel< part_t, pcoord_t, node_t >.
Definition at line 1172 of file Zoltan2_TaskMapping.hpp.
|
inline |
Definition at line 1195 of file Zoltan2_TaskMapping.hpp.
|
inlinevirtual |
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, node_t >.
Definition at line 1244 of file Zoltan2_TaskMapping.hpp.
| int Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t, node_t >::proc_coord_dim |
Definition at line 1035 of file Zoltan2_TaskMapping.hpp.
| pcoord_t** Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t, node_t >::proc_coords |
Definition at line 1037 of file Zoltan2_TaskMapping.hpp.
| int Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t, node_t >::task_coord_dim |
Definition at line 1039 of file Zoltan2_TaskMapping.hpp.
| tcoord_t** Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t, node_t >::task_coords |
Definition at line 1041 of file Zoltan2_TaskMapping.hpp.
| int Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t, node_t >::partArraySize |
Definition at line 1045 of file Zoltan2_TaskMapping.hpp.
| Kokkos::View<part_t *, Kokkos::HostSpace> Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t, node_t >::kokkos_partNoArray |
Definition at line 1047 of file Zoltan2_TaskMapping.hpp.
| int* Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t, node_t >::machine_extent |
Definition at line 1049 of file Zoltan2_TaskMapping.hpp.
| bool* Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t, node_t >::machine_extent_wrap_around |
Definition at line 1050 of file Zoltan2_TaskMapping.hpp.
| const MachineRepresentation<pcoord_t,part_t>* Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t, node_t >::machine |
Definition at line 1051 of file Zoltan2_TaskMapping.hpp.
| int Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t, node_t >::num_ranks_per_node |
Definition at line 1053 of file Zoltan2_TaskMapping.hpp.
| bool Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t, node_t >::divide_to_prime_first |
Definition at line 1054 of file Zoltan2_TaskMapping.hpp.
1.8.5