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 *);
88 #ifdef HAVE_TPETRA_INST_HIP 89 typedef Kokkos::Compat::KokkosHIPWrapperNode default_node_type;
90 template class EpetraImportT<int, default_node_type >;
91 template RCP<const Import<int, int, default_node_type> > toXpetra<int,default_node_type>(
const Epetra_Import *);
96 template class EpetraImportT<int, default_node_type >;
97 template RCP<const Import<int, int, default_node_type> > toXpetra<int,default_node_type>(
const Epetra_Import *);
98 #endif // HAVE_XPETRA_TPETRA 99 #endif // XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES 101 #ifndef XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES 102 #ifdef HAVE_XPETRA_TPETRA 103 #include "TpetraCore_config.h" 104 #if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \ 105 (!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL))) 106 template class EpetraImportT<long long, Xpetra::EpetraNode >;
107 template RCP<const Import<int, long long, Xpetra::EpetraNode> > toXpetra<long long,Xpetra::EpetraNode>(
const Epetra_Import *);
110 #ifdef HAVE_TPETRA_INST_SERIAL 111 template class EpetraImportT<long long, Kokkos::Compat::KokkosSerialWrapperNode >;
112 template RCP<const Import<int,long long,Kokkos::Compat::KokkosSerialWrapperNode > > toXpetra<long long,Kokkos::Compat::KokkosSerialWrapperNode >(
const Epetra_Import *);
114 #ifdef HAVE_TPETRA_INST_PTHREAD 115 template class EpetraImportT<long long, Kokkos::Compat::KokkosThreadsWrapperNode>;
116 template RCP<const Import<int,long long,Kokkos::Compat::KokkosThreadsWrapperNode> > toXpetra<long long,Kokkos::Compat::KokkosThreadsWrapperNode >(
const Epetra_Import *);
118 #ifdef HAVE_TPETRA_INST_OPENMP 119 template class EpetraImportT<long long, Kokkos::Compat::KokkosOpenMPWrapperNode >;
120 template RCP<const Import<int, long long, Kokkos::Compat::KokkosOpenMPWrapperNode> > toXpetra<long long,Kokkos::Compat::KokkosOpenMPWrapperNode>(
const Epetra_Import *);
122 #ifdef HAVE_TPETRA_INST_CUDA 123 typedef Kokkos::Compat::KokkosCudaWrapperNode default_node_type;
124 template class EpetraImportT<long long, default_node_type >;
125 template RCP<const Import<int, long long, default_node_type> > toXpetra<long long,default_node_type>(
const Epetra_Import *);
127 #ifdef HAVE_TPETRA_INST_HIP 128 typedef Kokkos::Compat::KokkosHIPWrapperNode default_node_type;
129 template class EpetraImportT<long long, default_node_type >;
130 template RCP<const Import<int, long long, default_node_type> > toXpetra<long long,default_node_type>(
const Epetra_Import *);
135 template class EpetraImportT<long long, default_node_type >;
136 template RCP<const Import<int, long long, default_node_type> > toXpetra<long long,default_node_type>(
const Epetra_Import *);
137 #endif // HAVE_XPETRA_TPETRA
RCP< const CrsGraph< int, GlobalOrdinal, Node > > toXpetra(const Epetra_CrsGraph &g)