Xpetra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Kokkos_DefaultNode.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Xpetra: A linear algebra interface package
4 //
5 // Copyright 2012 NTESS and the Xpetra contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef FAKEKOKKOS_DEFAULT_NODE_HPP_
11 #define FAKEKOKKOS_DEFAULT_NODE_HPP_
12 
13 #include <Teuchos_RCP.hpp>
14 
15 #include <Xpetra_ConfigDefs.hpp>
16 #include <Tpetra_KokkosCompat_ClassicNodeAPI_Wrapper.hpp>
17 
18 // forward declaration for (fake) KokkosSerialWrapperNode
19 // This is the node definition used if Epetra is enabled only
20 /*namespace Kokkos {
21 namespace Compat {
22  class KokkosSerialWrapperNode;
23 }
24 }*/
25 
26 // This KokkosClassic namespace is used for getting the DefaultNode in some classes
27 namespace KokkosClassic {
28 
29 namespace Details {
30 } // namespace Details
31 
32 class DefaultNode {
33  public:
34 #ifdef EPETRA_HAVE_OMP
35  typedef Tpetra::KokkosCompat::KokkosOpenMPWrapperNode DefaultNodeType;
36 #else
37  typedef Tpetra::KokkosCompat::KokkosSerialWrapperNode DefaultNodeType;
38 #endif
39 };
40 
41 } // namespace KokkosClassic
42 
43 #endif
Tpetra::KokkosCompat::KokkosSerialWrapperNode DefaultNodeType