|
Tpetra parallel linear algebra
Version of the Day
|
42 #ifndef TPETRA_DETAILS_TRANSFER_DECL_HPP
43 #define TPETRA_DETAILS_TRANSFER_DECL_HPP
47 #include "Teuchos_Describable.hpp"
55 #ifndef DOXYGEN_SHOULD_SKIP_THIS
57 #endif // DOXYGEN_SHOULD_SKIP_THIS
67 class GO = ::Tpetra::Details::DefaultTypes::global_ordinal_type,
104 virtual Teuchos::ArrayView<const LO>
getRemoteLIDs ()
const = 0;
110 virtual Teuchos::ArrayView<const LO>
getExportLIDs ()
const = 0;
116 virtual Teuchos::ArrayView<const int>
getExportPIDs ()
const = 0;
119 virtual Teuchos::RCP<const map_type>
getSourceMap ()
const = 0;
122 virtual Teuchos::RCP<const map_type>
getTargetMap ()
const = 0;
166 describe (Teuchos::FancyOStream& out,
167 const Teuchos::EVerbosityLevel verbLevel =
168 Teuchos::Describable::verbLevel_default)
const;
186 const std::string& className,
187 const Teuchos::EVerbosityLevel verbLevel =
188 Teuchos::Describable::verbLevel_default)
const;
198 globalDescribe (Teuchos::FancyOStream& out,
199 const Teuchos::EVerbosityLevel vl)
const;
206 localDescribeToString (
const Teuchos::EVerbosityLevel vl)
const;
220 #define TPETRA_DETAILS_TRANSFER_INSTANT(LO, GO, NODE) \
222 namespace Classes { template class Transfer< LO , GO , NODE >; }
224 #endif // TPETRA_DETAILS_TRANSFER_DECL_HPP
void describeImpl(Teuchos::FancyOStream &out, const std::string &className, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
Implementation of describe() for subclasses (Tpetra::Import and Tpetra::Export).
Forward declaration of Tpetra::Details::Transfer.
::Tpetra::Map< LO, GO, NT > map_type
The specialization of Map used by this class and subclasses.
::Kokkos::Compat::KokkosDeviceWrapperNode< execution_space > node_type
Default value of Node template parameter.
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
Describe this object in a human-readable way to the given output stream.
virtual Teuchos::ArrayView< const LO > getRemoteLIDs() const =0
List of entries in the target Map to receive from other processes.
virtual size_t getNumRemoteIDs() const =0
Number of entries not on the calling process.
virtual ~Transfer()
Destructor (declared virtual for memory safety of derived classes).
virtual Teuchos::ArrayView< const LO > getPermuteToLIDs() const =0
List of local IDs in the target Map that are permuted.
Implementation details of Tpetra.
virtual size_t getNumPermuteIDs() const =0
Number of IDs to permute but not to communicate.
virtual size_t getNumExportIDs() const =0
Number of entries that must be sent by the calling process to other processes.
virtual Teuchos::ArrayView< const int > getExportPIDs() const =0
List of processes to which entries will be sent.
virtual size_t getNumSameIDs() const =0
Number of initial identical IDs.
virtual Teuchos::RCP< const map_type > getSourceMap() const =0
The source Map used to construct this Export or Import.
Declaration of the Tpetra::Map class and related nonmember constructors.
int local_ordinal_type
Default value of Scalar template parameter.
Common base class of Import and Export.
virtual Teuchos::ArrayView< const LO > getExportLIDs() const =0
List of entries in the source Map that will be sent to other processes.
virtual ::Tpetra::Distributor & getDistributor() const =0
The Distributor that this Export or Import object uses to move data.
virtual Teuchos::ArrayView< const LO > getPermuteFromLIDs() const =0
List of local IDs in the source Map that are permuted.
Namespace Tpetra contains the class and methods constituting the Tpetra library.
virtual bool isLocallyComplete() const =0
Is this Export or Import locally complete?
virtual Teuchos::RCP< const map_type > getTargetMap() const =0
The target Map used to construct this Export or Import.