Kokkos Node API and Local Linear Algebra Kernels Version of the Day
Public Member Functions
TSQR::Test::DistTsqrBenchmarker< Ordinal, Scalar, TimerType > Class Template Reference

Generic version of DistTsqr performance test. More...

#include <Tsqr_ParTest.hpp>

List of all members.

Public Member Functions

 DistTsqrBenchmarker (const Teuchos::RCP< MessengerBase< Scalar > > &scalarComm, const Teuchos::RCP< MessengerBase< double > > &doubleComm, const std::vector< int > &seed, const std::string &scalarTypeName, std::ostream &out, std::ostream &err, const bool testFactorExplicit, const bool testFactorImplicit, const bool humanReadable, const bool debug)
 Constructor, with custom seed value.
 DistTsqrBenchmarker (const Teuchos::RCP< MessengerBase< Scalar > > &scalarComm, const Teuchos::RCP< MessengerBase< double > > &doubleComm, const std::string &scalarTypeName, std::ostream &out, std::ostream &err, const bool testFactorExplicit, const bool testFactorImplicit, const bool humanReadable, const bool debug)
 Constructor, with default seed value.
void getSeed (std::vector< int > &seed) const
 Get seed vector for pseudorandom number generator.
void benchmark (const int numTrials, const Ordinal numCols, const std::string &additionalFieldNames, const std::string &additionalData, const bool printFieldNames)
 Run the DistTsqr benchmark.

Detailed Description

template<class Ordinal, class Scalar, class TimerType>
class TSQR::Test::DistTsqrBenchmarker< Ordinal, Scalar, TimerType >

Generic version of DistTsqr performance test.

Definition at line 411 of file Tsqr_ParTest.hpp.


Constructor & Destructor Documentation

template<class Ordinal , class Scalar , class TimerType >
TSQR::Test::DistTsqrBenchmarker< Ordinal, Scalar, TimerType >::DistTsqrBenchmarker ( const Teuchos::RCP< MessengerBase< Scalar > > &  scalarComm,
const Teuchos::RCP< MessengerBase< double > > &  doubleComm,
const std::vector< int > &  seed,
const std::string &  scalarTypeName,
std::ostream &  out,
std::ostream &  err,
const bool  testFactorExplicit,
const bool  testFactorImplicit,
const bool  humanReadable,
const bool  debug 
) [inline]

Constructor, with custom seed value.

Parameters:
scalarComm[in/out] Communicator object over which to test.
doubleComm[in/out] Communicator object for doubles, used for finding the min and max of timing results over all the MPI processes.
seed[in] 4-element vector; the random seed input of TSQR::Random::NormalGenerator (which see, since there are restrictions on the set of valid seeds)
scalarTypeName[in] Human-readable name of the Scalar template type parameter
out[out] Output stream to which to write results
err[out] Output stream to which to write any debugging outputs (if applicable) or errors
testFactorExplicit[in] Whether to test DistTsqr::factorExplicit()
testFactorImplicit[in] Whether to test DistTsqr::factor() and DistTsqr::explicit_Q()
humanReadable[in] Whether printed results should be easy for humans to read (vs. easy for parsers to parse)
debug[in] Whether to write verbose debug output to err

Definition at line 451 of file Tsqr_ParTest.hpp.

template<class Ordinal , class Scalar , class TimerType >
TSQR::Test::DistTsqrBenchmarker< Ordinal, Scalar, TimerType >::DistTsqrBenchmarker ( const Teuchos::RCP< MessengerBase< Scalar > > &  scalarComm,
const Teuchos::RCP< MessengerBase< double > > &  doubleComm,
const std::string &  scalarTypeName,
std::ostream &  out,
std::ostream &  err,
const bool  testFactorExplicit,
const bool  testFactorImplicit,
const bool  humanReadable,
const bool  debug 
) [inline]

Constructor, with default seed value.

This constructor sets a default seed (for the pseudorandom number generator), which is the same seed (0,0,0,1) each time.

Parameters:
scalarComm[in/out] Communicator object over which to test.
doubleComm[in/out] Communicator object for doubles, used for finding the min and max of timing results over all the MPI processes.
scalarTypeName[in] Human-readable name of the Scalar template type parameter
out[out] Output stream to which to write results
err[out] Output stream to which to write any debugging outputs (if applicable) or errors
testFactorExplicit[in] Whether to test DistTsqr::factorExplicit()
testFactorImplicit[in] Whether to test DistTsqr::factor() and DistTsqr::explicit_Q()
humanReadable[in] Whether printed results should be easy for humans to read (vs. easy for parsers to parse)
debug[in] Whether to write verbose debug output to err

Definition at line 497 of file Tsqr_ParTest.hpp.


Member Function Documentation

template<class Ordinal , class Scalar , class TimerType >
void TSQR::Test::DistTsqrBenchmarker< Ordinal, Scalar, TimerType >::getSeed ( std::vector< int > &  seed) const [inline]

Get seed vector for pseudorandom number generator.

Fill seed (changing size of vector as necessary) with the seed vector used by the pseudorandom number generator. You can use this to resume the pseudorandom number stream from where you last were.

Definition at line 524 of file Tsqr_ParTest.hpp.

template<class Ordinal , class Scalar , class TimerType >
void TSQR::Test::DistTsqrBenchmarker< Ordinal, Scalar, TimerType >::benchmark ( const int  numTrials,
const Ordinal  numCols,
const std::string &  additionalFieldNames,
const std::string &  additionalData,
const bool  printFieldNames 
) [inline]

Run the DistTsqr benchmark.

Parameters:
numTrials[in] Number of times to repeat the computation in a single timing run
numCols[in] Number of columns in the matrix to test. Number of rows := (# MPI processors) * ncols

Definition at line 536 of file Tsqr_ParTest.hpp.


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