42 #ifndef TPETRA_EXPORT_DECL_HPP 43 #define TPETRA_EXPORT_DECL_HPP 45 #include <Tpetra_Details_Transfer.hpp> 53 #ifndef DOXYGEN_SHOULD_SKIP_THIS 54 template<
class LocalOrdinal,
class GlobalOrdinal,
class Node>
55 class ImportExportData;
57 template<
class LocalOrdinal,
class GlobalOrdinal,
class Node>
59 #endif // DOXYGEN_SHOULD_SKIP_THIS 122 class GlobalOrdinal = Details::DefaultTypes::global_ordinal_type,
128 friend class Import<LocalOrdinal,GlobalOrdinal,Node>;
131 typedef ::Tpetra::Map<LocalOrdinal, GlobalOrdinal, Node>
map_type;
143 Export (
const Teuchos::RCP<const map_type>& source,
144 const Teuchos::RCP<const map_type>& target);
156 Export (
const Teuchos::RCP<const map_type>& source,
157 const Teuchos::RCP<const map_type>& target,
158 const RCP<Teuchos::FancyOStream>& out);
172 Export (
const Teuchos::RCP<const map_type>& source,
173 const Teuchos::RCP<const map_type>& target,
174 const Teuchos::RCP<Teuchos::ParameterList>& plist);
191 Export (
const Teuchos::RCP<const map_type>& source,
192 const Teuchos::RCP<const map_type>& target,
193 const RCP<Teuchos::FancyOStream>& out,
194 const Teuchos::RCP<Teuchos::ParameterList>& plist);
293 virtual void print (std::ostream& os)
const;
299 RCP<ImportExportData<LocalOrdinal,GlobalOrdinal,Node> > ExportData_;
301 Teuchos::RCP<Teuchos::FancyOStream> out_;
312 void setupSamePermuteExport(Teuchos::Array<GlobalOrdinal> & exportGIDs);
313 void setupRemote(Teuchos::Array<GlobalOrdinal> & exportGIDs);
327 template <
class LocalOrdinal,
class GlobalOrdinal,
class Node>
328 Teuchos::RCP<const Export<LocalOrdinal, GlobalOrdinal, Node> >
333 return Teuchos::null;
335 #ifdef HAVE_TPETRA_DEBUG 336 TEUCHOS_TEST_FOR_EXCEPTION(
337 src == null || tgt == null, std::runtime_error,
338 "Tpetra::createExport(): neither source nor target map may be null:" 339 << std::endl <<
"source: " << src << std::endl <<
"target: " << tgt
341 #endif // HAVE_TPETRA_DEBUG 347 #endif // TPETRA_EXPORT_DECL_HPP Communication plan for data redistribution from a uniquely-owned to a (possibly) multiply-owned distr...
Teuchos::RCP< const map_type > getSourceMap() const
The source Map used to construct this Export.
ArrayView< const LocalOrdinal > getExportLIDs() const
List of entries in the source Map that will be sent to other processes.
Namespace Tpetra contains the class and methods constituting the Tpetra library.
Common base class of Import and Export.
ArrayView< const int > getExportPIDs() const
List of processes to which entries will be sent.
KokkosClassic::DefaultNode::DefaultNodeType node_type
Default value of Node template parameter.
virtual void print(std::ostream &os) const
Print the Export's data to the given output stream.
size_t getNumSameIDs() const
Number of initial identical IDs.
size_t getNumPermuteIDs() const
Number of IDs to permute but not to communicate.
ArrayView< const LocalOrdinal > getPermuteFromLIDs() const
List of local IDs in the source Map that are permuted.
int local_ordinal_type
Default value of LocalOrdinal template parameter.
ArrayView< const LocalOrdinal > getPermuteToLIDs() const
List of local IDs in the target Map that are permuted.
Export(const Teuchos::RCP< const map_type > &source, const Teuchos::RCP< const map_type > &target)
Construct a Export object from the source and target Map.
Export< LocalOrdinal, GlobalOrdinal, Node > & operator=(const Export< LocalOrdinal, GlobalOrdinal, Node > &rhs)
Assignment operator.
Teuchos::RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > createExport(const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &src, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &tgt)
Non-member constructor for Export objects.
Communication plan for data redistribution from a (possibly) multiply-owned to a uniquely-owned distr...
size_t getNumExportIDs() const
Number of entries that must be sent by the calling process to other processes.
Sets up and executes a communication plan for a Tpetra DistObject.
size_t getNumRemoteIDs() const
Number of entries not on the calling process.
Teuchos::RCP< const map_type > getTargetMap() const
The target Map used to construct this Export.
Describes a parallel distribution of objects over processes.
::Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > map_type
The specialization of Map used by this class.
ArrayView< const LocalOrdinal > getRemoteLIDs() const
List of entries in the target Map to receive from other processes.
Distributor & getDistributor() const
The Distributor that this Export object uses to move data.
virtual ~Export()
Destructor.
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &plist)
Set parameters.