|
| OverlappingPartitioner (const Teuchos::RCP< const row_graph_type > &graph) |
| Constructor. More...
|
|
virtual | ~OverlappingPartitioner () |
| Destructor. More...
|
|
int | numLocalParts () const |
| Number of computed local partitions. More...
|
|
int | overlappingLevel () const |
| The number of levels of overlap. More...
|
|
local_ordinal_type | operator() (const local_ordinal_type MyRow) const |
| Local index of the nonoverlapping partition of the given row. More...
|
|
local_ordinal_type | operator() (const local_ordinal_type i, const local_ordinal_type j) const |
| Local index of the overlapping partition of the j-th vertex in partition i. More...
|
|
size_t | numRowsInPart (const local_ordinal_type Part) const |
| the number of rows contained in the given partition. More...
|
|
void | rowsInPart (const local_ordinal_type Part, Teuchos::ArrayRCP< local_ordinal_type > &List) const |
| Fill List with the local indices of the rows in the (overlapping) partition Part . More...
|
|
virtual Teuchos::ArrayView< const local_ordinal_type > | nonOverlappingPartition () const |
| A view of the local indices of the nonoverlapping partitions of each local row. More...
|
|
virtual void | setParameters (Teuchos::ParameterList &List) |
| Set all the parameters for the partitioner. More...
|
|
virtual void | setPartitionParameters (Teuchos::ParameterList &List)=0 |
| Set all the parameters for the partitioner. More...
|
|
virtual void | compute () |
| Computes the partitions. Returns 0 if successful. More...
|
|
virtual void | computePartitions ()=0 |
| Computes the partitions. Returns 0 if successful. More...
|
|
virtual void | computeOverlappingPartitions () |
| Computes the partitions. Returns 0 if successful. More...
|
|
virtual bool | isComputed () const |
| Returns true if partitions have been computed successfully. More...
|
|
virtual std::ostream & | print (std::ostream &os) const |
| Prints basic information on iostream. This function is used by operator<<. More...
|
|
|
std::string | description () const |
| Return a simple one-line description of this object. More...
|
|
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. More...
|
|
virtual | ~Partitioner () |
| Destructor. More...
|
|
|
int | NumLocalParts_ |
| Number of local subgraphs. More...
|
|
Teuchos::Array< local_ordinal_type > | Partition_ |
| Mapping from local row to partition number. Partition_ [i] contains the local index of the nonoverlapping partition to which local row i belongs. If the application has explicitly defined Parts_ , then Partition_ is unused. More...
|
|
Teuchos::Array< Teuchos::ArrayRCP< local_ordinal_type > > | Parts_ |
| Mapping from partition to all local rows it contains. Parts_ [i][j] is the local index of the j-th row contained in the (overlapping) partition i. More...
|
|
Teuchos::RCP< const row_graph_type > | Graph_ |
| The graph to be partitioned. More...
|
|
int | OverlappingLevel_ |
| Level of overlap. More...
|
|
bool | IsComputed_ |
| If true , the graph has been successfully partitioned. More...
|
|
bool | verbose_ |
| If true , information are reported to stdout. More...
|
|
template<class GraphType>
class Ifpack2::OverlappingPartitioner< GraphType >
Create overlapping partitions of a local graph.
- Template Parameters
-
GraphType | Specialization of Tpetra::CrsGraph or Tpetra::RowGraph. |
This class enables the extension of nonoverlapping partitions to an arbitrary amount of constant overlap. "Overlap" here refers to the overlap among the local parts, and not the overlap among the processes.
For partitions with varying overlap, use UserPartitioner, which inherits from OverlappingPartitioner.
Supported parameters are:
- "partitioner: local parts" (
local_ordinal_type
): the number of local partitions. Default is one (one local partition, which means "do not partition locally").
- "partitioner: overlap" (int): the amount of overlap between partitions. Default is zero (no overlap).
This class implements common functionality for derived classes like LinearPartitioner. Graphs given as input to any derived class must contain no singletons. Usually, this means that the graph is the graph of a Tpetra::RowMatrix that has been filtered using SingletonFilter.