42 #ifndef TPETRA_DETAILS_DEFAULTTYPES_HPP 43 #define TPETRA_DETAILS_DEFAULTTYPES_HPP 45 #include "TpetraCore_config.h" 46 #include "KokkosClassic_DefaultNode_config.h" 47 #include "KokkosCompat_ClassicNodeAPI_Wrapper.hpp" 61 namespace DefaultTypes {
63 #if defined(HAVE_TPETRA_INST_DOUBLE) 64 typedef double scalar_type;
65 #elif defined(HAVE_TPETRA_INST_FLOAT) 66 typedef float scalar_type;
68 # error "Tpetra: No scalar types in the set {float, double} have been enabled." 76 #if defined(HAVE_TPETRA_INST_INT_INT) 77 typedef int global_ordinal_type;
78 #elif defined(HAVE_TPETRA_INST_INT_LONG_LONG) 79 typedef long long global_ordinal_type;
80 #elif defined(HAVE_TPETRA_INST_INT_LONG) 81 typedef long global_ordinal_type;
82 #elif defined(HAVE_TPETRA_INST_INT_UNSIGNED_LONG) 83 typedef unsigned long global_ordinal_type;
84 #elif defined(HAVE_TPETRA_INST_INT_UNSIGNED) 85 typedef unsigned global_ordinal_type;
87 # error "Tpetra: No global ordinal types in the set {int, long long, long, unsigned long, unsigned} have been enabled." 92 #if defined(HAVE_TPETRA_DEFAULTNODE_CUDAWRAPPERNODE) 93 using execution_space = ::Kokkos::Cuda;
94 #elif defined(HAVE_TPETRA_DEFAULTNODE_OPENMPWRAPPERNODE) 95 using execution_space = ::Kokkos::OpenMP;
96 #elif defined(HAVE_TPETRA_DEFAULTNODE_THREADSWRAPPERNODE) 97 using execution_space = ::Kokkos::Threads;
98 #elif defined(HAVE_TPETRA_DEFAULTNODE_SERIALWRAPPERNODE) 99 using execution_space = ::Kokkos::Serial;
101 # error "No default Tpetra Node type specified. Please set the CMake option Tpetra_DefaultNode to a valid Node type." 105 using node_type = ::Kokkos::Compat::KokkosDeviceWrapperNode<execution_space>;
112 #endif // TPETRA_DETAILS_DEFAULTTYPES_HPP Namespace Tpetra contains the class and methods constituting the Tpetra library.
int local_ordinal_type
Default value of Scalar template parameter.
Implementation details of Tpetra.
::Kokkos::Compat::KokkosDeviceWrapperNode< execution_space > node_type
Default value of Node template parameter.