48 #ifdef HAVE_XPETRA_EPETRA 54 template<
class GlobalOrdinal,
class Node>
61 template<
class GlobalOrdinal,
class Node>
65 return epetraMap->getEpetra_Map();
68 template<
class GlobalOrdinal,
class Node>
69 const RCP< const Xpetra::Map<int, GlobalOrdinal, Node> >
toXpetra(
const Epetra_BlockMap &map)
71 RCP<const Epetra_BlockMap> m = rcp(
new Epetra_BlockMap(map));
77 #ifndef XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES 79 #ifdef HAVE_XPETRA_TPETRA 80 #include "TpetraCore_config.h" 81 #if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \ 82 (!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL))) 83 template const RCP< const Map<int, int, Xpetra::EpetraNode > > toXpetra<int, Xpetra::EpetraNode>(
const Epetra_BlockMap &map);
84 template const Epetra_Map & toEpetra<int, Xpetra::EpetraNode >(
const RCP< const Map<int, int, Xpetra::EpetraNode > > &map);
85 template const Epetra_Map & toEpetra<int, Xpetra::EpetraNode >(
const Map< int, int, Xpetra::EpetraNode> & map);
87 #ifdef HAVE_TPETRA_INST_SERIAL 89 template const RCP< const Map<int, int, Kokkos::Compat::KokkosSerialWrapperNode > > toXpetra<int, Kokkos::Compat::KokkosSerialWrapperNode>(
const Epetra_BlockMap &map);
90 template const Epetra_Map & toEpetra<int, Kokkos::Compat::KokkosSerialWrapperNode >(
const RCP< const Map<int, int, Kokkos::Compat::KokkosSerialWrapperNode > > & map);
91 template const Epetra_Map & toEpetra<int, Kokkos::Compat::KokkosSerialWrapperNode >(
const Map< int, int, Kokkos::Compat::KokkosSerialWrapperNode> & map);
93 #ifdef HAVE_TPETRA_INST_PTHREAD 95 template const RCP< const Map<int, int, Kokkos::Compat::KokkosThreadsWrapperNode > > toXpetra<int, Kokkos::Compat::KokkosThreadsWrapperNode>(
const Epetra_BlockMap &map);
96 template const Epetra_Map & toEpetra<int, Kokkos::Compat::KokkosThreadsWrapperNode >(
const RCP< const Map<int, int, Kokkos::Compat::KokkosThreadsWrapperNode > > &map);
97 template const Epetra_Map & toEpetra<int, Kokkos::Compat::KokkosThreadsWrapperNode >(
const Map< int, int, Kokkos::Compat::KokkosThreadsWrapperNode> & map);
99 #ifdef HAVE_TPETRA_INST_OPENMP 101 template const RCP< const Map<int, int, Kokkos::Compat::KokkosOpenMPWrapperNode > > toXpetra<int, Kokkos::Compat::KokkosOpenMPWrapperNode>(
const Epetra_BlockMap &map);
102 template const Epetra_Map & toEpetra<int, Kokkos::Compat::KokkosOpenMPWrapperNode >(
const RCP< const Map<int, int, Kokkos::Compat::KokkosOpenMPWrapperNode > > &map);
103 template const Epetra_Map & toEpetra<int, Kokkos::Compat::KokkosOpenMPWrapperNode >(
const Map< int, int, Kokkos::Compat::KokkosOpenMPWrapperNode> & map);
105 #ifdef HAVE_TPETRA_INST_CUDA 106 typedef Kokkos::Compat::KokkosCudaWrapperNode default_node_type;
108 template const RCP< const Map<int, int, default_node_type > > toXpetra<int, default_node_type>(
const Epetra_BlockMap &map);
109 template const Epetra_Map & toEpetra<int, default_node_type >(
const RCP< const Map<int, int, default_node_type > > &map);
110 template const Epetra_Map & toEpetra<int, default_node_type >(
const Map< int, int, default_node_type> & map);
112 #ifdef HAVE_TPETRA_INST_HIP 113 typedef Kokkos::Compat::KokkosHIPWrapperNode default_node_type;
115 template const RCP< const Map<int, int, default_node_type > > toXpetra<int, default_node_type>(
const Epetra_BlockMap &map);
116 template const Epetra_Map & toEpetra<int, default_node_type >(
const RCP< const Map<int, int, default_node_type > > &map);
117 template const Epetra_Map & toEpetra<int, default_node_type >(
const Map< int, int, default_node_type> & map);
122 template const RCP< const Map<int, int, default_node_type > > toXpetra<int, default_node_type>(
const Epetra_BlockMap &map);
123 template const Epetra_Map & toEpetra<int, default_node_type >(
const RCP< const Map<int, int, default_node_type > > &map);
124 template const Epetra_Map & toEpetra<int, default_node_type >(
const Map< int, int, default_node_type> & map);
125 #endif // HAVE_XPETRA_TPETRA 127 #endif // XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES 131 #ifndef XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES 133 #ifdef HAVE_XPETRA_TPETRA 134 #include "TpetraCore_config.h" 135 #if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \ 136 (!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL))) 137 template const RCP< const Map<int, long long, Xpetra::EpetraNode > > toXpetra<long long, Xpetra::EpetraNode>(
const Epetra_BlockMap &map);
138 template const Epetra_Map & toEpetra<long long, Xpetra::EpetraNode >(
const RCP< const Map<int, long long, Xpetra::EpetraNode > > &map);
139 template const Epetra_Map & toEpetra<long long, Xpetra::EpetraNode >(
const Map< int, long long, Xpetra::EpetraNode> & map);
142 #ifdef HAVE_TPETRA_INST_SERIAL 144 template const RCP< const Map<int, long long, Kokkos::Compat::KokkosSerialWrapperNode > > toXpetra<long long, Kokkos::Compat::KokkosSerialWrapperNode>(
const Epetra_BlockMap &map);
145 template const Epetra_Map & toEpetra<long long, Kokkos::Compat::KokkosSerialWrapperNode >(
const RCP< const Map<int, long long, Kokkos::Compat::KokkosSerialWrapperNode > > & map);
146 template const Epetra_Map & toEpetra<long long, Kokkos::Compat::KokkosSerialWrapperNode >(
const Map< int, long long, Kokkos::Compat::KokkosSerialWrapperNode> & map);
149 #ifdef HAVE_TPETRA_INST_PTHREAD 151 template const RCP< const Map<int, long long, Kokkos::Compat::KokkosThreadsWrapperNode > > toXpetra<long long, Kokkos::Compat::KokkosThreadsWrapperNode>(
const Epetra_BlockMap &map);
152 template const Epetra_Map & toEpetra<long long, Kokkos::Compat::KokkosThreadsWrapperNode >(
const RCP< const Map<int, long long, Kokkos::Compat::KokkosThreadsWrapperNode > > &map);
153 template const Epetra_Map & toEpetra<long long, Kokkos::Compat::KokkosThreadsWrapperNode >(
const Map< int, long long, Kokkos::Compat::KokkosThreadsWrapperNode> & map);
156 #ifdef HAVE_TPETRA_INST_OPENMP 158 template const RCP< const Map<int, long long, Kokkos::Compat::KokkosOpenMPWrapperNode > > toXpetra<long long, Kokkos::Compat::KokkosOpenMPWrapperNode>(
const Epetra_BlockMap &map);
159 template const Epetra_Map & toEpetra<long long, Kokkos::Compat::KokkosOpenMPWrapperNode >(
const RCP< const Map<int, long long, Kokkos::Compat::KokkosOpenMPWrapperNode > > &map);
160 template const Epetra_Map & toEpetra<long long, Kokkos::Compat::KokkosOpenMPWrapperNode >(
const Map< int, long long, Kokkos::Compat::KokkosOpenMPWrapperNode> & map);
163 #ifdef HAVE_TPETRA_INST_CUDA 164 typedef Kokkos::Compat::KokkosCudaWrapperNode default_node_type;
166 template const RCP< const Map<int, long long, default_node_type > > toXpetra<long long, default_node_type>(
const Epetra_BlockMap &map);
167 template const Epetra_Map & toEpetra<long long, default_node_type >(
const RCP< const Map<int, long long, default_node_type > > &map);
168 template const Epetra_Map & toEpetra<long long, default_node_type >(
const Map< int, long long, default_node_type> & map);
171 #ifdef HAVE_TPETRA_INST_HIP 172 typedef Kokkos::Compat::KokkosHIPWrapperNode default_node_type;
174 template const RCP< const Map<int, long long, default_node_type > > toXpetra<long long, default_node_type>(
const Epetra_BlockMap &map);
175 template const Epetra_Map & toEpetra<long long, default_node_type >(
const RCP< const Map<int, long long, default_node_type > > &map);
176 template const Epetra_Map & toEpetra<long long, default_node_type >(
const Map< int, long long, default_node_type> & map);
182 template const RCP< const Map<int, long long, default_node_type > > toXpetra<long long, default_node_type>(
const Epetra_BlockMap &map);
183 template const Epetra_Map & toEpetra<long long, default_node_type >(
const RCP< const Map<int, long long, default_node_type > > &map);
184 template const Epetra_Map & toEpetra<long long, default_node_type >(
const Map< int, long long, default_node_type> & map);
185 #endif // HAVE_XPETRA_TPETRA 187 #endif // HAVE_XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES 191 #endif // HAVE_XPETRA_EPETRA
const Epetra_CrsGraph & toEpetra(const RCP< const CrsGraph< int, GlobalOrdinal, Node > > &graph)
virtual RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > getMap() const
#define XPETRA_RCP_DYNAMIC_CAST(type, obj, newObj, exceptionMsg)
RCP< const CrsGraph< int, GlobalOrdinal, Node > > toXpetra(const Epetra_CrsGraph &g)
const Epetra_Map & getEpetra_Map() const