|
Tpetra Matrix/Vector Services
Version of the Day
|
A graph accessed by rows and stored sparsely. More...
#include <Tpetra_CrsGraph_decl.hpp>

Public Member Functions | |
Constructor/Destructor Methods | |
| CrsGraph (const RCP< const map_type > &rowMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const RCP< ParameterList > ¶ms=null) | |
| Constructor specifying fixed number of entries for each row. | |
| CrsGraph (const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, ProfileType pftype=DynamicProfile, const RCP< ParameterList > ¶ms=null) | |
| Constructor specifying (possibly different) number of entries in each row. | |
| CrsGraph (const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const RCP< ParameterList > ¶ms=null) | |
| Constructor specifying column Map and fixed number of entries for each row. | |
| CrsGraph (const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, ProfileType pftype=DynamicProfile, const RCP< ParameterList > ¶ms=null) | |
| Constructor specifying column Map and number of entries in each row. | |
| virtual | ~CrsGraph () |
| Destructor. | |
Implementation of Teuchos::ParameterListAcceptor | |
| void | setParameterList (const RCP< ParameterList > ¶ms) |
| Set the given list of parameters (must be nonnull). | |
| RCP< const ParameterList > | getValidParameters () const |
| Default parameter list suitable for validation. | |
Insertion/Removal Methods | |
| void | insertGlobalIndices (GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &indices) |
| Insert graph indices, using global IDs. | |
| void | insertLocalIndices (LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &indices) |
| Insert graph indices, using local IDs. | |
| void | removeLocalIndices (LocalOrdinal localRow) |
| Remove all graph indices from the specified local row. | |
Transformational Methods | |
| void | globalAssemble () |
| Communicate non-local contributions to other nodes. | |
| void | resumeFill (const RCP< ParameterList > ¶ms=null) |
| void | fillComplete (const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< ParameterList > ¶ms=null) |
| Signal that data entry is complete, specifying domain and range maps. | |
| void | fillComplete (const RCP< ParameterList > ¶ms=null) |
| Signal that data entry is complete. | |
Methods implementing RowGraph. | |
| const RCP< const Comm< int > > & | getComm () const |
| Returns the communicator. | |
| RCP< Node > | getNode () const |
| Returns the underlying node. | |
| const RCP< const Map < LocalOrdinal, GlobalOrdinal, Node > > & | getRowMap () const |
| Returns the Map that describes the row distribution in this graph. | |
| const RCP< const Map < LocalOrdinal, GlobalOrdinal, Node > > & | getColMap () const |
| Returns the Map that describes the column distribution in this graph. | |
| const RCP< const Map < LocalOrdinal, GlobalOrdinal, Node > > & | getDomainMap () const |
| Returns the Map associated with the domain of this graph. | |
| const RCP< const Map < LocalOrdinal, GlobalOrdinal, Node > > & | getRangeMap () const |
| Returns the Map associated with the domain of this graph. | |
| RCP< const Import < LocalOrdinal, GlobalOrdinal, Node > > | getImporter () const |
| Returns the importer associated with this graph. | |
| RCP< const Export < LocalOrdinal, GlobalOrdinal, Node > > | getExporter () const |
| Returns the exporter associated with this graph. | |
| global_size_t | getGlobalNumRows () const |
| Returns the number of global rows in the graph. | |
| global_size_t | getGlobalNumCols () const |
| Returns the number of global columns in the graph. | |
| size_t | getNodeNumRows () const |
| Returns the number of graph rows owned on the calling node. | |
| size_t | getNodeNumCols () const |
| Returns the number of columns connected to the locally owned rows of this graph. | |
| GlobalOrdinal | getIndexBase () const |
| Returns the index base for global indices for this graph. | |
| global_size_t | getGlobalNumEntries () const |
| Returns the global number of entries in the graph. | |
| size_t | getNodeNumEntries () const |
| Returns the local number of entries in the graph. | |
| size_t | getNumEntriesInGlobalRow (GlobalOrdinal globalRow) const |
| Returns the current number of entries on this node in the specified global row. | |
| size_t | getNumEntriesInLocalRow (LocalOrdinal localRow) const |
| Returns the current number of entries on this node in the specified local row. | |
| size_t | getNodeAllocationSize () const |
| Returns the total number of indices allocated for the graph, across all rows on this node. | |
| size_t | getNumAllocatedEntriesInGlobalRow (GlobalOrdinal globalRow) const |
| Returns the current number of allocated entries for this node in the specified global row . | |
| size_t | getNumAllocatedEntriesInLocalRow (LocalOrdinal localRow) const |
| Returns the current number of allocated entries on this node in the specified local row. | |
| global_size_t | getGlobalNumDiags () const |
| Returns the number of global diagonal entries, based on global row/column index comparisons. | |
| size_t | getNodeNumDiags () const |
| Returns the number of local diagonal entries, based on global row/column index comparisons. | |
| size_t | getGlobalMaxNumRowEntries () const |
| Returns the maximum number of entries across all rows/columns on all nodes. | |
| size_t | getNodeMaxNumRowEntries () const |
| Returns the maximum number of entries across all rows/columns on this node. | |
| bool | hasColMap () const |
| Indicates whether the graph has a well-defined column map. | |
| bool | isLowerTriangular () const |
| Indicates whether the graph is lower triangular. | |
| bool | isUpperTriangular () const |
| Indicates whether the graph is upper triangular. | |
| bool | isLocallyIndexed () const |
| If graph indices are in the local range, this function returns true. Otherwise, this function returns false. */. | |
| bool | isGloballyIndexed () const |
| If graph indices are in the global range, this function returns true. Otherwise, this function returns false. */. | |
| bool | isFillComplete () const |
Returns true if fillComplete() has been called and the graph is in compute mode. | |
| bool | isFillActive () const |
Returns true if resumeFill() has been called and the graph is in edit mode. | |
| bool | isSorted () const |
| Indicates whether the graph indices in all rows are known to be sorted. | |
| bool | isStorageOptimized () const |
Returns true if storage has been optimized. | |
| ProfileType | getProfileType () const |
Returns true if the graph was allocated with static data structures. | |
| void | getGlobalRowCopy (GlobalOrdinal GlobalRow, const ArrayView< GlobalOrdinal > &Indices, size_t &NumIndices) const |
| Extract a list of elements in a specified global row of the graph. Put into pre-allocated storage. | |
| void | getLocalRowCopy (LocalOrdinal LocalRow, const ArrayView< LocalOrdinal > &indices, size_t &NumIndices) const |
| Extract a list of elements in a specified local row of the graph. Put into storage allocated by calling routine. | |
| void | getGlobalRowView (GlobalOrdinal GlobalRow, ArrayView< const GlobalOrdinal > &Indices) const |
| Extract a const, non-persisting view of global indices in a specified row of the graph. | |
| void | getLocalRowView (LocalOrdinal LocalRow, ArrayView< const LocalOrdinal > &indices) const |
| Extract a const, non-persisting view of local indices in a specified row of the graph. | |
Overridden from Teuchos::Describable | |
| std::string | description () const |
| Return a simple one-line description of this object. | |
| void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const |
| Print the object with some verbosity level to an FancyOStream object. | |
Methods implementing Tpetra::DistObject | |
| bool | checkSizes (const DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &source) |
| Compare the source and target (this) objects for compatibility. | |
| void | copyAndPermute (const DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &source, size_t numSameIDs, const ArrayView< const LocalOrdinal > &permuteToLIDs, const ArrayView< const LocalOrdinal > &permuteFromLIDs) |
| void | packAndPrepare (const DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &source, const ArrayView< const LocalOrdinal > &exportLIDs, Array< GlobalOrdinal > &exports, const ArrayView< size_t > &numPacketsPerLID, size_t &constantNumPackets, Distributor &distor) |
| void | unpackAndCombine (const ArrayView< const LocalOrdinal > &importLIDs, const ArrayView< const GlobalOrdinal > &imports, const ArrayView< size_t > &numPacketsPerLID, size_t constantNumPackets, Distributor &distor, CombineMode CM) |
Advanced methods, at increased risk of deprecation. | |
| ArrayRCP< const size_t > | getNodeRowPtrs () const |
| Get an ArrayRCP of the row-offsets. | |
| ArrayRCP< const LocalOrdinal > | getNodePackedIndices () const |
| Get an ArrayRCP of the packed column-indices. | |
Extraction Methods | |
| virtual void | getGlobalRowCopy (GlobalOrdinal GlobalRow, const Teuchos::ArrayView< GlobalOrdinal > &Indices, size_t &NumIndices) const =0 |
| Extract a list of entries in a specified global row of the graph. Put into pre-allocated storage. | |
| virtual void | getLocalRowCopy (LocalOrdinal LocalRow, const Teuchos::ArrayView< LocalOrdinal > &Indices, size_t &NumIndices) const =0 |
| Extract a list of entries in a specified local row of the graph. Put into storage allocated by calling routine. | |
Public methods for redistributing data | |
| void | doImport (const DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM) |
| Import using an Import object ("forward mode"). | |
| void | doImport (const DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM) |
| Import using an Export object ("reverse mode"). | |
| void | doExport (const DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &dest, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM) |
| Export using an Export object ("forward mode"). | |
| void | doExport (const DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &dest, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM) |
| Export using an Import object ("reverse mode"). | |
Attribute accessor methods | |
| bool | isDistributed () const |
| Whether this is a globally distributed object. | |
| const Teuchos::RCP< const Map < LocalOrdinal, GlobalOrdinal, Node > > & | getMap () const |
| The Map with which this DistObject was constructed. | |
I/O methods | |
| void | print (std::ostream &os) const |
| Print this object to the given output stream. | |
Protected Member Functions | |
| virtual void | doTransfer (const DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &source, CombineMode CM, size_t numSameIDs, const Teuchos::ArrayView< const LocalOrdinal > &permuteToLIDs, const Teuchos::ArrayView< const LocalOrdinal > &permuteFromLIDs, const Teuchos::ArrayView< const LocalOrdinal > &remoteLIDs, const Teuchos::ArrayView< const LocalOrdinal > &exportLIDs, Distributor &distor, ReverseOption revOp) |
| Redistribute data across memory images. | |
| virtual void | createViews () const |
| Hook for creating a const view. | |
| virtual void | createViewsNonConst (Kokkos::ReadWriteOption rwo) |
| Hook for creating a nonconst view. | |
| virtual void | releaseViews () const |
| Hook for releasing views. | |
Methods implemented by subclasses and used by \c doTransfer(). | |
The | |
| virtual void | copyAndPermute (const DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &source, size_t numSameIDs, const Teuchos::ArrayView< const LocalOrdinal > &permuteToLIDs, const Teuchos::ArrayView< const LocalOrdinal > &permuteFromLIDs)=0 |
| Perform copies and permutations that are local to this process. | |
| virtual void | packAndPrepare (const DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &source, const Teuchos::ArrayView< const LocalOrdinal > &exportLIDs, Teuchos::Array< GlobalOrdinal > &exports, const Teuchos::ArrayView< size_t > &numPacketsPerLID, size_t &constantNumPackets, Distributor &distor)=0 |
| Perform any packing or preparation required for communication. | |
| virtual void | unpackAndCombine (const Teuchos::ArrayView< const LocalOrdinal > &importLIDs, const Teuchos::ArrayView< const GlobalOrdinal > &imports, const Teuchos::ArrayView< size_t > &numPacketsPerLID, size_t constantNumPackets, Distributor &distor, CombineMode CM)=0 |
| Perform any unpacking and combining after communication. | |
Protected Attributes | |
| ArrayRCP< LocalOrdinal > | lclInds1D_ |
| ArrayRCP< GlobalOrdinal > | gblInds1D_ |
| gblInds1D_ are the indices for all rows | |
| ArrayRCP< ArrayRCP < LocalOrdinal > > | lclInds2D_ |
| ArrayRCP< ArrayRCP < GlobalOrdinal > > | gblInds2D_ |
gblInds2D_[r] are the indices for row r. | |
| ArrayRCP< size_t > | numRowEntries_ |
| The number valid entries in the row. | |
| bool | insertGlobalIndicesWarnedEfficiency_ |
| Whether this instance's insertGlobalIndices() method has triggered an efficiency warning yet. | |
| bool | insertLocalIndicesWarnedEfficiency_ |
| Whether this instance's insertLocalIndices() method has triggered an efficiency warning yet. | |
| Teuchos::RCP< const Map < LocalOrdinal, GlobalOrdinal, Node > > | map_ |
| The Map over which this object is distributed. | |
A graph accessed by rows and stored sparsely.
| LocalOrdinal | A ordinal type for lists of local indices. This specifies the LocalOrdinal type for Map objects used by this graph. |
| GlobalOrdinal | A ordinal type for lists of global indices. This specifies the GlobalOrdinal type for Map objects used by this graph. |
| Node | A shared-memory node class, fulfilling the Kokkos Node API |
| LocalMatOps | A local sparse matrix operations class, fulfiling the Kokkos CRS Ops API. |
This class allows the construction of sparse graphs with row-access.
Local vs. Global
Graph entries can be added using either local or global coordinates for the indices. The accessors isGloballyIndexed() and isLocallyIndexed() indicate whether the indices are currently stored as global or local indices. Many of the class methods are divided into global and local versions, which differ only in whether they accept/return indices in the global or local coordinate space. Some of these methods may only be used if the graph coordinates are in the appropriate coordinates. For example, getGlobalRowView() returns a View to the indices in global coordinates; if the indices are not in global coordinates, then no such View can be created.
The global/local distinction does distinguish between operation on the global/local graph. Almost all methods operate on the local graph, i.e., the rows of the graph associated with the local node, per the distribution specified by the row map. Access to non-local rows requires performing an explicit communication via the import/export capabilities of the CrsGraph object; see DistObject. However, the method insertGlobalIndices() is an exception to this rule, as non-local rows are allowed to be added via the local graph. These rows are stored in the local graph and communicated to the appropriate node on the next call to globalAssemble() or fillComplete() (the latter calls the former).
Definition at line 125 of file Tpetra_CrsGraph_decl.hpp.
| Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::CrsGraph | ( | const RCP< const map_type > & | rowMap, |
| size_t | maxNumEntriesPerRow, | ||
| ProfileType | pftype = DynamicProfile, |
||
| const RCP< ParameterList > & | params = null |
||
| ) |
Constructor specifying fixed number of entries for each row.
| rowMap | [in] Distribution of rows of the graph. |
| maxNumEntriesPerRow | [in] Maximum number of graph entries per row. If pftype==DynamicProfile, this is only a hint, and you can set this to zero without affecting correctness. If pftype==StaticProfile, this sets the amount of storage allocated, and you cannot exceed this number of entries in any row. |
| pftype | [in] Whether to allocate storage dynamically (DynamicProfile) or statically (StaticProfile). |
| params | [in/out] Optional list of parameters. If not null, any missing parameters will be filled in with their default values. |
| Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::CrsGraph | ( | const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & | rowMap, |
| const ArrayRCP< const size_t > & | NumEntriesPerRowToAlloc, | ||
| ProfileType | pftype = DynamicProfile, |
||
| const RCP< ParameterList > & | params = null |
||
| ) |
Constructor specifying (possibly different) number of entries in each row.
| rowMap | [in] Distribution of rows of the graph. |
| NumEntriesPerRowToAlloc | [in] Maximum number of graph entries to allocate for each row. If pftype==DynamicProfile, this is only a hint. If pftype==StaticProfile, this sets the amount of storage allocated, and you cannot exceed the allocated number of entries for any row. |
| pftype | [in] Whether to allocate storage dynamically (DynamicProfile) or statically (StaticProfile). |
| params | [in/out] Optional list of parameters. If not null, any missing parameters will be filled in with their default values. |
Definition at line 127 of file Tpetra_CrsGraph_def.hpp.
| Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::CrsGraph | ( | const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & | rowMap, |
| const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & | colMap, | ||
| size_t | maxNumEntriesPerRow, | ||
| ProfileType | pftype = DynamicProfile, |
||
| const RCP< ParameterList > & | params = null |
||
| ) |
Constructor specifying column Map and fixed number of entries for each row.
The column Map will be used to filter any graph indices inserted using insertLocalIndices() or insertGlobalIndices().
| rowMap | [in] Distribution of rows of the graph. |
| colMap | [in] Distribution of columns of the graph. |
| maxNumEntriesPerRow | [in] Maximum number of graph entries per row. If pftype==DynamicProfile, this is only a hint, and you can set this to zero without affecting correctness. If pftype==StaticProfile, this sets the amount of storage allocated, and you cannot exceed this number of entries in any row. |
| pftype | [in] Whether to allocate storage dynamically (DynamicProfile) or statically (StaticProfile). |
| params | [in/out] Optional list of parameters. If not null, any missing parameters will be filled in with their default values. |
Definition at line 95 of file Tpetra_CrsGraph_def.hpp.
| Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::CrsGraph | ( | const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & | rowMap, |
| const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & | colMap, | ||
| const ArrayRCP< const size_t > & | NumEntriesPerRowToAlloc, | ||
| ProfileType | pftype = DynamicProfile, |
||
| const RCP< ParameterList > & | params = null |
||
| ) |
Constructor specifying column Map and number of entries in each row.
The column Map will be used to filter any graph indices inserted using insertLocalIndices() or insertGlobalIndices().
| rowMap | [in] Distribution of rows of the graph. |
| colMap | [in] Distribution of columns of the graph. |
| NumEntriesPerRowToAlloc | [in] Maximum number of graph entries to allocate for each row. If pftype==DynamicProfile, this is only a hint. If pftype==StaticProfile, this sets the amount of storage allocated, and you cannot exceed the allocated number of entries for any row. |
| pftype | [in] Whether to allocate storage dynamically (DynamicProfile) or statically (StaticProfile). |
| params | [in/out] Optional list of parameters. If not null, any missing parameters will be filled in with their default values. |
Definition at line 164 of file Tpetra_CrsGraph_def.hpp.
| Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::~CrsGraph | ( | ) | [virtual] |
Destructor.
Definition at line 202 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::setParameterList | ( | const RCP< ParameterList > & | params | ) |
Set the given list of parameters (must be nonnull).
Definition at line 240 of file Tpetra_CrsGraph_def.hpp.
| RCP< const ParameterList > Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getValidParameters | ( | ) | const |
Default parameter list suitable for validation.
Definition at line 208 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::insertGlobalIndices | ( | GlobalOrdinal | globalRow, |
| const ArrayView< const GlobalOrdinal > & | indices | ||
| ) |
Insert graph indices, using global IDs.
All index values must be in the global space.
globalRow exists as an ID in the global row map isLocallyIndexed() == false isStorageOptimized() == falseindicesAreAllocated() == true isGloballyIndexed() == trueglobalRow does not belong to the graph on this node, then it will be communicated to the appropriate node when globalAssemble() is called (which will, at the latest, occur during the next call to fillComplete().) Otherwise, the entries will be inserted in the local graph. indices, then the redundant indices will be eliminated; this may happen at insertion or during the next call to fillComplete(). Definition at line 1613 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::insertLocalIndices | ( | LocalOrdinal | localRow, |
| const ArrayView< const LocalOrdinal > & | indices | ||
| ) |
Insert graph indices, using local IDs.
localRow is a local row belonging to the graph on this node isGloballyIndexed() == false isStorageOptimized() == false hasColMap() == trueindicesAreAllocated() == true isLocallyIndexed() == trueindices, then the redundant indices will be eliminated; this may happen at insertion or during the next call to fillComplete(). Definition at line 1560 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::removeLocalIndices | ( | LocalOrdinal | localRow | ) |
Remove all graph indices from the specified local row.
localRow is a local row of this graph. isGloballyIndexed() == false isStorageOptimized() == falsegetNumEntriesInLocalRow(localRow) == 0 indicesAreAllocated() == true isLocallyIndexed() == true Definition at line 1691 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::globalAssemble | ( | ) |
Communicate non-local contributions to other nodes.
Each of the methods in this group is a global collective. It is necessary to call these mehtods on all nodes participating in the communicator associated with this graph.
Definition at line 1719 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::resumeFill | ( | const RCP< ParameterList > & | params = null | ) |
Resume fill operations. After calling fillComplete(), resumeFill() must be called before initiating any changes to the graph.
resumeFill() may be called repeatedly.
isFillActive() == true isFillComplete() == false Definition at line 1968 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::fillComplete | ( | const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & | domainMap, |
| const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & | rangeMap, | ||
| const RCP< ParameterList > & | params = null |
||
| ) |
Signal that data entry is complete, specifying domain and range maps.
Off-node indices are distributed (via globalAssemble()), indices are sorted, redundant indices are eliminated, and global indices are transformed to local indices.
isFillActive() == true isFillComplete()() == false isFillActive() == false isFillComplete() == true if os == DoOptimizeStorage, then isStorageOptimized() == true. See isStorageOptimized() for consequences. Definition at line 2008 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::fillComplete | ( | const RCP< ParameterList > & | params = null | ) |
Signal that data entry is complete.
Off-node entries are distributed (via globalAssemble()), repeated entries are summed, and global indices are transformed to local indices.
isFillActive() == true isFillComplete()() == false isFillActive() == false isFillComplete() == true if os == DoOptimizeStorage, then isStorageOptimized() == true. See isStorageOptimized() for consequences. Definition at line 1999 of file Tpetra_CrsGraph_def.hpp.
| const RCP< const Comm< int > > & Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getComm | ( | ) | const [virtual] |
Returns the communicator.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 428 of file Tpetra_CrsGraph_def.hpp.
| RCP< Node > Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNode | ( | ) | const [virtual] |
Returns the underlying node.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 289 of file Tpetra_CrsGraph_def.hpp.
| const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getRowMap | ( | ) | const [virtual] |
Returns the Map that describes the row distribution in this graph.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 296 of file Tpetra_CrsGraph_def.hpp.
| const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getColMap | ( | ) | const [virtual] |
Returns the Map that describes the column distribution in this graph.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 303 of file Tpetra_CrsGraph_def.hpp.
| const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getDomainMap | ( | ) | const [virtual] |
Returns the Map associated with the domain of this graph.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 310 of file Tpetra_CrsGraph_def.hpp.
| const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getRangeMap | ( | ) | const [virtual] |
Returns the Map associated with the domain of this graph.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 317 of file Tpetra_CrsGraph_def.hpp.
| RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getImporter | ( | ) | const [virtual] |
Returns the importer associated with this graph.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 324 of file Tpetra_CrsGraph_def.hpp.
| RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getExporter | ( | ) | const [virtual] |
Returns the exporter associated with this graph.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 331 of file Tpetra_CrsGraph_def.hpp.
| global_size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getGlobalNumRows | ( | ) | const [virtual] |
Returns the number of global rows in the graph.
Undefined if isFillActive().
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 248 of file Tpetra_CrsGraph_def.hpp.
| global_size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getGlobalNumCols | ( | ) | const [virtual] |
Returns the number of global columns in the graph.
Returns the number of entries in the domain map of the matrix. Undefined if isFillActive().
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 254 of file Tpetra_CrsGraph_def.hpp.
| size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNodeNumRows | ( | ) | const [virtual] |
Returns the number of graph rows owned on the calling node.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 262 of file Tpetra_CrsGraph_def.hpp.
| size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNodeNumCols | ( | ) | const [virtual] |
Returns the number of columns connected to the locally owned rows of this graph.
Throws std::runtime_error if hasColMap() == false
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 268 of file Tpetra_CrsGraph_def.hpp.
| GlobalOrdinal Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getIndexBase | ( | ) | const [virtual] |
Returns the index base for global indices for this graph.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 434 of file Tpetra_CrsGraph_def.hpp.
| global_size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getGlobalNumEntries | ( | ) | const [virtual] |
Returns the global number of entries in the graph.
Undefined if isFillActive().
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 361 of file Tpetra_CrsGraph_def.hpp.
| size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNodeNumEntries | ( | ) | const [virtual] |
Returns the local number of entries in the graph.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 367 of file Tpetra_CrsGraph_def.hpp.
| size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNumEntriesInGlobalRow | ( | GlobalOrdinal | globalRow | ) | const [virtual] |
Returns the current number of entries on this node in the specified global row.
Returns OrdinalTraits<size_t>::invalid() if the specified global row does not belong to this graph.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 1364 of file Tpetra_CrsGraph_def.hpp.
| size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNumEntriesInLocalRow | ( | LocalOrdinal | localRow | ) | const [virtual] |
Returns the current number of entries on this node in the specified local row.
Returns OrdinalTraits<size_t>::invalid() if the specified local row is not valid for this graph.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 1380 of file Tpetra_CrsGraph_def.hpp.
| size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNodeAllocationSize | ( | ) | const |
Returns the total number of indices allocated for the graph, across all rows on this node.
This is the allocation available to the user. Actual allocation may be larger, for example, after calling fillComplete(), and thus this does not necessarily reflect the memory consumption of the this graph.
This quantity is computed during the actual allocation. Therefore, if indicesAreAllocated() == false, this method returns OrdinalTraits<size_t>::invalid().
Definition at line 421 of file Tpetra_CrsGraph_def.hpp.
| size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNumAllocatedEntriesInGlobalRow | ( | GlobalOrdinal | globalRow | ) | const |
Returns the current number of allocated entries for this node in the specified global row .
Throws exception std::runtime_error if the specified global row does not belong to this node.
Definition at line 1394 of file Tpetra_CrsGraph_def.hpp.
| size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNumAllocatedEntriesInLocalRow | ( | LocalOrdinal | localRow | ) | const |
Returns the current number of allocated entries on this node in the specified local row.
Throws exception std::runtime_error if the specified local row is not valid for this node.
Definition at line 1410 of file Tpetra_CrsGraph_def.hpp.
| global_size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getGlobalNumDiags | ( | ) | const [virtual] |
Returns the number of global diagonal entries, based on global row/column index comparisons.
Undefined if isFillActive().
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 282 of file Tpetra_CrsGraph_def.hpp.
| size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNodeNumDiags | ( | ) | const [virtual] |
Returns the number of local diagonal entries, based on global row/column index comparisons.
Undefined if isFillActive().
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 276 of file Tpetra_CrsGraph_def.hpp.
| global_size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getGlobalMaxNumRowEntries | ( | ) | const [virtual] |
Returns the maximum number of entries across all rows/columns on all nodes.
Undefined if isFillActive().
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 373 of file Tpetra_CrsGraph_def.hpp.
| size_t Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNodeMaxNumRowEntries | ( | ) | const [virtual] |
Returns the maximum number of entries across all rows/columns on this node.
Undefined if isFillActive().
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 379 of file Tpetra_CrsGraph_def.hpp.
| bool Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::hasColMap | ( | ) | const [virtual] |
Indicates whether the graph has a well-defined column map.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 337 of file Tpetra_CrsGraph_def.hpp.
| bool Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::isLowerTriangular | ( | ) | const [virtual] |
Indicates whether the graph is lower triangular.
Undefined if isFillActive().
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 403 of file Tpetra_CrsGraph_def.hpp.
| bool Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::isUpperTriangular | ( | ) | const [virtual] |
Indicates whether the graph is upper triangular.
Undefined if isFillActive().
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 397 of file Tpetra_CrsGraph_def.hpp.
| bool Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::isLocallyIndexed | ( | ) | const [virtual] |
If graph indices are in the local range, this function returns true. Otherwise, this function returns false. */.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 409 of file Tpetra_CrsGraph_def.hpp.
| bool Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::isGloballyIndexed | ( | ) | const [virtual] |
If graph indices are in the global range, this function returns true. Otherwise, this function returns false. */.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 415 of file Tpetra_CrsGraph_def.hpp.
| bool Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::isFillComplete | ( | ) | const [virtual] |
Returns true if fillComplete() has been called and the graph is in compute mode.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 385 of file Tpetra_CrsGraph_def.hpp.
| bool Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::isFillActive | ( | ) | const |
Returns true if resumeFill() has been called and the graph is in edit mode.
Definition at line 391 of file Tpetra_CrsGraph_def.hpp.
| bool Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::isSorted | ( | ) | const |
Indicates whether the graph indices in all rows are known to be sorted.
A fill-complete graph is always sorted, as is a newly constructed graph. A graph is sorted immediately after calling resumeFill(), but any changes to the graph may result in the sorting status becoming unknown (and therefore, presumed unsorted.)
Definition at line 458 of file Tpetra_CrsGraph_def.hpp.
| bool Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::isStorageOptimized | ( | ) | const |
Returns true if storage has been optimized.
Optimized storage means that the allocation of each row is equal to the number of entries. The effect is that a pass through the matrix, i.e., during a mat-vec, requires minimal memory traffic. One limitation of optimized storage is that no new indices can be added to the graph.
Definition at line 343 of file Tpetra_CrsGraph_def.hpp.
| ProfileType Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getProfileType | ( | ) | const |
Returns true if the graph was allocated with static data structures.
Definition at line 355 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getGlobalRowCopy | ( | GlobalOrdinal | GlobalRow, |
| const ArrayView< GlobalOrdinal > & | Indices, | ||
| size_t & | NumIndices | ||
| ) | const |
Extract a list of elements in a specified global row of the graph. Put into pre-allocated storage.
| LocalRow | - (In) Global row number for which indices are desired. |
| Indices | - (Out) Global column indices corresponding to values. |
| NumIndices | - (Out) Number of indices. |
Note: A std::runtime_error exception is thrown indices is not large enough to hold the column indices associated with row GlobalRow. If GlobalRow does not belong to this node, then indices is unchanged and NumIndices is returned as OrdinalTraits<size_t>::invalid().
Definition at line 1483 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getLocalRowCopy | ( | LocalOrdinal | LocalRow, |
| const ArrayView< LocalOrdinal > & | indices, | ||
| size_t & | NumIndices | ||
| ) | const |
Extract a list of elements in a specified local row of the graph. Put into storage allocated by calling routine.
| LocalRow | - (In) Local row number for which indices are desired. |
| Indices | - (Out) Local column indices corresponding to values. |
| NumIndices | - (Out) Number of indices. |
Note: A std::runtime_error exception is thrown indices is not large enough to hold the column indices associated with row LocalRow. If LocalRow is not valid for this node, then indices is unchanged and NumIndices is returned as OrdinalTraits<size_t>::invalid().
isLocallyIndexed()==true or hasColMap() == true Definition at line 1442 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getGlobalRowView | ( | GlobalOrdinal | GlobalRow, |
| ArrayView< const GlobalOrdinal > & | Indices | ||
| ) | const |
Extract a const, non-persisting view of global indices in a specified row of the graph.
| GlobalRow | - (In) Global row number for which indices are desired. |
| Indices | - (Out) Global column indices corresponding to values. |
isLocallyIndexed() == false indices.size() == getNumEntriesInGlobalRow(GlobalRow)Note: If GlobalRow does not belong to this node, then indices is set to null.
Definition at line 1536 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getLocalRowView | ( | LocalOrdinal | LocalRow, |
| ArrayView< const LocalOrdinal > & | indices | ||
| ) | const |
Extract a const, non-persisting view of local indices in a specified row of the graph.
| LocalRow | - (In) Local row number for which indices are desired. |
| Indices | - (Out) Global column indices corresponding to values. |
isGloballyIndexed() == false indices.size() == getNumEntriesInLocalRow(LocalRow)Note: If LocalRow does not belong to this node, then indices is set to null.
Definition at line 1513 of file Tpetra_CrsGraph_def.hpp.
| std::string Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::description | ( | ) | const [virtual] |
Return a simple one-line description of this object.
Reimplemented from Tpetra::DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 2513 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::describe | ( | Teuchos::FancyOStream & | out, |
| const Teuchos::EVerbosityLevel | verbLevel = Teuchos::Describable::verbLevel_default |
||
| ) | const [virtual] |
Print the object with some verbosity level to an FancyOStream object.
Reimplemented from Tpetra::DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 2536 of file Tpetra_CrsGraph_def.hpp.
| bool Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::checkSizes | ( | const DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node > & | source | ) | [virtual] |
Compare the source and target (this) objects for compatibility.
Implements Tpetra::DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 2651 of file Tpetra_CrsGraph_def.hpp.
| ArrayRCP< const size_t > Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNodeRowPtrs | ( | ) | const |
Get an ArrayRCP of the row-offsets.
The returned buffer exists in host-memory. This method may return Teuchos::null if "Delete Row Pointers" was true on fillComplete().
Definition at line 1424 of file Tpetra_CrsGraph_def.hpp.
| ArrayRCP< const LocalOrdinal > Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNodePackedIndices | ( | ) | const |
Get an ArrayRCP of the packed column-indices.
The returned buffer exists in host-memory.
Definition at line 1433 of file Tpetra_CrsGraph_def.hpp.
| virtual void Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getGlobalRowCopy | ( | GlobalOrdinal | GlobalRow, |
| const Teuchos::ArrayView< GlobalOrdinal > & | Indices, | ||
| size_t & | NumIndices | ||
| ) | const [pure virtual, inherited] |
Extract a list of entries in a specified global row of the graph. Put into pre-allocated storage.
| LocalRow | - (In) Global row number for which indices are desired. |
| Indices | - (Out) Global column indices corresponding to values. |
| NumIndices | - (Out) Number of indices. |
Note: A std::runtime_error exception is thrown if Indices is not large enough to hold the column indices associated with row GlobalRow. If GlobalRow does not belong to this node, then Indices is unchanged and NumIndices is returned as Teuchos::OrdinalTraits<size_t>::invalid().
| virtual void Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getLocalRowCopy | ( | LocalOrdinal | LocalRow, |
| const Teuchos::ArrayView< LocalOrdinal > & | Indices, | ||
| size_t & | NumIndices | ||
| ) | const [pure virtual, inherited] |
Extract a list of entries in a specified local row of the graph. Put into storage allocated by calling routine.
| LocalRow | - (In) Local row number for which indices are desired. |
| Indices | - (Out) Local column indices corresponding to values. |
| NumIndices | - (Out) Number of indices. |
Note: A std::runtime_error exception is thrown if Indices is not large enough to hold the column indices associated with row LocalRow. If LocalRow is not valid for this node, then Indices is unchanged and NumIndices is returned as Teuchos::OrdinalTraits<size_t>::invalid().
| void Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::doImport | ( | const DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node > & | source, |
| const Import< LocalOrdinal, GlobalOrdinal, Node > & | importer, | ||
| CombineMode | CM | ||
| ) | [inherited] |
Import using an Import object ("forward mode").
| void Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::doImport | ( | const DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node > & | source, |
| const Export< LocalOrdinal, GlobalOrdinal, Node > & | exporter, | ||
| CombineMode | CM | ||
| ) | [inherited] |
Import using an Export object ("reverse mode").
| void Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::doExport | ( | const DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node > & | dest, |
| const Export< LocalOrdinal, GlobalOrdinal, Node > & | exporter, | ||
| CombineMode | CM | ||
| ) | [inherited] |
Export using an Export object ("forward mode").
| void Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::doExport | ( | const DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node > & | dest, |
| const Import< LocalOrdinal, GlobalOrdinal, Node > & | importer, | ||
| CombineMode | CM | ||
| ) | [inherited] |
Export using an Import object ("reverse mode").
| bool Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::isDistributed | ( | ) | const [inline, inherited] |
Whether this is a globally distributed object.
For a definition of "globally distributed" (and its opposite, "locally replicated"), see the documentation of Map's isDistributed() method.
| const Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >& Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::getMap | ( | ) | const [inline, inherited] |
The Map with which this DistObject was constructed.
Definition at line 172 of file Tpetra_DistObject.hpp.
| void Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::print | ( | std::ostream & | os | ) | const [inherited] |
Print this object to the given output stream.
We generally assume that all MPI processes can print to the given stream.
| virtual void Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::doTransfer | ( | const DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node > & | source, |
| CombineMode | CM, | ||
| size_t | numSameIDs, | ||
| const Teuchos::ArrayView< const LocalOrdinal > & | permuteToLIDs, | ||
| const Teuchos::ArrayView< const LocalOrdinal > & | permuteFromLIDs, | ||
| const Teuchos::ArrayView< const LocalOrdinal > & | remoteLIDs, | ||
| const Teuchos::ArrayView< const LocalOrdinal > & | exportLIDs, | ||
| Distributor & | distor, | ||
| ReverseOption | revOp | ||
| ) | [protected, virtual, inherited] |
Redistribute data across memory images.
| source | [in] The source object, to redistribute into the destination object, which is *this object. |
| CM | [in] The combine mode that describes how to combine values that map to the same global ID on the same process. |
| permuteToLIDs | [in] See copyAndPermute(). |
| permuteFromLIDs | [in] See copyAndPermute(). |
| remoteLIDs | [in] List of entries (as local IDs) in the destination object to receive from other processes. |
| exportLIDs | [in] See packAndPrepare(). |
| distor | [in/out] The Distributor object that knows how to redistribute data. |
| revOp | [in] Whether to do a forward or reverse mode redistribution. |
| virtual void Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::copyAndPermute | ( | const DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node > & | source, |
| size_t | numSameIDs, | ||
| const Teuchos::ArrayView< const LocalOrdinal > & | permuteToLIDs, | ||
| const Teuchos::ArrayView< const LocalOrdinal > & | permuteFromLIDs | ||
| ) | [protected, pure virtual, inherited] |
Perform copies and permutations that are local to this process.
| source | [in] On entry, the source object, from which we are distributing. We distribute to the destination object, which is *this object. |
| numSameIDs | [in] The umber of elements that are the same on the source and destination (this) objects. These elements are owned by the same process in both the source and destination objects. No permutation occurs. |
| numPermuteIDs | [in] The number of elements that are locally permuted between the source and destination objects. |
| permuteToLIDs | [in] List of the elements that are permuted. They are listed by their LID in the destination object. |
| permuteFromLIDs | [in] List of the elements that are permuted. They are listed by their LID in the source object. |
| virtual void Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::packAndPrepare | ( | const DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node > & | source, |
| const Teuchos::ArrayView< const LocalOrdinal > & | exportLIDs, | ||
| Teuchos::Array< GlobalOrdinal > & | exports, | ||
| const Teuchos::ArrayView< size_t > & | numPacketsPerLID, | ||
| size_t & | constantNumPackets, | ||
| Distributor & | distor | ||
| ) | [protected, pure virtual, inherited] |
Perform any packing or preparation required for communication.
| source | [in] Source object for the redistribution. |
| exportLIDs | [in] List of the entries (as local IDs in the source object) we will be sending to other images. |
| exports | [out] On exit, the buffer for data to send. |
| numPacketsPerLID | [out] On exit, numPacketsPerLID[i] contains the number of packets to be exported for exportLIDs[i]. If constantNumPackets is nonzero, you should use that instead, and not rely on numPacketsPerLID[i] being filled. |
| constantNumPackets | [out] On exit, 0 if numPacketsPerLID has variable contents (different size for each LID). If nonzero, then it is expected that num-packets-per-LID is constant, and constantNumPackets holds that value. |
| distor | [in] The Distributor object we are using. |
| virtual void Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::unpackAndCombine | ( | const Teuchos::ArrayView< const LocalOrdinal > & | importLIDs, |
| const Teuchos::ArrayView< const GlobalOrdinal > & | imports, | ||
| const Teuchos::ArrayView< size_t > & | numPacketsPerLID, | ||
| size_t | constantNumPackets, | ||
| Distributor & | distor, | ||
| CombineMode | CM | ||
| ) | [protected, pure virtual, inherited] |
Perform any unpacking and combining after communication.
| importLIDs | [in] List of the entries (as LIDs in the destination object) we received from other images. |
| imports | [in] Buffer containing data we received. |
| numPacketsPerLID | [in] numPacketsPerLID[i] contains the number of packets imported for importLIDs[i]. |
| constantNumPackets | [in] If nonzero, then numPacketsPerLID is constant (same value in all entries) and constantNumPackets is that value. If zero, use numPacketsPerLID[i] instead. |
| distor | [in] The Distributor object we are using. |
| CM | [in] The combine mode to use when combining the imported entries with existing entries. |
| virtual void Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::createViews | ( | ) | const [inline, protected, virtual, inherited] |
Hook for creating a const view.
doTransfer() calls this on the source object. By default, it does nothing, but the source object can use this as a hint to fetch data from a compute buffer on an off-CPU device (such as a GPU) into host memory.
Definition at line 358 of file Tpetra_DistObject.hpp.
| virtual void Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::createViewsNonConst | ( | Kokkos::ReadWriteOption | rwo | ) | [inline, protected, virtual, inherited] |
Hook for creating a nonconst view.
doTransfer() calls this on the destination (*this) object. By default, it does nothing, but the destination object can use this as a hint to fetch data from a compute buffer on an off-CPU device (such as a GPU) into host memory.
| rwo | [in] Whether to create a write-only or a read-and-write view. For Kokkos Node types where compute buffers live in a separate memory space (e.g., in the device memory of a discrete accelerator like a GPU), a write-only view only requires copying from host memory to the compute buffer, whereas a read-and-write view requires copying both ways (once to read, from the compute buffer to host memory, and once to write, back to the compute buffer). |
Definition at line 375 of file Tpetra_DistObject.hpp.
| virtual void Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::releaseViews | ( | ) | const [inline, protected, virtual, inherited] |
Hook for releasing views.
doTransfer() calls this on both the source and destination objects, once it no longer needs to access that object's data. By default, this method does nothing. Implementations may use this as a hint to free host memory which is a view of a compute buffer, once the host memory view is no longer needed. Some implementations may prefer to mirror compute buffers in host memory; for these implementations, releaseViews() may do nothing.
Definition at line 387 of file Tpetra_DistObject.hpp.
ArrayRCP< LocalOrdinal> Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::lclInds1D_ [protected] |
lclInds1D_ are the indices for all rows
Definition at line 737 of file Tpetra_CrsGraph_decl.hpp.
ArrayRCP<GlobalOrdinal> Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::gblInds1D_ [protected] |
gblInds1D_ are the indices for all rows
Definition at line 739 of file Tpetra_CrsGraph_decl.hpp.
ArrayRCP<ArrayRCP< LocalOrdinal> > Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::lclInds2D_ [protected] |
lclInds2D_[r] are the indices for row r.
Definition at line 753 of file Tpetra_CrsGraph_decl.hpp.
ArrayRCP<ArrayRCP<GlobalOrdinal> > Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::gblInds2D_ [protected] |
gblInds2D_[r] are the indices for row r.
Definition at line 755 of file Tpetra_CrsGraph_decl.hpp.
ArrayRCP<size_t> Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::numRowEntries_ [protected] |
The number valid entries in the row.
Definition at line 759 of file Tpetra_CrsGraph_decl.hpp.
bool Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::insertGlobalIndicesWarnedEfficiency_ [protected] |
Whether this instance's insertGlobalIndices() method has triggered an efficiency warning yet.
Definition at line 788 of file Tpetra_CrsGraph_decl.hpp.
bool Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::insertLocalIndicesWarnedEfficiency_ [protected] |
Whether this instance's insertLocalIndices() method has triggered an efficiency warning yet.
Definition at line 790 of file Tpetra_CrsGraph_decl.hpp.
Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> > Tpetra::DistObject< GlobalOrdinal , LocalOrdinal, GlobalOrdinal, Node >::map_ [protected, inherited] |
The Map over which this object is distributed.
Definition at line 390 of file Tpetra_DistObject.hpp.
1.7.6.1