51 template<
class GlobalOrdinal,
class Node>
52 RCP< const Import<int, GlobalOrdinal, Node > >
toXpetra(
const Epetra_Import *
import) {
54 RCP<const Epetra_Import> imp = rcp(
new Epetra_Import(*
import));
62 #ifndef XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES
63 #ifdef HAVE_XPETRA_TPETRA
64 #include "TpetraCore_config.h"
65 #if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \
66 (!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL)))
67 template class EpetraImportT<int, Xpetra::EpetraNode >;
68 template RCP<const Import<int, int, Xpetra::EpetraNode> > toXpetra<int,Xpetra::EpetraNode>(
const Epetra_Import *);
71 #ifdef HAVE_TPETRA_INST_SERIAL
72 template class EpetraImportT<int, Kokkos::Compat::KokkosSerialWrapperNode >;
73 template RCP<const Import<int,int,Kokkos::Compat::KokkosSerialWrapperNode > > toXpetra<int,Kokkos::Compat::KokkosSerialWrapperNode >(
const Epetra_Import *);
75 #ifdef HAVE_TPETRA_INST_PTHREAD
76 template class EpetraImportT<int, Kokkos::Compat::KokkosThreadsWrapperNode>;
77 template RCP<const Import<int,int,Kokkos::Compat::KokkosThreadsWrapperNode> > toXpetra<int,Kokkos::Compat::KokkosThreadsWrapperNode >(
const Epetra_Import *);
79 #ifdef HAVE_TPETRA_INST_OPENMP
80 template class EpetraImportT<int, Kokkos::Compat::KokkosOpenMPWrapperNode >;
81 template RCP<const Import<int, int, Kokkos::Compat::KokkosOpenMPWrapperNode> > toXpetra<int,Kokkos::Compat::KokkosOpenMPWrapperNode>(
const Epetra_Import *);
83 #ifdef HAVE_TPETRA_INST_CUDA
84 typedef Kokkos::Compat::KokkosCudaWrapperNode default_node_type;
85 template class EpetraImportT<int, default_node_type >;
86 template RCP<const Import<int, int, default_node_type> > toXpetra<int,default_node_type>(
const Epetra_Import *);
91 template class EpetraImportT<int, default_node_type >;
92 template RCP<const Import<int, int, default_node_type> > toXpetra<int,default_node_type>(
const Epetra_Import *);
93 #endif // HAVE_XPETRA_TPETRA
94 #endif // XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES
96 #ifndef XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES
97 #ifdef HAVE_XPETRA_TPETRA
98 #include "TpetraCore_config.h"
99 #if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \
100 (!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL)))
101 template class EpetraImportT<long long, Xpetra::EpetraNode >;
102 template RCP<const Import<int, long long, Xpetra::EpetraNode> > toXpetra<long long,Xpetra::EpetraNode>(
const Epetra_Import *);
105 #ifdef HAVE_TPETRA_INST_SERIAL
106 template class EpetraImportT<long long, Kokkos::Compat::KokkosSerialWrapperNode >;
107 template RCP<const Import<int,long long,Kokkos::Compat::KokkosSerialWrapperNode > > toXpetra<long long,Kokkos::Compat::KokkosSerialWrapperNode >(
const Epetra_Import *);
109 #ifdef HAVE_TPETRA_INST_PTHREAD
110 template class EpetraImportT<long long, Kokkos::Compat::KokkosThreadsWrapperNode>;
111 template RCP<const Import<int,long long,Kokkos::Compat::KokkosThreadsWrapperNode> > toXpetra<long long,Kokkos::Compat::KokkosThreadsWrapperNode >(
const Epetra_Import *);
113 #ifdef HAVE_TPETRA_INST_OPENMP
114 template class EpetraImportT<long long, Kokkos::Compat::KokkosOpenMPWrapperNode >;
115 template RCP<const Import<int, long long, Kokkos::Compat::KokkosOpenMPWrapperNode> > toXpetra<long long,Kokkos::Compat::KokkosOpenMPWrapperNode>(
const Epetra_Import *);
117 #ifdef HAVE_TPETRA_INST_CUDA
118 typedef Kokkos::Compat::KokkosCudaWrapperNode default_node_type;
119 template class EpetraImportT<long long, default_node_type >;
120 template RCP<const Import<int, long long, default_node_type> > toXpetra<long long,default_node_type>(
const Epetra_Import *);
125 template class EpetraImportT<long long, default_node_type >;
126 template RCP<const Import<int, long long, default_node_type> > toXpetra<long long,default_node_type>(
const Epetra_Import *);
127 #endif // HAVE_XPETRA_TPETRA
RCP< const CrsGraph< int, GlobalOrdinal, Node > > toXpetra(const Epetra_CrsGraph &g)