Zoltan2
Loading...
Searching...
No Matches
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.
 
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.
 
virtual int globalOrder (const RCP< GlobalOrderingSolution< gno_t > > &)
 Ordering method.
 
virtual void color (const RCP< ColoringSolution< Adapter > > &)
 Coloring method.
 
virtual void match ()
 Matching method.
 
virtual void partition (const RCP< PartitioningSolution< Adapter > > &)
 Partitioning method.
 
virtual void partitionMatrix (const RCP< MatrixPartitioningSolution< Adapter > > &)
 Matrix Partitioning method.
 
virtual void map (const RCP< MappingSolution< Adapter > > &)
 Mapping method.
 
virtual bool isPartitioningTreeBinary () const
 return if algorithm determins tree to be binary
 
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
 
virtual std::vector< coordinateModelPartBox > & getPartBoxesView () const
 for partitioning methods, return bounding boxes of the
 
virtual part_t pointAssign (int, scalar_t *) const
 pointAssign method: Available only for some partitioning algorithms
 
virtual void boxAssign (int, scalar_t *, scalar_t *, size_t &, part_t **) const
 boxAssign method: Available only for some partitioning algorithms
 
virtual void getCommunicationGraph (const PartitioningSolution< Adapter > *, ArrayRCP< part_t > &, ArrayRCP< part_t > &)
 returns serial communication graph of a computed partition
 
virtual int getRankForPart (part_t)
 In mapping, returns the rank to which a part is assigned.
 
virtual void getMyPartsView (part_t &, part_t *&)
 In mapping, returns a view of parts assigned to the current rank.
 

Detailed Description

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

Definition at line 41 of file Zoltan2_AlgHybridD1.hpp.

Member Typedef Documentation

◆ lno_t

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

Definition at line 45 of file Zoltan2_AlgHybridD1.hpp.

◆ gno_t

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

Definition at line 46 of file Zoltan2_AlgHybridD1.hpp.

◆ offset_t

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

Definition at line 47 of file Zoltan2_AlgHybridD1.hpp.

◆ scalar_t

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

Definition at line 48 of file Zoltan2_AlgHybridD1.hpp.

◆ base_adapter_t

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

Definition at line 49 of file Zoltan2_AlgHybridD1.hpp.

◆ map_t

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

Definition at line 50 of file Zoltan2_AlgHybridD1.hpp.

◆ femv_scalar_t

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

Definition at line 51 of file Zoltan2_AlgHybridD1.hpp.

◆ femv_t

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

Definition at line 52 of file Zoltan2_AlgHybridD1.hpp.

◆ device_type

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

Definition at line 53 of file Zoltan2_AlgHybridD1.hpp.

◆ execution_space

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

Definition at line 54 of file Zoltan2_AlgHybridD1.hpp.

◆ memory_space

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

Definition at line 55 of file Zoltan2_AlgHybridD1.hpp.

◆ host_exec

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

Definition at line 56 of file Zoltan2_AlgHybridD1.hpp.

◆ host_mem

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

Definition at line 57 of file Zoltan2_AlgHybridD1.hpp.

Constructor & Destructor Documentation

◆ AlgDistance1()

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 362 of file Zoltan2_AlgHybridD1.hpp.

Member Function Documentation

◆ timer()

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

Definition at line 58 of file Zoltan2_AlgHybridD1.hpp.

◆ detectConflicts()

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 183 of file Zoltan2_AlgHybridD1.hpp.

◆ color()

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

Coloring method.

Reimplemented from Zoltan2::Algorithm< Adapter >.

Definition at line 379 of file Zoltan2_AlgHybridD1.hpp.

◆ hybridGMB()

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 536 of file Zoltan2_AlgHybridD1.hpp.


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