Tpetra parallel linear algebra
Version of the Day
|
Implementation of Directory for a contiguous, uniformly distributed Map. More...
#include <Tpetra_DirectoryImpl_decl.hpp>
Public Member Functions | |
ContiguousUniformDirectory (const map_type &map) | |
Constructor. More... | |
virtual bool | isOneToOne (const Teuchos::Comm< int > &) const |
Whether the Directory's input Map is (globally) one to one. More... | |
LookupStatus | getEntries (const map_type &map, const Teuchos::ArrayView< const GlobalOrdinal > &globalIDs, const Teuchos::ArrayView< int > &nodeIDs, const Teuchos::ArrayView< LocalOrdinal > &localIDs, const bool computeLIDs) const |
Implementation of Teuchos::Describable. | |
std::string | description () const |
A one-line human-readable description of this object. More... | |
Protected Member Functions | |
LookupStatus | getEntriesImpl (const map_type &map, const Teuchos::ArrayView< const GlobalOrdinal > &globalIDs, const Teuchos::ArrayView< int > &nodeIDs, const Teuchos::ArrayView< LocalOrdinal > &localIDs, const bool computeLIDs) const |
Find process IDs and (optionally) local IDs for the given global IDs. More... | |
Implementation of Directory for a contiguous, uniformly distributed Map.
The Map may have any number of processes starting with one. Since the entries are uniformly distributed over the processes, this implementation of Directory can compute which process owns a GID (and the GID's corresponding LID) in space and time.
Definition at line 218 of file Tpetra_DirectoryImpl_decl.hpp.
Tpetra::Details::ContiguousUniformDirectory< LO, GO, NT >::ContiguousUniformDirectory | ( | const map_type & | map | ) |
Constructor.
Definition at line 148 of file Tpetra_DirectoryImpl_def.hpp.
|
inlinevirtual |
Whether the Directory's input Map is (globally) one to one.
This method should always be treated as a collective on all processes in the given communicator, which must be the same as the input Map's communicator. Not all implementations necessarily communicate.
Implements Tpetra::Details::Directory< LocalOrdinal, GlobalOrdinal, NodeType >.
Definition at line 234 of file Tpetra_DirectoryImpl_decl.hpp.
std::string Tpetra::Details::ContiguousUniformDirectory< LO, GO, NT >::description | ( | ) | const |
A one-line human-readable description of this object.
Definition at line 159 of file Tpetra_DirectoryImpl_def.hpp.
|
protectedvirtual |
Find process IDs and (optionally) local IDs for the given global IDs.
Implements Tpetra::Details::Directory< LocalOrdinal, GlobalOrdinal, NodeType >.
Definition at line 173 of file Tpetra_DirectoryImpl_def.hpp.
|
inherited |
Find process IDs and (optionally) local IDs for the given global IDs.
map | [in] The Directory's Map. This must be the same as given to the Directory's constructor. Directory may not keep a reference to the Map, in order to avoid circular references between a Map and its Directory. |
globalIDs | [in] The global IDs for which to find process IDs (and optionally local IDs). |
nodeIDs | [out] The process IDs corresponding to the given global IDs. If a global ID does not belong to any process, the corresponding entry of nodeIDs will be -1. |
localIDs | [out] If computeLIDs is true, we fill this with the local IDs corresponding to the given global IDs. If a given global ID does not correspond to a local ID, the corresponding entry will be Teuchos::OrdinalTraits<LocalOrdinal>::invalid(). |
computeLIDs | [in] Whether to fill in localIDs. |
Definition at line 72 of file Tpetra_DirectoryImpl_def.hpp.