Zoltan2
Loading...
Searching...
No Matches
Zoltan2::AlgPartialDistance2< Adapter > Class Template Reference

#include <Zoltan2_AlgHybridPD2.hpp>

Inheritance diagram for Zoltan2::AlgPartialDistance2< Adapter >:
Collaboration diagram for Zoltan2::AlgPartialDistance2< Adapter >:

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::AlgTwoGhostLayer< Adapter >
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

template<class ExecutionSpace, typename MemorySpace>
void detectPD2Conflicts (const size_t n_local, 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 > > boundary_verts_view, Kokkos::View< lno_t *, Kokkos::Device< ExecutionSpace, MemorySpace > > verts_to_recolor_view, Kokkos::View< int *, Kokkos::Device< ExecutionSpace, MemorySpace >, Kokkos::MemoryTraits< Kokkos::Atomic > > verts_to_recolor_size_atomic, 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< size_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)
virtual void detectConflicts (const size_t n_local, Kokkos::View< offset_t *, device_type > dist_offsets_dev, Kokkos::View< lno_t *, device_type > dist_adjs_dev, Kokkos::View< int *, device_type > femv_colors, Kokkos::View< lno_t *, device_type > boundary_verts_view, Kokkos::View< lno_t *, device_type > verts_to_recolor_view, Kokkos::View< int *, device_type, Kokkos::MemoryTraits< Kokkos::Atomic > > verts_to_recolor_size_atomic, Kokkos::View< lno_t *, device_type > verts_to_send_view, Kokkos::View< size_t *, device_type, Kokkos::MemoryTraits< Kokkos::Atomic > > verts_to_send_size_atomic, Kokkos::View< size_t *, device_type > recoloringSize, Kokkos::View< int *, device_type > rand, Kokkos::View< gno_t *, device_type > gid, Kokkos::View< gno_t *, device_type > ghost_degrees, bool recolor_degrees)
virtual void detectConflicts_serial (const size_t n_local, typename Kokkos::View< offset_t *, device_type >::HostMirror dist_offsets_host, typename Kokkos::View< lno_t *, device_type >::HostMirror dist_adjs_host, typename Kokkos::View< int *, device_type >::HostMirror femv_colors, typename Kokkos::View< lno_t *, device_type >::HostMirror boundary_verts_view, typename Kokkos::View< lno_t *, device_type >::HostMirror verts_to_recolor, typename Kokkos::View< int *, device_type >::HostMirror verts_to_recolor_size, typename Kokkos::View< lno_t *, device_type >::HostMirror verts_to_send, typename Kokkos::View< size_t *, device_type >::HostMirror verts_to_send_size, typename Kokkos::View< size_t *, device_type >::HostMirror recoloringSize, typename Kokkos::View< int *, device_type >::HostMirror rand, typename Kokkos::View< gno_t *, device_type >::HostMirror gid, typename Kokkos::View< gno_t *, device_type >::HostMirror ghost_degrees, bool recolor_degrees)
virtual void constructBoundary (const size_t n_local, Kokkos::View< offset_t *, device_type > dist_offsets_dev, Kokkos::View< lno_t *, device_type > dist_adjs_dev, typename Kokkos::View< offset_t *, device_type >::HostMirror dist_offsets_host, typename Kokkos::View< lno_t *, device_type >::HostMirror dist_adjs_host, Kokkos::View< lno_t *, device_type > &boundary_verts, Kokkos::View< lno_t *, device_type > verts_to_send_view, Kokkos::View< size_t *, device_type, Kokkos::MemoryTraits< Kokkos::Atomic > > verts_to_send_size_atomic)
 AlgPartialDistance2 (const RCP< const base_adapter_t > &adapter_, const RCP< Teuchos::ParameterList > &pl_, const RCP< Environment > &env_, const RCP< const Teuchos::Comm< int > > &comm_)
Public Member Functions inherited from Zoltan2::AlgTwoGhostLayer< Adapter >
double timer ()
 AlgTwoGhostLayer (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 twoGhostLayer (const size_t n_local, const size_t n_total, const Teuchos::ArrayView< const lno_t > &adjs, const Teuchos::ArrayView< const offset_t > &offsets, const Teuchos::ArrayView< const lno_t > &ghost_adjs, const Teuchos::ArrayView< const offset_t > &ghost_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 > &ghost_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 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.

Additional Inherited Members

Protected Attributes inherited from Zoltan2::AlgTwoGhostLayer< Adapter >
RCP< const base_adapter_tadapter
RCP< Teuchos::ParameterList > pl
RCP< Environmentenv
RCP< const Teuchos::Comm< int > > comm
bool verbose
bool timing

Detailed Description

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

Definition at line 51 of file Zoltan2_AlgHybridPD2.hpp.

Member Typedef Documentation

◆ lno_t

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

Definition at line 55 of file Zoltan2_AlgHybridPD2.hpp.

◆ gno_t

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

Definition at line 56 of file Zoltan2_AlgHybridPD2.hpp.

◆ offset_t

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

Definition at line 57 of file Zoltan2_AlgHybridPD2.hpp.

◆ scalar_t

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

Definition at line 58 of file Zoltan2_AlgHybridPD2.hpp.

◆ base_adapter_t

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

Definition at line 59 of file Zoltan2_AlgHybridPD2.hpp.

◆ map_t

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

Definition at line 60 of file Zoltan2_AlgHybridPD2.hpp.

◆ femv_scalar_t

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

Definition at line 61 of file Zoltan2_AlgHybridPD2.hpp.

◆ femv_t

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

Definition at line 62 of file Zoltan2_AlgHybridPD2.hpp.

◆ device_type

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

Definition at line 63 of file Zoltan2_AlgHybridPD2.hpp.

◆ execution_space

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

Definition at line 64 of file Zoltan2_AlgHybridPD2.hpp.

◆ memory_space

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

Definition at line 65 of file Zoltan2_AlgHybridPD2.hpp.

◆ host_exec

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

Definition at line 66 of file Zoltan2_AlgHybridPD2.hpp.

◆ host_mem

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

Definition at line 67 of file Zoltan2_AlgHybridPD2.hpp.

Constructor & Destructor Documentation

◆ AlgPartialDistance2()

template<typename Adapter>
Zoltan2::AlgPartialDistance2< Adapter >::AlgPartialDistance2 ( 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 409 of file Zoltan2_AlgHybridPD2.hpp.

Member Function Documentation

◆ detectPD2Conflicts()

template<typename Adapter>
template<class ExecutionSpace, typename MemorySpace>
void Zoltan2::AlgPartialDistance2< Adapter >::detectPD2Conflicts ( const size_t n_local,
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 > > boundary_verts_view,
Kokkos::View< lno_t *, Kokkos::Device< ExecutionSpace, MemorySpace > > verts_to_recolor_view,
Kokkos::View< int *, Kokkos::Device< ExecutionSpace, MemorySpace >, Kokkos::MemoryTraits< Kokkos::Atomic > > verts_to_recolor_size_atomic,
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< size_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 150 of file Zoltan2_AlgHybridPD2.hpp.

◆ detectConflicts()

template<typename Adapter>
virtual void Zoltan2::AlgPartialDistance2< Adapter >::detectConflicts ( const size_t n_local,
Kokkos::View< offset_t *, device_type > dist_offsets_dev,
Kokkos::View< lno_t *, device_type > dist_adjs_dev,
Kokkos::View< int *, device_type > femv_colors,
Kokkos::View< lno_t *, device_type > boundary_verts_view,
Kokkos::View< lno_t *, device_type > verts_to_recolor_view,
Kokkos::View< int *, device_type, Kokkos::MemoryTraits< Kokkos::Atomic > > verts_to_recolor_size_atomic,
Kokkos::View< lno_t *, device_type > verts_to_send_view,
Kokkos::View< size_t *, device_type, Kokkos::MemoryTraits< Kokkos::Atomic > > verts_to_send_size_atomic,
Kokkos::View< size_t *, device_type > recoloringSize,
Kokkos::View< int *, device_type > rand,
Kokkos::View< gno_t *, device_type > gid,
Kokkos::View< gno_t *, device_type > ghost_degrees,
bool recolor_degrees )
inlinevirtual

Implements Zoltan2::AlgTwoGhostLayer< Adapter >.

Definition at line 253 of file Zoltan2_AlgHybridPD2.hpp.

◆ detectConflicts_serial()

template<typename Adapter>
virtual void Zoltan2::AlgPartialDistance2< Adapter >::detectConflicts_serial ( const size_t n_local,
typename Kokkos::View< offset_t *, device_type >::HostMirror dist_offsets_host,
typename Kokkos::View< lno_t *, device_type >::HostMirror dist_adjs_host,
typename Kokkos::View< int *, device_type >::HostMirror femv_colors,
typename Kokkos::View< lno_t *, device_type >::HostMirror boundary_verts_view,
typename Kokkos::View< lno_t *, device_type >::HostMirror verts_to_recolor,
typename Kokkos::View< int *, device_type >::HostMirror verts_to_recolor_size,
typename Kokkos::View< lno_t *, device_type >::HostMirror verts_to_send,
typename Kokkos::View< size_t *, device_type >::HostMirror verts_to_send_size,
typename Kokkos::View< size_t *, device_type >::HostMirror recoloringSize,
typename Kokkos::View< int *, device_type >::HostMirror rand,
typename Kokkos::View< gno_t *, device_type >::HostMirror gid,
typename Kokkos::View< gno_t *, device_type >::HostMirror ghost_degrees,
bool recolor_degrees )
inlinevirtual

Implements Zoltan2::AlgTwoGhostLayer< Adapter >.

Definition at line 293 of file Zoltan2_AlgHybridPD2.hpp.

◆ constructBoundary()

template<typename Adapter>
virtual void Zoltan2::AlgPartialDistance2< Adapter >::constructBoundary ( const size_t n_local,
Kokkos::View< offset_t *, device_type > dist_offsets_dev,
Kokkos::View< lno_t *, device_type > dist_adjs_dev,
typename Kokkos::View< offset_t *, device_type >::HostMirror dist_offsets_host,
typename Kokkos::View< lno_t *, device_type >::HostMirror dist_adjs_host,
Kokkos::View< lno_t *, device_type > & boundary_verts,
Kokkos::View< lno_t *, device_type > verts_to_send_view,
Kokkos::View< size_t *, device_type, Kokkos::MemoryTraits< Kokkos::Atomic > > verts_to_send_size_atomic )
inlinevirtual

Implements Zoltan2::AlgTwoGhostLayer< Adapter >.

Definition at line 324 of file Zoltan2_AlgHybridPD2.hpp.


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