Tpetra Matrix/Vector Services Version of the Day
Protected Attributes
Tpetra::SerialPlatform< Node > Class Template Reference

Implementation of the Platform concept for non-MPI platforms. More...

#include <Tpetra_SerialPlatform.hpp>

Inheritance diagram for Tpetra::SerialPlatform< Node >:
Inheritance graph
[legend]

List of all members.

Public Types

Typedefs
typedef Node NodeType
 Kokkos Node type; the template parameter of this class.

Public Member Functions

Constructors and destructor
 SerialPlatform (const RCP< Node > &node)
virtual ~SerialPlatform ()
 Destructor (virtual for memory safety of derived classes).
Methods to access the communicator and Kokkos Node.
RCP< const Comm< int > > getComm () const
 The Teuchos::Comm instance with which this object was created.
RCP< Node > getNode () const
 The Kokkos Node instance with which this object was created.

Protected Attributes

RCP< const Teuchos::SerialComm
< int > > 
comm_
 Teuchos::Comm object instantiated for the platform.
RCP< Node > node_
 Kokkos Node object instantiated for the platform.

Detailed Description

template<class Node>
class Tpetra::SerialPlatform< Node >

Implementation of the Platform concept for non-MPI platforms.

SerialPlatform specialization for KokkosClassic::DefaultNode::DefaultNodeType.

SerialPlatform is an implementation of Tpetra's Platform concept. Classes implementing the Platform concept are templated on the Kokkos Node type. They have at least the following public interface:

 // This is not a real class; it just illustrates the concept.
 template<class Node>
 class Platform {
 public:
   typedef Node NodeType;
   explicit Platform (const RCP<Node>& node);
   RCP<const Comm<int> > getComm() const;
   RCP<Node> getNode() const;
 };

SerialPlatform uses a "communicator" containing one process. It is available whether or not Trilinos was built with MPI (the Message-Passing Interface which provides a distributed-memory parallel programming model).

Warning:
KokkosClassic::DefaultNode::DefaultNodeType is a typedef, and may have a different type, depending on Trilinos' build options. For example, it may be KokkosClassic::SerialNode if Trilinos was built without a threading library, or KokkosClassic::TPINode if Trilinos was built with Pthreads.
Note:
In the past (up to and including the 10.8 Trilinos release), the specialization of SerialPlatform for the default Node type delayed instantiation of the default Node instance until getNode() was called. We have changed this behavior to simplify the code and make the specialization of SerialPlatform conform more closely to the generic version of SerialPlatform.

Definition at line 74 of file Tpetra_SerialPlatform.hpp.


Member Typedef Documentation

template<class Node>
typedef Node Tpetra::SerialPlatform< Node >::NodeType

Kokkos Node type; the template parameter of this class.

Definition at line 80 of file Tpetra_SerialPlatform.hpp.


Constructor & Destructor Documentation

template<class Node>
Tpetra::SerialPlatform< Node >::SerialPlatform ( const RCP< Node > &  node) [inline, explicit]

Constructor that accepts a Kokkos Node.

Parameters:
node[in/out] The Kokkos Node instance. If null, this class will create a Node with default parameters.

Definition at line 90 of file Tpetra_SerialPlatform.hpp.

template<class Node>
virtual Tpetra::SerialPlatform< Node >::~SerialPlatform ( ) [inline, virtual]

Destructor (virtual for memory safety of derived classes).

Definition at line 96 of file Tpetra_SerialPlatform.hpp.


Member Function Documentation

template<class Node>
RCP<const Comm<int> > Tpetra::SerialPlatform< Node >::getComm ( ) const [inline]

The Teuchos::Comm instance with which this object was created.

Definition at line 103 of file Tpetra_SerialPlatform.hpp.

template<class Node>
RCP<Node> Tpetra::SerialPlatform< Node >::getNode ( ) const [inline]

The Kokkos Node instance with which this object was created.

Definition at line 108 of file Tpetra_SerialPlatform.hpp.


Member Data Documentation

template<class Node>
RCP<const Teuchos::SerialComm<int> > Tpetra::SerialPlatform< Node >::comm_ [protected]

Teuchos::Comm object instantiated for the platform.

Definition at line 115 of file Tpetra_SerialPlatform.hpp.

template<class Node>
RCP<Node> Tpetra::SerialPlatform< Node >::node_ [protected]

Kokkos Node object instantiated for the platform.

Definition at line 117 of file Tpetra_SerialPlatform.hpp.


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