15 template <
class GlobalOrdinal,
class Node>
16 RCP<const Import<int, GlobalOrdinal, Node> >
toXpetra(
const Epetra_Import *
import) {
18 RCP<const Epetra_Import> imp = rcp(
new Epetra_Import(*
import));
26 #ifndef XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES
27 #ifdef HAVE_XPETRA_TPETRA
28 #include "TpetraCore_config.h"
29 #if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \
30 (!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL)))
31 template class EpetraImportT<int, Xpetra::EpetraNode>;
32 template RCP<const Import<int, int, Xpetra::EpetraNode> > toXpetra<int, Xpetra::EpetraNode>(
const Epetra_Import *);
35 #ifdef HAVE_TPETRA_INST_SERIAL
36 template class EpetraImportT<int, Tpetra::KokkosCompat::KokkosSerialWrapperNode>;
37 template RCP<const Import<int, int, Tpetra::KokkosCompat::KokkosSerialWrapperNode> > toXpetra<int, Tpetra::KokkosCompat::KokkosSerialWrapperNode>(
const Epetra_Import *);
39 #ifdef HAVE_TPETRA_INST_PTHREAD
40 template class EpetraImportT<int, Tpetra::KokkosCompat::KokkosThreadsWrapperNode>;
41 template RCP<const Import<int, int, Tpetra::KokkosCompat::KokkosThreadsWrapperNode> > toXpetra<int, Tpetra::KokkosCompat::KokkosThreadsWrapperNode>(
const Epetra_Import *);
43 #ifdef HAVE_TPETRA_INST_OPENMP
44 template class EpetraImportT<int, Tpetra::KokkosCompat::KokkosOpenMPWrapperNode>;
45 template RCP<const Import<int, int, Tpetra::KokkosCompat::KokkosOpenMPWrapperNode> > toXpetra<int, Tpetra::KokkosCompat::KokkosOpenMPWrapperNode>(
const Epetra_Import *);
47 #ifdef HAVE_TPETRA_INST_CUDA
48 typedef Tpetra::KokkosCompat::KokkosCudaWrapperNode default_node_type;
49 template class EpetraImportT<int, default_node_type>;
50 template RCP<const Import<int, int, default_node_type> > toXpetra<int, default_node_type>(
const Epetra_Import *);
52 #ifdef HAVE_TPETRA_INST_HIP
53 typedef Tpetra::KokkosCompat::KokkosHIPWrapperNode default_node_type;
54 template class EpetraImportT<int, default_node_type>;
55 template RCP<const Import<int, int, default_node_type> > toXpetra<int, default_node_type>(
const Epetra_Import *);
60 template class EpetraImportT<int, default_node_type>;
61 template RCP<const Import<int, int, default_node_type> > toXpetra<int, default_node_type>(
const Epetra_Import *);
62 #endif // HAVE_XPETRA_TPETRA
63 #endif // XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES
65 #ifndef XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES
66 #ifdef HAVE_XPETRA_TPETRA
67 #include "TpetraCore_config.h"
68 #if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \
69 (!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL)))
70 template class EpetraImportT<long long, Xpetra::EpetraNode>;
71 template RCP<const Import<int, long long, Xpetra::EpetraNode> > toXpetra<long long, Xpetra::EpetraNode>(
const Epetra_Import *);
74 #ifdef HAVE_TPETRA_INST_SERIAL
75 template class EpetraImportT<long long, Tpetra::KokkosCompat::KokkosSerialWrapperNode>;
76 template RCP<const Import<int, long long, Tpetra::KokkosCompat::KokkosSerialWrapperNode> > toXpetra<long long, Tpetra::KokkosCompat::KokkosSerialWrapperNode>(
const Epetra_Import *);
78 #ifdef HAVE_TPETRA_INST_PTHREAD
79 template class EpetraImportT<long long, Tpetra::KokkosCompat::KokkosThreadsWrapperNode>;
80 template RCP<const Import<int, long long, Tpetra::KokkosCompat::KokkosThreadsWrapperNode> > toXpetra<long long, Tpetra::KokkosCompat::KokkosThreadsWrapperNode>(
const Epetra_Import *);
82 #ifdef HAVE_TPETRA_INST_OPENMP
83 template class EpetraImportT<long long, Tpetra::KokkosCompat::KokkosOpenMPWrapperNode>;
84 template RCP<const Import<int, long long, Tpetra::KokkosCompat::KokkosOpenMPWrapperNode> > toXpetra<long long, Tpetra::KokkosCompat::KokkosOpenMPWrapperNode>(
const Epetra_Import *);
86 #ifdef HAVE_TPETRA_INST_CUDA
87 typedef Tpetra::KokkosCompat::KokkosCudaWrapperNode default_node_type;
88 template class EpetraImportT<long long, default_node_type>;
89 template RCP<const Import<int, long long, default_node_type> > toXpetra<long long, default_node_type>(
const Epetra_Import *);
91 #ifdef HAVE_TPETRA_INST_HIP
92 typedef Tpetra::KokkosCompat::KokkosHIPWrapperNode default_node_type;
93 template class EpetraImportT<long long, default_node_type>;
94 template RCP<const Import<int, long long, default_node_type> > toXpetra<long long, default_node_type>(
const Epetra_Import *);
99 template class EpetraImportT<long long, default_node_type>;
100 template RCP<const Import<int, long long, default_node_type> > toXpetra<long long, default_node_type>(
const Epetra_Import *);
101 #endif // HAVE_XPETRA_TPETRA
Tpetra::KokkosCompat::KokkosSerialWrapperNode EpetraNode
RCP< const CrsGraph< int, GlobalOrdinal, Node > > toXpetra(const Epetra_CrsGraph &g)