|
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 Teuchos::RCP< const map_type > &rowMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &plist=Teuchos::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 Teuchos::RCP< Teuchos::ParameterList > &plist=Teuchos::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 Teuchos::RCP< Teuchos::ParameterList > &plist=Teuchos::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 Teuchos::RCP< Teuchos::ParameterList > &plist=Teuchos::null) | |
| Constructor specifying column Map and number of entries in each row. | |
| virtual | ~CrsGraph () |
| Destructor. | |
Implementation of Teuchos::ParameterListAcceptor | |
| void | setParameterList (const Teuchos::RCP< Teuchos::ParameterList > &plist) |
| Set the given list of parameters (must be nonnull). | |
| Teuchos::RCP< const Teuchos::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 () |
| void | fillComplete (const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, OptimizeOption os=DoOptimizeStorage) |
| Signal that data entry is complete, specifying domain and range maps. | |
| void | fillComplete (OptimizeOption os=DoOptimizeStorage) |
| 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) |
| Perform copies and permutations that are local to this process. | |
| 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) |
| Perform any packing or preparation required for communication. | |
| void | unpackAndCombine (const ArrayView< const LocalOrdinal > &importLIDs, const ArrayView< const GlobalOrdinal > &imports, const ArrayView< size_t > &numPacketsPerLID, size_t constantNumPackets, Distributor &distor, CombineMode CM) |
| Perform any unpacking and combining after communication. | |
Advanced methods, at increased risk of deprecation. | |
| ArrayRCP< const size_t > | getNodeRowBegs () const |
| Get an ArrayRCP of the row-offsets. | |
| ArrayRCP< const LocalOrdinal > | getNodePackedIndices () const |
| Get an ArrayRCP of the packed column-indices. | |
Deprecated methods; will be removed at some point in the near future. | |
| TPETRA_DEPRECATED void | optimizeStorage () |
| Re-allocate the data into contiguous storage. | |
| TPETRA_DEPRECATED ArrayRCP < const GlobalOrdinal > | getGlobalRowView (GlobalOrdinal GlobalRow) const |
| Deprecated. Get a persisting const view of the elements in a specified global row of the graph. | |
| TPETRA_DEPRECATED ArrayRCP < const LocalOrdinal > | getLocalRowView (LocalOrdinal LocalRow) const |
| Deprecated. Get a persisting const view of the elements in a specified local row of the graph. | |
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. | |
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 > | numEntriesPerRow_ |
| The number valid entries in the row. | |
| 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 insertGlobalValues() 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 127 of file Tpetra_CrsGraph_decl.hpp.
| Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::CrsGraph | ( | const Teuchos::RCP< const map_type > & | rowMap, |
| size_t | maxNumEntriesPerRow, | ||
| ProfileType | pftype = DynamicProfile, |
||
| const Teuchos::RCP< Teuchos::ParameterList > & | plist = Teuchos::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). |
| plist | [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 Teuchos::RCP< Teuchos::ParameterList > & | plist = Teuchos::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). |
| plist | [in/out] Optional list of parameters. If not null, any missing parameters will be filled in with their default values. |
Definition at line 130 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 Teuchos::RCP< Teuchos::ParameterList > & | plist = Teuchos::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). |
| plist | [in/out] Optional list of parameters. If not null, any missing parameters will be filled in with their default values. |
Definition at line 96 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 Teuchos::RCP< Teuchos::ParameterList > & | plist = Teuchos::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). |
| plist | [in/out] Optional list of parameters. If not null, any missing parameters will be filled in with their default values. |
Definition at line 173 of file Tpetra_CrsGraph_def.hpp.
| Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::~CrsGraph | ( | ) | [virtual] |
Destructor.
Definition at line 217 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::setParameterList | ( | const Teuchos::RCP< Teuchos::ParameterList > & | plist | ) | [virtual] |
Set the given list of parameters (must be nonnull).
Implements Teuchos::ParameterListAcceptor.
Definition at line 261 of file Tpetra_CrsGraph_def.hpp.
| Teuchos::RCP< const Teuchos::ParameterList > Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getValidParameters | ( | ) | const [virtual] |
Default parameter list suitable for validation.
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 223 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 1633 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 1592 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 1699 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 1727 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::resumeFill | ( | ) |
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 1975 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, | ||
| OptimizeOption | os = DoOptimizeStorage |
||
| ) |
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 2006 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::fillComplete | ( | OptimizeOption | os = DoOptimizeStorage | ) |
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 1997 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 479 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 319 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 327 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 335 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 343 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 351 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 359 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 367 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 272 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 279 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 288 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 295 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 485 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 401 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 408 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 1400 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 1416 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 471 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 1430 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 1446 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 311 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 304 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 415 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 422 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 374 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 450 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 443 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 457 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 464 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 429 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 436 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 509 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 381 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 394 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getGlobalRowCopy | ( | GlobalOrdinal | GlobalRow, |
| const ArrayView< GlobalOrdinal > & | Indices, | ||
| size_t & | NumIndices | ||
| ) | const [virtual] |
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().
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 1518 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getLocalRowCopy | ( | LocalOrdinal | LocalRow, |
| const ArrayView< LocalOrdinal > & | indices, | ||
| size_t & | NumIndices | ||
| ) | const [virtual] |
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 Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 1478 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 1569 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 1547 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 2556 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 2579 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 2692 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::copyAndPermute | ( | const DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node > & | source, |
| size_t | numSameIDs, | ||
| const ArrayView< const LocalOrdinal > & | permuteToLIDs, | ||
| const ArrayView< const LocalOrdinal > & | permuteFromLIDs | ||
| ) | [virtual] |
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. |
Implements Tpetra::DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 2701 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::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 | ||
| ) | [virtual] |
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. |
Implements Tpetra::DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 2752 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::unpackAndCombine | ( | const ArrayView< const LocalOrdinal > & | importLIDs, |
| const ArrayView< const GlobalOrdinal > & | imports, | ||
| const ArrayView< size_t > & | numPacketsPerLID, | ||
| size_t | constantNumPackets, | ||
| Distributor & | distor, | ||
| CombineMode | CM | ||
| ) | [virtual] |
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. |
Implements Tpetra::DistObject< GlobalOrdinal, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 2800 of file Tpetra_CrsGraph_def.hpp.
| ArrayRCP< const size_t > Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getNodeRowBegs | ( | ) | const |
Get an ArrayRCP of the row-offsets.
Returns null if optimizeStorage() hasn't been called. The returned buffer exists in host-memory.
Definition at line 1460 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.
Returns null if optimizeStorage() hasn't been called. The returned buffer exists in host-memory.
Definition at line 1469 of file Tpetra_CrsGraph_def.hpp.
| void Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::optimizeStorage | ( | ) |
Re-allocate the data into contiguous storage.
This method is deprecated and will be removed in a future version of Tpetra, as the implementation of storage optimization has been below Tpetra to Kokkos.
Currently, the implementation simply calls resumeFill() and then fillComplete(OptimizeStorage). As such, it is required to be called by all nodes that participate in the associated communicator.
Definition at line 2898 of file Tpetra_CrsGraph_def.hpp.
| ArrayRCP< const GlobalOrdinal > Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getGlobalRowView | ( | GlobalOrdinal | GlobalRow | ) | const [virtual] |
Deprecated. Get a persisting const view of the elements in a specified global row of the graph.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 2874 of file Tpetra_CrsGraph_def.hpp.
| ArrayRCP< const LocalOrdinal > Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::getLocalRowView | ( | LocalOrdinal | LocalRow | ) | const [virtual] |
Deprecated. Get a persisting const view of the elements in a specified local row of the graph.
Implements Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 2851 of file Tpetra_CrsGraph_def.hpp.
| 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 >::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 768 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 770 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 784 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 786 of file Tpetra_CrsGraph_decl.hpp.
ArrayRCP<size_t> Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::numEntriesPerRow_ [protected] |
The number valid entries in the row.
Definition at line 788 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.4