Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Namespaces | Functions
Tpetra_Details_makeOptimizedColMap.hpp File Reference

Optimize your graph's or matrix's column Map for better communication performance. More...

#include "Tpetra_Map.hpp"
#include "Tpetra_Import.hpp"
#include "Tpetra_Util.hpp"
#include "Tpetra_Details_Behavior.hpp"
#include "Teuchos_FancyOStream.hpp"
#include <memory>

Go to the source code of this file.

Classes

class  Tpetra::Details::OptColMap< MapType >
 Implementation detail of makeOptimizedColMap, and makeOptimizedColMapAndImport. More...
 

Namespaces

 Tpetra
 Namespace Tpetra contains the class and methods constituting the Tpetra library.
 
 Tpetra::Details
 Namespace for Tpetra implementation details.
 

Functions

template<class MapType >
Teuchos::RCP< const MapType > Tpetra::Details::makeOptimizedColMap (std::ostream &errStream, bool &lclErr, const MapType &domMap, const MapType &colMap, const Tpetra::Import< typename MapType::local_ordinal_type, typename MapType::global_ordinal_type, typename MapType::node_type > *oldImport=nullptr)
 Return an optimized reordering of the given column Map. More...
 
template<class MapType >
std::pair< Teuchos::RCP< const
MapType >, Teuchos::RCP
< typename OptColMap< MapType >
::import_type > > 
Tpetra::Details::makeOptimizedColMapAndImport (std::ostream &errStream, bool &lclErr, const MapType &domMap, const MapType &colMap, const typename OptColMap< MapType >::import_type *oldImport=nullptr)
 Return an optimized reordering of the given column Map. Optionally, recompute an Import from the input domain Map to the new column Map. More...
 

Detailed Description

Optimize your graph's or matrix's column Map for better communication performance.

Warning
Any function (indeed, anything) in the Tpetra::Details namespace comes with no guarantee of backwards compatibility. It may disappear or change at any time.

The functions in this file take a domain Map and a column Map of a distributed graph (Tpetra::CrsGraph) or matrix (e.g., Tpetra::CrsMatrix). They then create a new column Map, which optimizes the performance of an Import operation from the domain Map to the new column Map. The function makeOptimizedColMapAndImport also creates and returns that Import. Creating the new column Map and its Import at the same time saves some communication, since making the Import requires some of the same information that optimizing the column Map does.

Definition in file Tpetra_Details_makeOptimizedColMap.hpp.