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

Factory for creating an instance of the right NodeTsqr subclass. More...

#include <Tsqr_NodeTsqrFactory.hpp>

List of all members.

Public Types

typedef Node node_type
 The Kokkos Node type.
typedef SequentialTsqr
< LocalOrdinal, Scalar > 
node_tsqr_type
 The NodeTsqr subclass corresponding to the Kokkos Node type.

Static Public Member Functions

static Teuchos::RCP< const
Teuchos::ParameterList
getDefaultParameters ()
 Default parameter list for intranode TSQR.
static Teuchos::RCP
< node_tsqr_type
makeNodeTsqr (const Teuchos::RCP< node_type > &node, const Teuchos::RCP< Teuchos::ParameterList > &plist)
 Return a pointer to the intranode TSQR implementation.
static void prepareNodeTsqr (const Teuchos::RCP< node_tsqr_type > &nodeTsqr, const Teuchos::RCP< node_type > &node)
 Prepare the NodeTsqr instance for use by setting its Kokkos Node instance.

Detailed Description

template<class Node, class Scalar, class LocalOrdinal>
class TSQR::NodeTsqrFactory< Node, Scalar, LocalOrdinal >

Factory for creating an instance of the right NodeTsqr subclass.

Author:
Mark Hoemmen

This class maps from a particular Kokkos Node type, to the corresponding NodeTsqr subclass. It lets you construct a default parameter list for that NodeTsqr subclass, as well as an instance of the NodeTsqr subclass. It also provides typedefs for template metaprogramming.

Definition at line 80 of file Tsqr_NodeTsqrFactory.hpp.


Member Typedef Documentation

template<class Node , class Scalar , class LocalOrdinal >
TSQR::NodeTsqrFactory< Node, Scalar, LocalOrdinal >::node_type

The Kokkos Node type.

Definition at line 84 of file Tsqr_NodeTsqrFactory.hpp.

template<class Node , class Scalar , class LocalOrdinal >
TSQR::NodeTsqrFactory< Node, Scalar, LocalOrdinal >::node_tsqr_type

The NodeTsqr subclass corresponding to the Kokkos Node type.

Definition at line 89 of file Tsqr_NodeTsqrFactory.hpp.


Member Function Documentation

template<class Node , class Scalar , class LocalOrdinal >
static Teuchos::RCP<const Teuchos::ParameterList> TSQR::NodeTsqrFactory< Node, Scalar, LocalOrdinal >::getDefaultParameters ( ) [inline, static]

Default parameter list for intranode TSQR.

Note:
The default implementation returns an empty (not null) parameter list. Each specialization for a specific Node type redefines this method to return a parameter list appropriate for that Node type's TSQR implementation.

Definition at line 98 of file Tsqr_NodeTsqrFactory.hpp.

template<class Node , class Scalar , class LocalOrdinal >
static Teuchos::RCP<node_tsqr_type> TSQR::NodeTsqrFactory< Node, Scalar, LocalOrdinal >::makeNodeTsqr ( const Teuchos::RCP< node_type > &  node,
const Teuchos::RCP< Teuchos::ParameterList > &  plist 
) [inline, static]

Return a pointer to the intranode TSQR implementation.

Parameters:
node[in/out] Pointer to the Kokkos Node instance.
plist[in/out] Parameter list for configuring the NodeTsqr implementation.

Definition at line 110 of file Tsqr_NodeTsqrFactory.hpp.

template<class Node , class Scalar , class LocalOrdinal >
static void TSQR::NodeTsqrFactory< Node, Scalar, LocalOrdinal >::prepareNodeTsqr ( const Teuchos::RCP< node_tsqr_type > &  nodeTsqr,
const Teuchos::RCP< node_type > &  node 
) [inline, static]

Prepare the NodeTsqr instance for use by setting its Kokkos Node instance.

Some NodeTsqr subclasses can't compute anything until they have a pointer to a Kokkos Node instance. Call this method before invoking any computational methods of the NodeTsqr subclass instance.

Precondition: ! nodeTsqr.is_null() && ! node.is_null().

Postcondition: nodeTsqr->ready() == true.

Definition at line 133 of file Tsqr_NodeTsqrFactory.hpp.


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