Zoltan2
Public Types | Public Member Functions | Static Public Member Functions
UserInputForTests Class Reference

A class that generates typical user input for testing. More...

#include <UserInputForTests.hpp>

List of all members.

Public Types

typedef Tpetra::CrsMatrix
< zscalar_t, zlno_t, zgno_t,
znode_t
tcrsMatrix_t
typedef Tpetra::CrsGraph
< zlno_t, zgno_t, znode_t
tcrsGraph_t
typedef Tpetra::Vector
< zscalar_t, zlno_t, zgno_t,
znode_t
tVector_t
typedef Tpetra::MultiVector
< zscalar_t, zlno_t, zgno_t,
znode_t
tMVector_t
typedef Xpetra::CrsMatrix
< zscalar_t, zlno_t, zgno_t,
znode_t
xcrsMatrix_t
typedef Xpetra::CrsGraph
< zlno_t, zgno_t, znode_t
xcrsGraph_t
typedef Xpetra::Vector
< zscalar_t, zlno_t, zgno_t,
znode_t
xVector_t
typedef Xpetra::MultiVector
< zscalar_t, zlno_t, zgno_t,
znode_t
xMVector_t
typedef Tpetra::Map< zlno_t,
zgno_t, znode_t
map_t
typedef Tpetra::Export< zlno_t,
zgno_t, znode_t
export_t
typedef Tpetra::Import< zlno_t,
zgno_t, znode_t
import_t
typedef
KokkosClassic::DefaultNode::DefaultNodeType 
default_znode_t

Public Member Functions

 UserInputForTests (string path, string testData, const RCP< const Comm< int > > &c, bool debugInfo=false, bool distributeInput=true)
 Constructor that reads in a matrix/graph from disk.
 UserInputForTests (int x, int y, int z, string matrixType, const RCP< const Comm< int > > &c, bool debugInfo=false, bool distributeInput=true)
 Constructor that generates an arbitrary sized sparse matrix.
RCP< tMVector_tgetUICoordinates ()
RCP< tMVector_tgetUIWeights ()
RCP< tMVector_tgetUIEdgeWeights ()
RCP< tcrsMatrix_tgetUITpetraCrsMatrix ()
RCP< tcrsGraph_tgetUITpetraCrsGraph ()
RCP< tVector_tgetUITpetraVector ()
RCP< tMVector_tgetUITpetraMultiVector (int nvec)
RCP< xcrsMatrix_tgetUIXpetraCrsMatrix ()
RCP< xcrsGraph_tgetUIXpetraCrsGraph ()
RCP< xVector_tgetUIXpetraVector ()
RCP< xMVector_tgetUIXpetraMultiVector (int nvec)

Static Public Member Functions

static void getUIRandomData (unsigned int seed, zlno_t length, zscalar_t min, zscalar_t max, ArrayView< ArrayRCP< zscalar_t > > data)
 Generate lists of random scalars.

Detailed Description

A class that generates typical user input for testing.

Given:

Retrieve the data in any of the following forms:

Retrieve any of the these with the same map but with random data:

Coordinates and/or weights will be retrieved if they are found. They are provided in a Tpetra::MultiVector.

Random data can also be generated.

Todo:

for very large files, each process reads in part of the file

Zoltan1 mtx and mtxp files

Definition at line 114 of file UserInputForTests.hpp.


Member Typedef Documentation

Definition at line 118 of file UserInputForTests.hpp.

typedef Tpetra::CrsGraph<zlno_t, zgno_t, znode_t> UserInputForTests::tcrsGraph_t

Definition at line 119 of file UserInputForTests.hpp.

Definition at line 120 of file UserInputForTests.hpp.

typedef Tpetra::MultiVector<zscalar_t, zlno_t, zgno_t, znode_t> UserInputForTests::tMVector_t

Definition at line 121 of file UserInputForTests.hpp.

Definition at line 123 of file UserInputForTests.hpp.

typedef Xpetra::CrsGraph<zlno_t, zgno_t, znode_t> UserInputForTests::xcrsGraph_t

Definition at line 124 of file UserInputForTests.hpp.

Definition at line 125 of file UserInputForTests.hpp.

typedef Xpetra::MultiVector<zscalar_t, zlno_t, zgno_t, znode_t> UserInputForTests::xMVector_t

Definition at line 126 of file UserInputForTests.hpp.

Definition at line 128 of file UserInputForTests.hpp.

typedef Tpetra::Export<zlno_t, zgno_t, znode_t> UserInputForTests::export_t

Definition at line 129 of file UserInputForTests.hpp.

typedef Tpetra::Import<zlno_t, zgno_t, znode_t> UserInputForTests::import_t

Definition at line 130 of file UserInputForTests.hpp.

typedef KokkosClassic::DefaultNode::DefaultNodeType UserInputForTests::default_znode_t

Definition at line 131 of file UserInputForTests.hpp.


Constructor & Destructor Documentation

UserInputForTests::UserInputForTests ( string  path,
string  testData,
const RCP< const Comm< int > > &  c,
bool  debugInfo = false,
bool  distributeInput = true 
)

Constructor that reads in a matrix/graph from disk.

Parameters:
pathis the path to the test data. In the case of Zoltan2 test data it is the path to the "data" directory. In the case of Zoltan1 test data, it is the path to the "test" directory.
testDatais the root name of the data file or files of interest.
cis the communicator for the processes that share the data.
debugInfoif true process zero will print out status.
distributeInputif true, initial data will be distributed across processes. Currently distributeInput=false is supported only for Zoltan input, not MatrixMarket files.

For example, if path is the path to the Zoltan1 test directory and testData is brack2_3, then we'll read in ch_brack2_3/brack2_3.graph and ch_brack2_3/brack2_3.coords.

Definition at line 260 of file UserInputForTests.hpp.

UserInputForTests::UserInputForTests ( int  x,
int  y,
int  z,
string  matrixType,
const RCP< const Comm< int > > &  c,
bool  debugInfo = false,
bool  distributeInput = true 
)

Constructor that generates an arbitrary sized sparse matrix.

Parameters:
xthe x dimension of the mesh that generates the matrix.
ythe y dimension of the mesh that generates the matrix.
zthe z dimension of the mesh that generates the matrix.
problemTypethe type of problem that will generate a sparse matrix from the mesh. If the problemType is empty we'll pick a default.
cis the communicator for the processes that share the data.
debugInfoif true process zero will print out status.

Problems can be "Laplace1D", "Laplace2D", "Star2D", "BigStar2D", "Laplace3D", "Brick3D" and "Identity". See Galeri::Xpetra::BuildProblem() for more information about problem types.

Definition at line 283 of file UserInputForTests.hpp.


Member Function Documentation

void UserInputForTests::getUIRandomData ( unsigned int  seed,
zlno_t  length,
zscalar_t  min,
zscalar_t  max,
ArrayView< ArrayRCP< zscalar_t > >  data 
) [static]

Generate lists of random scalars.

Definition at line 481 of file UserInputForTests.hpp.

RCP< UserInputForTests::tMVector_t > UserInputForTests::getUICoordinates ( )

Definition at line 317 of file UserInputForTests.hpp.

RCP< UserInputForTests::tMVector_t > UserInputForTests::getUIWeights ( )

Definition at line 324 of file UserInputForTests.hpp.

RCP< UserInputForTests::tMVector_t > UserInputForTests::getUIEdgeWeights ( )

Definition at line 329 of file UserInputForTests.hpp.

RCP< UserInputForTests::tcrsMatrix_t > UserInputForTests::getUITpetraCrsMatrix ( )

Definition at line 334 of file UserInputForTests.hpp.

RCP< UserInputForTests::tcrsGraph_t > UserInputForTests::getUITpetraCrsGraph ( )

Definition at line 341 of file UserInputForTests.hpp.

RCP< UserInputForTests::tVector_t > UserInputForTests::getUITpetraVector ( )

Definition at line 348 of file UserInputForTests.hpp.

RCP< UserInputForTests::tMVector_t > UserInputForTests::getUITpetraMultiVector ( int  nvec)

Definition at line 356 of file UserInputForTests.hpp.

RCP< UserInputForTests::xcrsMatrix_t > UserInputForTests::getUIXpetraCrsMatrix ( )

Definition at line 364 of file UserInputForTests.hpp.

RCP< UserInputForTests::xcrsGraph_t > UserInputForTests::getUIXpetraCrsGraph ( )

Definition at line 371 of file UserInputForTests.hpp.

RCP< UserInputForTests::xVector_t > UserInputForTests::getUIXpetraVector ( )

Definition at line 378 of file UserInputForTests.hpp.

RCP< UserInputForTests::xMVector_t > UserInputForTests::getUIXpetraMultiVector ( int  nvec)

Definition at line 386 of file UserInputForTests.hpp.


The documentation for this class was generated from the following file: