| 
    Belos Package Browser (Single Doxygen Collection)
    Development
    
   | 
 
OrthoManager benchmark. More...
#include <BelosOrthoManagerTest.hpp>
Static Public Member Functions | |
| static void | baseline (const Teuchos::RCP< const MV > &X, const int numCols, const int numBlocks, const int numTrials) | 
| Establish baseline run time for OrthoManager benchmark.  More... | |
| static void | benchmark (const Teuchos::RCP< OrthoManager< Scalar, MV > > &orthoMan, const std::string &orthoManName, const std::string &normalization, const Teuchos::RCP< const MV > &X, const int numCols, const int numBlocks, const int numTrials, const Teuchos::RCP< OutputManager< Scalar > > &outMan, std::ostream &resultStream, const bool displayResultsCompactly=false) | 
| Benchmark the given orthogonalization manager.  More... | |
Private Types | |
| typedef Scalar | scalar_type | 
| typedef Teuchos::ScalarTraits < Scalar >::magnitudeType  | magnitude_type | 
| typedef MultiVecTraits< Scalar,  MV >  | MVT | 
| typedef  Teuchos::SerialDenseMatrix < int, Scalar >  | mat_type | 
OrthoManager benchmark.
Definition at line 66 of file BelosOrthoManagerTest.hpp.
      
  | 
  private | 
Definition at line 68 of file BelosOrthoManagerTest.hpp.
      
  | 
  private | 
Definition at line 69 of file BelosOrthoManagerTest.hpp.
      
  | 
  private | 
Definition at line 70 of file BelosOrthoManagerTest.hpp.
      
  | 
  private | 
Definition at line 71 of file BelosOrthoManagerTest.hpp.
      
  | 
  inlinestatic | 
Establish baseline run time for OrthoManager benchmark.
Replacing a Belos OrthoManager or MatOrthoManager's projection and normalization operations with the same number of vector copies establishes a rough lower bound on run time, because orthogonalization generally requires that much data movement. This gives us a rough sense for how long the orthogonalization should take, so we can calibrate the number of trials needed for accurate timings.
Definition at line 84 of file BelosOrthoManagerTest.hpp.
      
  | 
  inlinestatic | 
Benchmark the given orthogonalization manager.
| orthoMan | [in(/out)] The orthogonalization manager to benchmark | 
| orthoManName | [in] Name of the orthogonalization manager (e.g., "TSQR", "ICGS", "DGKS") | 
| normalization | [in] Normalization scheme used by the orthogonalization manager (only applicable to the "Simple" orthogonalization) | 
| X | [in] "Prototype" multivector; not modified | 
| numCols | [in] Number of columns per block | 
| numBlocks | [in] Number of blocks | 
| numTrials | [in] Number of trials in the timing run | 
| outMan | [out] Output manager | 
| resultStream | [out] Output stream for printing benchmark results. If displayResultsCompactly is true, it will be written by all MPI rank(s), so on ranks other than 0, it should be set appropriately to a "black hole stream" that doesn't write anything. | 
| displayResultsCompactly | [in] If false, rely on TimeMonitor::summarize() to print results to resultStream (and ensure only MPI Rank 0 does so). If true, print results in a more compact format suitable for automatic parsing, using a CSV (Comma-Delimited Values) parser. In "compact" mode, two lines are printed, both of which are comma-delimited ASCII text. The first line begins with a "comment" character #; following that are column ("field") labels. The second line contains the actual data, again in ASCII comma-delimited format. | 
Definition at line 154 of file BelosOrthoManagerTest.hpp.
 1.8.5