Zoltan2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Types | Public Member Functions | List of all members
Zoltan2::AlgDistance1< Adapter > Class Template Reference

#include <Zoltan2_AlgHybridD1.hpp>

Inheritance diagram for Zoltan2::AlgDistance1< Adapter >:
Inheritance graph
[legend]
Collaboration diagram for Zoltan2::AlgDistance1< Adapter >:
Collaboration graph
[legend]

Public Types

using lno_t = typename Adapter::lno_t
 
using gno_t = typename Adapter::gno_t
 
using offset_t = typename Adapter::offset_t
 
using scalar_t = typename Adapter::scalar_t
 
using base_adapter_t = typename Adapter::base_adapter_t
 
using map_t = Tpetra::Map< lno_t, gno_t >
 
using femv_scalar_t = int
 
using femv_t = Tpetra::FEMultiVector< femv_scalar_t, lno_t, gno_t >
 
using device_type = typename femv_t::device_type
 
using execution_space = typename device_type::execution_space
 
using memory_space = typename device_type::memory_space
 
using host_exec = typename femv_t::host_view_type::device_type::execution_space
 
using host_mem = typename femv_t::host_view_type::device_type::memory_space
 
- Public Types inherited from Zoltan2::Algorithm< Adapter >
typedef Adapter::lno_t lno_t
 
typedef Adapter::gno_t gno_t
 
typedef Adapter::scalar_t scalar_t
 
typedef Adapter::part_t part_t
 

Public Member Functions

double timer ()
 
template<class ExecutionSpace , typename MemorySpace >
void detectConflicts (const size_t n_local, const size_t n_ghosts, Kokkos::View< offset_t *, Kokkos::Device< ExecutionSpace, MemorySpace >> dist_offsets, Kokkos::View< lno_t *, Kokkos::Device< ExecutionSpace, MemorySpace >> dist_adjs, Kokkos::View< int *, Kokkos::Device< ExecutionSpace, MemorySpace >> femv_colors, Kokkos::View< lno_t *, Kokkos::Device< ExecutionSpace, MemorySpace >> verts_to_send_view, Kokkos::View< size_t *, Kokkos::Device< ExecutionSpace, MemorySpace >, Kokkos::MemoryTraits< Kokkos::Atomic >> verts_to_send_size_atomic, Kokkos::View< gno_t *, Kokkos::Device< ExecutionSpace, MemorySpace >> recoloringSize, Kokkos::View< int *, Kokkos::Device< ExecutionSpace, MemorySpace >> rand, Kokkos::View< gno_t *, Kokkos::Device< ExecutionSpace, MemorySpace >> gid, Kokkos::View< gno_t *, Kokkos::Device< ExecutionSpace, MemorySpace >> ghost_degrees, bool recolor_degrees)
 
 AlgDistance1 (const RCP< const base_adapter_t > &adapter_, const RCP< Teuchos::ParameterList > &pl_, const RCP< Environment > &env_, const RCP< const Teuchos::Comm< int > > &comm_)
 
void color (const RCP< ColoringSolution< Adapter > > &solution)
 Coloring method. More...
 
void hybridGMB (const size_t nVtx, const Teuchos::ArrayView< const lno_t > &adjs, const Teuchos::ArrayView< const offset_t > &offsets, const Teuchos::RCP< femv_t > &femv, const Teuchos::ArrayView< const gno_t > &gids, const Teuchos::ArrayView< const int > &rand, const Teuchos::ArrayView< const int > &owners, RCP< const map_t > mapOwnedPlusGhosts, const std::unordered_map< lno_t, std::vector< int >> &procs_to_send)
 
- Public Member Functions inherited from Zoltan2::Algorithm< Adapter >
virtual ~Algorithm ()
 
virtual int localOrder (const RCP< LocalOrderingSolution< lno_t > > &)
 Ordering method. More...
 
virtual int globalOrder (const RCP< GlobalOrderingSolution< gno_t > > &)
 Ordering method. More...
 
virtual void match ()
 Matching method. More...
 
virtual void partition (const RCP< PartitioningSolution< Adapter > > &)
 Partitioning method. More...
 
virtual void partitionMatrix (const RCP< MatrixPartitioningSolution< Adapter > > &)
 Matrix Partitioning method. More...
 
virtual void map (const RCP< MappingSolution< Adapter > > &)
 Mapping method. More...
 
virtual bool isPartitioningTreeBinary () const
 return if algorithm determins tree to be binary More...
 
virtual void getPartitionTree (part_t, part_t &, std::vector< part_t > &, std::vector< part_t > &, std::vector< part_t > &, std::vector< part_t > &) const
 for partitioning methods, fill arrays with partition tree info More...
 
virtual std::vector
< coordinateModelPartBox > & 
getPartBoxesView () const
 for partitioning methods, return bounding boxes of the More...
 
virtual part_t pointAssign (int, scalar_t *) const
 pointAssign method: Available only for some partitioning algorithms More...
 
virtual void boxAssign (int, scalar_t *, scalar_t *, size_t &, part_t **) const
 boxAssign method: Available only for some partitioning algorithms More...
 
virtual void getCommunicationGraph (const PartitioningSolution< Adapter > *, ArrayRCP< part_t > &, ArrayRCP< part_t > &)
 returns serial communication graph of a computed partition More...
 
virtual int getRankForPart (part_t)
 In mapping, returns the rank to which a part is assigned. More...
 
virtual void getMyPartsView (part_t &, part_t *&)
 In mapping, returns a view of parts assigned to the current rank. More...
 

Detailed Description

template<typename Adapter>
class Zoltan2::AlgDistance1< Adapter >

Definition at line 50 of file Zoltan2_AlgHybridD1.hpp.

Member Typedef Documentation

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::lno_t = typename Adapter::lno_t

Definition at line 54 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::gno_t = typename Adapter::gno_t

Definition at line 55 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::offset_t = typename Adapter::offset_t

Definition at line 56 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::scalar_t = typename Adapter::scalar_t

Definition at line 57 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::base_adapter_t = typename Adapter::base_adapter_t

Definition at line 58 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::map_t = Tpetra::Map<lno_t, gno_t>

Definition at line 59 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::femv_scalar_t = int

Definition at line 60 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::femv_t = Tpetra::FEMultiVector<femv_scalar_t, lno_t, gno_t>

Definition at line 61 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::device_type = typename femv_t::device_type

Definition at line 62 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::execution_space = typename device_type::execution_space

Definition at line 63 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::memory_space = typename device_type::memory_space

Definition at line 64 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::host_exec = typename femv_t::host_view_type::device_type::execution_space

Definition at line 65 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
using Zoltan2::AlgDistance1< Adapter >::host_mem = typename femv_t::host_view_type::device_type::memory_space

Definition at line 66 of file Zoltan2_AlgHybridD1.hpp.

Constructor & Destructor Documentation

template<typename Adapter>
Zoltan2::AlgDistance1< Adapter >::AlgDistance1 ( const RCP< const base_adapter_t > &  adapter_,
const RCP< Teuchos::ParameterList > &  pl_,
const RCP< Environment > &  env_,
const RCP< const Teuchos::Comm< int > > &  comm_ 
)
inline

Definition at line 371 of file Zoltan2_AlgHybridD1.hpp.

Member Function Documentation

template<typename Adapter>
double Zoltan2::AlgDistance1< Adapter >::timer ( )
inline

Definition at line 67 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
template<class ExecutionSpace , typename MemorySpace >
void Zoltan2::AlgDistance1< Adapter >::detectConflicts ( const size_t  n_local,
const size_t  n_ghosts,
Kokkos::View< offset_t *, Kokkos::Device< ExecutionSpace, MemorySpace >>  dist_offsets,
Kokkos::View< lno_t *, Kokkos::Device< ExecutionSpace, MemorySpace >>  dist_adjs,
Kokkos::View< int *, Kokkos::Device< ExecutionSpace, MemorySpace >>  femv_colors,
Kokkos::View< lno_t *, Kokkos::Device< ExecutionSpace, MemorySpace >>  verts_to_send_view,
Kokkos::View< size_t *, Kokkos::Device< ExecutionSpace, MemorySpace >, Kokkos::MemoryTraits< Kokkos::Atomic >>  verts_to_send_size_atomic,
Kokkos::View< gno_t *, Kokkos::Device< ExecutionSpace, MemorySpace >>  recoloringSize,
Kokkos::View< int *, Kokkos::Device< ExecutionSpace, MemorySpace >>  rand,
Kokkos::View< gno_t *, Kokkos::Device< ExecutionSpace, MemorySpace >>  gid,
Kokkos::View< gno_t *, Kokkos::Device< ExecutionSpace, MemorySpace >>  ghost_degrees,
bool  recolor_degrees 
)
inline

Definition at line 192 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
void Zoltan2::AlgDistance1< Adapter >::color ( const RCP< ColoringSolution< Adapter > > &  )
inlinevirtual

Coloring method.

Reimplemented from Zoltan2::Algorithm< Adapter >.

Definition at line 388 of file Zoltan2_AlgHybridD1.hpp.

template<typename Adapter>
void Zoltan2::AlgDistance1< Adapter >::hybridGMB ( const size_t  nVtx,
const Teuchos::ArrayView< const lno_t > &  adjs,
const Teuchos::ArrayView< const offset_t > &  offsets,
const Teuchos::RCP< femv_t > &  femv,
const Teuchos::ArrayView< const gno_t > &  gids,
const Teuchos::ArrayView< const int > &  rand,
const Teuchos::ArrayView< const int > &  owners,
RCP< const map_t mapOwnedPlusGhosts,
const std::unordered_map< lno_t, std::vector< int >> &  procs_to_send 
)
inline

Definition at line 545 of file Zoltan2_AlgHybridD1.hpp.


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