Zoltan2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Namespaces | Macros | Functions
Zoltan2_TaskMapping.hpp File Reference
#include <fstream>
#include <ctime>
#include <vector>
#include <set>
#include <tuple>
#include "Zoltan2_Standards.hpp"
#include "Zoltan2_AlgMultiJagged.hpp"
#include "Teuchos_ArrayViewDecl.hpp"
#include "Zoltan2_PartitionMapping.hpp"
#include "Zoltan2_MachineRepresentation.hpp"
#include "Teuchos_ReductionOp.hpp"
#include "Zoltan2_MappingSolution.hpp"
#include "Zoltan2_GraphModel.hpp"
#include <Zoltan2_TPLTraits.hpp>
#include "Teuchos_Comm.hpp"
#include <Teuchos_DefaultSerialComm.hpp>
#include "Zoltan2_XpetraMultiVectorAdapter.hpp"
#include <Zoltan2_Directory_Impl.hpp>
Include dependency graph for Zoltan2_TaskMapping.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Teuchos::Zoltan2_ReduceBestMapping< Ordinal, T >
 Zoltan2_ReduceBestMapping Class, reduces the minimum cost mapping, ties breaks with minimum proc id. More...
 
class  Zoltan2::GNO_LNO_PAIR< gno_t, part_t >
 
class  Zoltan2::KmeansHeap< IT, WT >
 KmeansHeap Class, max heap, but holds the minimum values. More...
 
class  Zoltan2::KMeansCluster< IT, WT >
 
class  Zoltan2::KMeansAlgorithm< IT, WT >
 KMeansAlgorithm Class that performs clustering of the coordinates, and returns the closest set of coordinates. More...
 
class  Zoltan2::CommunicationModel< part_t, pcoord_t, node_t >
 CommunicationModel Base Class that performs mapping between the coordinate partitioning result. More...
 
class  Zoltan2::CoordinateCommunicationModel< pcoord_t, tcoord_t, part_t, node_t >
 CoordinateModelInput Class that performs mapping between the coordinate partitioning result and mpi ranks base on the coordinate results and mpi physical coordinates. More...
 
class  Zoltan2::CoordinateTaskMapper< Adapter, part_t >
 

Namespaces

 Teuchos
 
 Zoltan2
 Created by mbenlioglu on Aug 31, 2020.
 

Macros

#define MINOF(a, b)   (((a)<(b))?(a):(b))
 

Functions

template<typename it >
it Zoltan2::z2Fact (it x)
 
template<typename IT >
void Zoltan2::ithPermutation (const IT n, IT i, IT *perm)
 
template<typename part_t >
void Zoltan2::getGridCommunicationGraph (part_t taskCount, part_t *&task_comm_xadj, part_t *&task_comm_adj, std::vector< int > grid_dims)
 
template<typename Adapter , typename scalar_t , typename part_t >
void Zoltan2::getSolutionCenterCoordinates (const Environment *envConst, const Teuchos::Comm< int > *comm, const Zoltan2::CoordinateModel< typename Adapter::base_adapter_t > *coords, const part_t *parts, int coordDim, part_t ntasks, scalar_t **partCenters)
 
template<typename Adapter , typename scalar_t , typename part_t >
void Zoltan2::getCoarsenedPartGraph (const Environment *envConst, const Teuchos::Comm< int > *comm, const Zoltan2::GraphModel< typename Adapter::base_adapter_t > *graph, part_t np, const part_t *parts, ArrayRCP< part_t > &g_part_xadj, ArrayRCP< part_t > &g_part_adj, ArrayRCP< scalar_t > &g_part_ew)
 
template<typename T >
void Zoltan2::fillContinousArray (T *arr, size_t arrSize, T *val)
 fillContinousArray function More...
 
template<typename part_t , typename pcoord_t , typename tcoord_t >
void Zoltan2::coordinateTaskMapperInterface (RCP< const Teuchos::Comm< int > > problemComm, int proc_dim, int num_processors, pcoord_t **machine_coords, int task_dim, part_t num_tasks, tcoord_t **task_coords, part_t *task_comm_xadj, part_t *task_comm_adj, pcoord_t *task_communication_edge_weight_, part_t *proc_to_task_xadj, part_t *proc_to_task_adj, int recursion_depth, Kokkos::View< part_t *, Kokkos::HostSpace > part_no_array, const part_t *machine_dimensions, int num_ranks_per_node=1, bool divide_to_prime_first=false)
 Constructor The interface function that calls CoordinateTaskMapper which will also perform the mapping operation. The result mapping can be obtained by -proc_to_task_xadj: Holds the beginning and end indices of tasks on proc_to_task_adj that is assigned to a processor. The tasks assigned to processor i are between proc_to_task_xadj[i] and proc_to_task_xadj[i + 1] on proc_to_task_adj. More...
 
template<typename proc_coord_t , typename v_lno_t >
void Zoltan2::visualize_mapping (int myRank, const int machine_coord_dim, const int num_ranks, proc_coord_t **machine_coords, const v_lno_t num_tasks, const v_lno_t *task_communication_xadj, const v_lno_t *task_communication_adj, const int *task_to_rank)
 

Macro Definition Documentation

#define MINOF (   a,
 
)    (((a)<(b))?(a):(b))

Definition at line 898 of file Zoltan2_TaskMapping.hpp.