|
| BasicVectorAdapter (lno_t numIds, const gno_t *ids, const scalar_t *entries, int entryStride=1, bool usewgts=false, const scalar_t *wgts=NULL, int wgtStride=1) |
| Constructor for one vector with (optionally) one weight. More...
|
|
| BasicVectorAdapter (lno_t numIds, const gno_t *ids, std::vector< const scalar_t * > &entries, std::vector< int > &entryStride, std::vector< const scalar_t * > &weights, std::vector< int > &weightStrides) |
| Constructor for multivector (a set of vectors sharing the same global numbering and data distribution across processes). More...
|
|
| BasicVectorAdapter (lno_t numIds, const gno_t *ids, const scalar_t *x, const scalar_t *y, const scalar_t *z, int xStride=1, int yStride=1, int zStride=1, bool usewgts=false, const scalar_t *wgts=NULL, int wgtStride=1) |
| A simple constructor for coordinate-based problems with dimension 1, 2 or 3 and (optionally) one weight per coordinate. More...
|
|
size_t | getLocalNumIDs () const |
| Returns the number of objects on this process. More...
|
|
void | getIDsView (const gno_t *&ids) const |
| Provide a pointer to this process' identifiers. More...
|
|
void | getIDsKokkosView (typename Base::ConstIdsDeviceView &ids) const |
|
void | getIDsHostView (typename Base::ConstIdsHostView &ids) const override |
|
void | getIDsDeviceView (typename Base::ConstIdsDeviceView &ids) const override |
|
int | getNumWeightsPerID () const |
| Returns the number of weights per object. Number of weights per object should be zero or greater. If zero, then it is assumed that all objects are equally weighted. Default is zero weights per ID. More...
|
|
virtual void | getWeightsKokkos2dView (typename Base::WeightsDeviceView &wgt) const |
|
void | getWeightsView (const scalar_t *&weights, int &stride, int idx) const |
| Provide pointer to a weight array with stride. More...
|
|
void | getWeightsHostView (typename Base::WeightsHostView1D &hostWgts, int idx=0) const override |
|
void | getWeightsHostView (typename Base::WeightsHostView &wgts) const override |
|
void | getWeightsDeviceView (typename Base::WeightsDeviceView1D &deviceWgts, int idx=0) const override |
|
void | getWeightsDeviceView (typename Base::WeightsDeviceView &wgts) const override |
|
int | getNumEntriesPerID () const |
| Return the number of vectors. More...
|
|
void | getEntriesView (const scalar_t *&entries, int &stride, int idx=0) const |
| Provide a pointer to the elements of the specified vector. More...
|
|
void | getEntriesKokkosView (typename AdapterWithCoords< User >::CoordsDeviceView &entries) const |
|
void | getEntriesHostView (typename AdapterWithCoords< User >::CoordsHostView &entries) const override |
| Provide a Kokkos view (Host side) to the elements of the specified vector. More...
|
|
void | getEntriesDeviceView (typename AdapterWithCoords< User >::CoordsDeviceView &entries) const override |
| Provide a Kokkos view (Device side) to the elements of the specified vector. More...
|
|
enum BaseAdapterType | adapterType () const override |
| Returns the type of adapter. More...
|
|
virtual void | getEntriesKokkosView (Kokkos::View< scalar_t **, Kokkos::LayoutLeft, typename node_t::device_type > &elements) const |
| Provide a Kokkos view to the elements of the specified vector. More...
|
|
void | generateFiles (const char *fileprefix, const Teuchos::Comm< int > &comm) const |
| Write files that can be used as input to Zoltan or Zoltan2 driver Creates chaco-formatted input files for coordinates and weights that can be used as input for Zoltan or Zoltan2 drivers. This routine is SERIAL and can be quite slow. It is meant as a debugging tool only, to allow Zoltan developers to replicate performance that applications are seeing using the applicatios' input. More...
|
|
int | getDimension () const |
|
void | getCoordinatesView (const scalar_t *&elements, int &stride, int idx=0) const override |
|
void | getCoordinatesKokkosView (typename AdapterWithCoords< User >::CoordsDeviceView &elements) const override |
|
void | getCoordinatesHostView (typename AdapterWithCoords< User >::CoordsHostView &elements) const override |
|
void | getCoordinatesDeviceView (typename AdapterWithCoords< User >::CoordsDeviceView &elements) const override |
|
virtual void | getCoordinatesKokkosView (CoordsDeviceView &elements) const =0 |
|
virtual void | getCoordinatesHostView (CoordsHostView &) const |
|
virtual void | getCoordinatesDeviceView (CoordsDeviceView &elements) const |
|
virtual void | getIDsKokkosView (ConstIdsDeviceView &ids) const |
| Provide a Kokkos view to this process' identifiers. More...
|
|
virtual void | getIDsHostView (ConstIdsHostView &hostIds) const |
| Provide a Kokkos view (Host side) to this process' identifiers. More...
|
|
virtual void | getIDsDeviceView (ConstIdsDeviceView &deviceIds) const |
| Provide a Kokkos view (Device side) to this process' identifiers. More...
|
|
virtual void | getWeightsKokkosView (Kokkos::View< scalar_t **, device_t > &wgt) const |
| Provide kokkos view of weights. More...
|
|
virtual void | getWeightsHostView (WeightsHostView1D &hostWgts, int idx=0) const |
| Provide a Kokkos view (Host side) of the weights. More...
|
|
virtual void | getWeightsHostView (WeightsHostView &hostWgts) const |
| Provide a Kokkos view (Host side) of the weights. More...
|
|
virtual void | getWeightsDeviceView (WeightsDeviceView1D &deviceWgts, int idx=0) const |
| Provide a Kokkos view (Device side) of the weights. More...
|
|
virtual void | getWeightsDeviceView (WeightsDeviceView &deviceWgts) const |
| Provide a Kokkos view (Device side) of the weights. More...
|
|
virtual void | getPartsView (const part_t *&inputPart) const |
| Provide pointer to an array containing the input part assignment for each ID. The input part information may be used for re-partitioning to reduce data movement, or for mapping parts to processes. Adapters may return NULL for this pointer (the default behavior); if NULL is returned, algorithms will assume the rank. More...
|
|
virtual void | getPartsHostView (Kokkos::View< part_t *, host_t > &inputPart) const |
|
virtual void | getPartsDeviceView (Kokkos::View< part_t *, device_t > &inputPart) const |
|
template<typename Adapter > |
void | applyPartitioningSolution (const User &in, User *&out, const PartitioningSolution< Adapter > &solution) const |
| Apply a PartitioningSolution to an input. More...
|
|
virtual | ~BaseAdapterRoot ()=default |
|
|
using | scalar_t = typename BaseAdapter< User >::scalar_t |
|
using | device_t = typename BaseAdapter< User >::node_t::device_type |
|
using | host_t = typename Kokkos::HostSpace::memory_space |
|
using | CoordsDeviceView = Kokkos::View< scalar_t **, Kokkos::LayoutLeft, device_t > |
|
using | CoordsHostView = typename CoordsDeviceView::HostMirror |
|
using | lno_t = typename InputTraits< User >::lno_t |
|
using | gno_t = typename InputTraits< User >::gno_t |
|
using | scalar_t = typename InputTraits< User >::scalar_t |
|
using | node_t = typename InputTraits< User >::node_t |
|
using | part_t = typename InputTraits< User >::part_t |
|
using | offset_t = typename InputTraits< User >::offset_t |
|
using | host_t = typename Kokkos::HostSpace::memory_space |
|
using | device_t = typename node_t::device_type |
|
using | ConstIdsDeviceView = Kokkos::View< const gno_t *, device_t > |
|
using | ConstIdsHostView = typename ConstIdsDeviceView::HostMirror |
|
using | IdsDeviceView = Kokkos::View< gno_t *, device_t > |
|
using | IdsHostView = typename IdsDeviceView::HostMirror |
|
using | ConstOffsetsDeviceView = Kokkos::View< const offset_t *, device_t > |
|
using | ConstOffsetsHostView = typename ConstOffsetsDeviceView::HostMirror |
|
using | OffsetsDeviceView = Kokkos::View< offset_t *, device_t > |
|
using | OffsetsHostView = typename OffsetsDeviceView::HostMirror |
|
using | ConstScalarsDeviceView = Kokkos::View< const scalar_t *, device_t > |
|
using | ConstScalarsHostView = typename ConstScalarsDeviceView::HostMirror |
|
using | ScalarsDeviceView = Kokkos::View< scalar_t *, device_t > |
|
using | ScalarsHostView = typename ScalarsDeviceView::HostMirror |
|
using | ConstWeightsDeviceView1D = Kokkos::View< const scalar_t *, device_t > |
|
using | ConstWeightsHostView1D = typename ConstWeightsDeviceView1D::HostMirror |
|
using | WeightsDeviceView1D = Kokkos::View< scalar_t *, device_t > |
|
using | WeightsHostView1D = typename WeightsDeviceView1D::HostMirror |
|
using | ConstWeightsDeviceView = Kokkos::View< const scalar_t **, device_t > |
|
using | ConstWeightsHostView = typename ConstWeightsDeviceView::HostMirror |
|
using | WeightsDeviceView = Kokkos::View< scalar_t **, device_t > |
|
using | WeightsHostView = typename WeightsDeviceView::HostMirror |
|
void | generateWeightFileOnly (const char *fileprefix, const Teuchos::Comm< int > &comm) const |
|
template<typename User>
class Zoltan2::BasicVectorAdapter< User >
BasicVectorAdapter represents a vector (plus optional weights) supplied by the user as pointers to strided arrays.
BasicVectorAdapter may be a single vector or multivector (set of corresponding vectors with the same global identifiers and distribution across processes). A constructor specifically for use of BasicVectorAdapter to represent geometric coordinates is also provided.
Data types:
scalar_t
is the data type for weights and vector entry values.
lno_t
is the integral data type used by Zoltan2 for local indices and local counts.
gno_t
is the data type used by the application for global Ids; must be a Teuchos Ordinal. (Teuchos Ordinals are those data types for which traits are defined in Trilinos/packages/teuchos/src/Teuchos_OrdinalTraits.hpp.)
node_t
is a Kokkos CPU Node type. If you don't use Kokkos, you can ignore this data type.
The template parameter (User
) is a C++ class type which provides the actual data types with which the Zoltan2 library will be compiled, through a Traits mechanism. User
may be the actual class used by application to represent a vector, or it may be the empty helper class BasicUserTypes
with which a Zoltan2 user can easily supply the data types for the library.
- Examples:
- rcb_C.cpp.
Definition at line 50 of file Zoltan2_BasicVectorAdapter.hpp.