Belos Version of the Day
Static Public Member Functions
Belos::Test::OrthoManagerBenchmarker< Scalar, MV > Class Template Reference

OrthoManager benchmark. More...

#include <BelosOrthoManagerTest.hpp>

List of all members.

Static Public Member Functions

static void baseline (const Teuchos::RCP< const MV > &X, const int numCols, const int numBlocks, const int numTrials)
 Establish baseline for OrthoManager benchmark.
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.

Detailed Description

template<class Scalar, class MV>
class Belos::Test::OrthoManagerBenchmarker< Scalar, MV >

OrthoManager benchmark.

Author:
Mark Hoemmen

Definition at line 65 of file BelosOrthoManagerTest.hpp.


Member Function Documentation

template<class Scalar , class MV >
static void Belos::Test::OrthoManagerBenchmarker< Scalar, MV >::baseline ( const Teuchos::RCP< const MV > &  X,
const int  numCols,
const int  numBlocks,
const int  numTrials 
) [inline, static]

Establish baseline for OrthoManager benchmark.

Establish baseline for the orthogonalization manager benchmark, by replacing the projection and normalization operations with the same number of copies.

Definition at line 79 of file BelosOrthoManagerTest.hpp.

template<class Scalar , class MV >
static void Belos::Test::OrthoManagerBenchmarker< Scalar, MV >::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 
) [inline, static]

Benchmark the given orthogonalization manager.

Parameters:
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 152 of file BelosOrthoManagerTest.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines