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

#include <Zoltan2_AlgHybrid2GL.hpp>

Inheritance diagram for Zoltan2::AlgTwoGhostLayer< Adapter >:
Inheritance graph
[legend]
Collaboration diagram for Zoltan2::AlgTwoGhostLayer< 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 ()
 
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)=0
 
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_view, typename Kokkos::View< int *, device_type >::HostMirror verts_to_recolor_size_atomic, typename Kokkos::View< lno_t *, device_type >::HostMirror verts_to_send_view, typename Kokkos::View< size_t *, device_type >::HostMirror verts_to_send_size_atomic, 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)=0
 
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)=0
 
 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. More...
 
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. 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...
 

Protected Attributes

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

Definition at line 50 of file Zoltan2_AlgHybrid2GL.hpp.

Member Typedef Documentation

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

Definition at line 54 of file Zoltan2_AlgHybrid2GL.hpp.

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

Definition at line 55 of file Zoltan2_AlgHybrid2GL.hpp.

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

Definition at line 56 of file Zoltan2_AlgHybrid2GL.hpp.

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

Definition at line 57 of file Zoltan2_AlgHybrid2GL.hpp.

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

Definition at line 58 of file Zoltan2_AlgHybrid2GL.hpp.

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

Definition at line 59 of file Zoltan2_AlgHybrid2GL.hpp.

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

Definition at line 60 of file Zoltan2_AlgHybrid2GL.hpp.

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

Definition at line 61 of file Zoltan2_AlgHybrid2GL.hpp.

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

Definition at line 62 of file Zoltan2_AlgHybrid2GL.hpp.

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

Definition at line 63 of file Zoltan2_AlgHybrid2GL.hpp.

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

Definition at line 64 of file Zoltan2_AlgHybrid2GL.hpp.

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

Definition at line 65 of file Zoltan2_AlgHybrid2GL.hpp.

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

Definition at line 66 of file Zoltan2_AlgHybrid2GL.hpp.

Constructor & Destructor Documentation

template<typename Adapter >
Zoltan2::AlgTwoGhostLayer< Adapter >::AlgTwoGhostLayer ( 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 722 of file Zoltan2_AlgHybrid2GL.hpp.

Member Function Documentation

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

Definition at line 68 of file Zoltan2_AlgHybrid2GL.hpp.

template<typename Adapter >
virtual void Zoltan2::AlgTwoGhostLayer< 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 
)
pure virtual
template<typename Adapter >
virtual void Zoltan2::AlgTwoGhostLayer< 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_view,
typename Kokkos::View< int *, device_type >::HostMirror  verts_to_recolor_size_atomic,
typename Kokkos::View< lno_t *, device_type >::HostMirror  verts_to_send_view,
typename Kokkos::View< size_t *, device_type >::HostMirror  verts_to_send_size_atomic,
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 
)
pure virtual
template<typename Adapter >
virtual void Zoltan2::AlgTwoGhostLayer< 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 
)
pure virtual
template<typename Adapter >
void Zoltan2::AlgTwoGhostLayer< Adapter >::color ( const RCP< ColoringSolution< Adapter > > &  )
inlinevirtual

Coloring method.

Reimplemented from Zoltan2::Algorithm< Adapter >.

Definition at line 732 of file Zoltan2_AlgHybrid2GL.hpp.

template<typename Adapter >
void Zoltan2::AlgTwoGhostLayer< Adapter >::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 
)
inline

Definition at line 1063 of file Zoltan2_AlgHybrid2GL.hpp.

Member Data Documentation

template<typename Adapter >
RCP<const base_adapter_t> Zoltan2::AlgTwoGhostLayer< Adapter >::adapter
protected

Definition at line 278 of file Zoltan2_AlgHybrid2GL.hpp.

template<typename Adapter >
RCP<Teuchos::ParameterList> Zoltan2::AlgTwoGhostLayer< Adapter >::pl
protected

Definition at line 279 of file Zoltan2_AlgHybrid2GL.hpp.

template<typename Adapter >
RCP<Environment> Zoltan2::AlgTwoGhostLayer< Adapter >::env
protected

Definition at line 280 of file Zoltan2_AlgHybrid2GL.hpp.

template<typename Adapter >
RCP<const Teuchos::Comm<int> > Zoltan2::AlgTwoGhostLayer< Adapter >::comm
protected

Definition at line 281 of file Zoltan2_AlgHybrid2GL.hpp.

template<typename Adapter >
bool Zoltan2::AlgTwoGhostLayer< Adapter >::verbose
protected

Definition at line 282 of file Zoltan2_AlgHybrid2GL.hpp.

template<typename Adapter >
bool Zoltan2::AlgTwoGhostLayer< Adapter >::timing
protected

Definition at line 283 of file Zoltan2_AlgHybrid2GL.hpp.


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