51 template <
class GlobalOrdinal,
class Node>
52 RCP<const Export<int, GlobalOrdinal, Node> >
toXpetra(
const Epetra_Export *exp) {
54 RCP<const Epetra_Export> eexp = rcp(
new Epetra_Export(*exp));
61 #ifndef XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES
62 #ifdef HAVE_XPETRA_TPETRA
63 #include "TpetraCore_config.h"
64 #if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \
65 (!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL)))
66 template class EpetraExportT<int, Xpetra::EpetraNode>;
67 template RCP<const Export<int, int, Xpetra::EpetraNode> > toXpetra<int, Xpetra::EpetraNode>(
const Epetra_Export *);
70 #ifdef HAVE_TPETRA_INST_SERIAL
71 template class EpetraExportT<int, Tpetra::KokkosCompat::KokkosSerialWrapperNode>;
72 template RCP<const Export<int, int, Tpetra::KokkosCompat::KokkosSerialWrapperNode> > toXpetra<int, Tpetra::KokkosCompat::KokkosSerialWrapperNode>(
const Epetra_Export *);
74 #ifdef HAVE_TPETRA_INST_PTHREAD
75 template class EpetraExportT<int, Tpetra::KokkosCompat::KokkosThreadsWrapperNode>;
76 template RCP<const Export<int, int, Tpetra::KokkosCompat::KokkosThreadsWrapperNode> > toXpetra<int, Tpetra::KokkosCompat::KokkosThreadsWrapperNode>(
const Epetra_Export *);
78 #ifdef HAVE_TPETRA_INST_OPENMP
79 template class EpetraExportT<int, Tpetra::KokkosCompat::KokkosOpenMPWrapperNode>;
80 template RCP<const Export<int, int, Tpetra::KokkosCompat::KokkosOpenMPWrapperNode> > toXpetra<int, Tpetra::KokkosCompat::KokkosOpenMPWrapperNode>(
const Epetra_Export *);
82 #ifdef HAVE_TPETRA_INST_CUDA
83 typedef Tpetra::KokkosCompat::KokkosCudaWrapperNode default_node_type;
84 template class EpetraExportT<int, default_node_type>;
85 template RCP<const Export<int, int, default_node_type> > toXpetra<int, default_node_type>(
const Epetra_Export *);
87 #ifdef HAVE_TPETRA_INST_HIP
88 typedef Tpetra::KokkosCompat::KokkosHIPWrapperNode default_node_type;
89 template class EpetraExportT<int, default_node_type>;
90 template RCP<const Export<int, int, default_node_type> > toXpetra<int, default_node_type>(
const Epetra_Export *);
95 template class EpetraExportT<int, default_node_type>;
96 template RCP<const Export<int, int, default_node_type> > toXpetra<int, default_node_type>(
const Epetra_Export *);
97 #endif // HAVE_XPETRA_TPETRA
100 #ifndef XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES
101 #ifdef HAVE_XPETRA_TPETRA
102 #include "TpetraCore_config.h"
103 #if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \
104 (!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL)))
105 template class EpetraExportT<long long, Xpetra::EpetraNode>;
106 template RCP<const Export<int, long long, Xpetra::EpetraNode> > toXpetra<long long, Xpetra::EpetraNode>(
const Epetra_Export *);
109 #ifdef HAVE_TPETRA_INST_SERIAL
110 template class EpetraExportT<long long, Tpetra::KokkosCompat::KokkosSerialWrapperNode>;
111 template RCP<const Export<int, long long, Tpetra::KokkosCompat::KokkosSerialWrapperNode> > toXpetra<long long, Tpetra::KokkosCompat::KokkosSerialWrapperNode>(
const Epetra_Export *);
113 #ifdef HAVE_TPETRA_INST_PTHREAD
114 template class EpetraExportT<long long, Tpetra::KokkosCompat::KokkosThreadsWrapperNode>;
115 template RCP<const Export<int, long long, Tpetra::KokkosCompat::KokkosThreadsWrapperNode> > toXpetra<long long, Tpetra::KokkosCompat::KokkosThreadsWrapperNode>(
const Epetra_Export *);
117 #ifdef HAVE_TPETRA_INST_OPENMP
118 template class EpetraExportT<long long, Tpetra::KokkosCompat::KokkosOpenMPWrapperNode>;
119 template RCP<const Export<int, long long, Tpetra::KokkosCompat::KokkosOpenMPWrapperNode> > toXpetra<long long, Tpetra::KokkosCompat::KokkosOpenMPWrapperNode>(
const Epetra_Export *);
121 #ifdef HAVE_TPETRA_INST_CUDA
122 typedef Tpetra::KokkosCompat::KokkosCudaWrapperNode default_node_type;
123 template class EpetraExportT<long long, default_node_type>;
124 template RCP<const Export<int, long long, default_node_type> > toXpetra<long long, default_node_type>(
const Epetra_Export *);
126 #ifdef HAVE_TPETRA_INST_HIP
127 typedef Tpetra::KokkosCompat::KokkosHIPWrapperNode default_node_type;
128 template class EpetraExportT<long long, default_node_type>;
129 template RCP<const Export<int, long long, default_node_type> > toXpetra<long long, default_node_type>(
const Epetra_Export *);
134 template class EpetraExportT<long long, default_node_type>;
135 template RCP<const Export<int, long long, default_node_type> > toXpetra<long long, default_node_type>(
const Epetra_Export *);
136 #endif // HAVE_XPETRA_TPETRA
Tpetra::KokkosCompat::KokkosSerialWrapperNode EpetraNode
RCP< const CrsGraph< int, GlobalOrdinal, Node > > toXpetra(const Epetra_CrsGraph &g)