Kokkos Node API and Local Linear Algebra Kernels Version of the Day
Public Member Functions | Public Attributes
TSQR::KokkosNodeTsqrFactorOutput< LocalOrdinal, Scalar > Class Template Reference

Part of KokkosNodeTsqr's implicit Q representation. More...

#include <Tsqr_KokkosNodeTsqr.hpp>

List of all members.

Public Member Functions

 KokkosNodeTsqrFactorOutput (const size_t theNumCacheBlocks, const int theNumPartitions)
 Constructor.
int numCacheBlocks () const
 Total number of cache blocks in the matrix (over all partitions).
int numPartitions () const
 Number of partitions of the matrix; max available parallelism.

Public Attributes

std::vector< std::vector
< Scalar > > 
firstPassTauArrays
 TAU arrays from the first pass; one per cache block.
std::vector< std::vector
< Scalar > > 
secondPassTauArrays
 TAU arrays from the second pass.
std::vector< MatView
< LocalOrdinal, Scalar > > 
topBlocks
 Views of the topmost cache blocks in each partition.

Detailed Description

template<class LocalOrdinal, class Scalar>
class TSQR::KokkosNodeTsqrFactorOutput< LocalOrdinal, Scalar >

Part of KokkosNodeTsqr's implicit Q representation.

Author:
Mark Hoemmen

The KokkoNodeTsqr::factor() method represents the Q factor of the matrix A implicitly. Part of that representation is in the A matrix on output, and the other part is returned as an object of this type. The apply() and explicit_Q() methods need both parts of the implicit Q representation in order to do their work.

Definition at line 1103 of file Tsqr_KokkosNodeTsqr.hpp.


Constructor & Destructor Documentation

template<class LocalOrdinal , class Scalar >
TSQR::KokkosNodeTsqrFactorOutput< LocalOrdinal, Scalar >::KokkosNodeTsqrFactorOutput ( const size_t  theNumCacheBlocks,
const int  theNumPartitions 
) [inline]

Constructor.

Parameters:
theNumCacheBlocks[in] Total number of cache blocks (over all partitions).
theNumPartitions[in] Number of partitions. This is an int because partition indices are ints, and the latter are ints because they end up as range arguments to Kokkos' parallel_for.

Definition at line 1112 of file Tsqr_KokkosNodeTsqr.hpp.


Member Function Documentation

template<class LocalOrdinal , class Scalar >
int TSQR::KokkosNodeTsqrFactorOutput< LocalOrdinal, Scalar >::numCacheBlocks ( ) const [inline]

Total number of cache blocks in the matrix (over all partitions).

Definition at line 1130 of file Tsqr_KokkosNodeTsqr.hpp.

template<class LocalOrdinal , class Scalar >
int TSQR::KokkosNodeTsqrFactorOutput< LocalOrdinal, Scalar >::numPartitions ( ) const [inline]

Number of partitions of the matrix; max available parallelism.

Definition at line 1133 of file Tsqr_KokkosNodeTsqr.hpp.


Member Data Documentation

template<class LocalOrdinal , class Scalar >
std::vector<std::vector<Scalar> > TSQR::KokkosNodeTsqrFactorOutput< LocalOrdinal, Scalar >::firstPassTauArrays

TAU arrays from the first pass; one per cache block.

Definition at line 1136 of file Tsqr_KokkosNodeTsqr.hpp.

template<class LocalOrdinal , class Scalar >
std::vector<std::vector<Scalar> > TSQR::KokkosNodeTsqrFactorOutput< LocalOrdinal, Scalar >::secondPassTauArrays

TAU arrays from the second pass.

There is one TAU array per partition, except for the topmost partition.

For now, KokkosNodeTsqr::factor() uses only two passes over the matrix. firstPassTauArrays contains the result of the pass over cache blocks, and secondPassTauArrays contains the result of combining the upper triangular R factors from the first pass. Later, we may add more passes, in which case we will likely combine firstPassTauArrays and secondPassTauArrays into a single std::vector (variable number of passes) or Teuchos::Tuple (fixed number of passes).

Definition at line 1151 of file Tsqr_KokkosNodeTsqr.hpp.

template<class LocalOrdinal , class Scalar >
std::vector<MatView<LocalOrdinal, Scalar> > TSQR::KokkosNodeTsqrFactorOutput< LocalOrdinal, Scalar >::topBlocks

Views of the topmost cache blocks in each partition.

One entry for each partition.

Definition at line 1156 of file Tsqr_KokkosNodeTsqr.hpp.


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