// Don't bother compiling anything, or even including anything else, // unless KokkosOpenMPWrapperNode is enabled. #if defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(HAVE_TPETRA_INST_OPENMP) #include "Tpetra_CrsGraph_decl.hpp" #include "TpetraCore_ETIHelperMacros.h" #include "Tpetra_CrsGraph_def.hpp" // The first macro instantiates just the graph stuff. The second // instantiates CrsGraph methods templated on Scalar type that // CrsMatrix needs. The two must be handled separately, to avoid link // errors resulting from redundant instantiations. #define TPETRA_CRSGRAPH_GRAPH_INSTANT_OPENMPWRAPPERNODE( LO, GO ) \ TPETRA_CRSGRAPH_GRAPH_INSTANT( LO, GO, Kokkos::Compat::KokkosOpenMPWrapperNode ) #define TPETRA_CRSGRAPH_INSTANT_OPENMPWRAPPERNODE( SCALAR, LO, GO ) \ TPETRA_CRSGRAPH_INSTANT( SCALAR, LO, GO, Kokkos::Compat::KokkosOpenMPWrapperNode ) namespace Tpetra { TPETRA_ETI_MANGLING_TYPEDEFS() TPETRA_INSTANTIATE_LG(TPETRA_CRSGRAPH_GRAPH_INSTANT_OPENMPWRAPPERNODE) TPETRA_INSTANTIATE_SLG(TPETRA_CRSGRAPH_INSTANT_OPENMPWRAPPERNODE) } // namespace Tpetra #endif // defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(HAVE_TPETRA_INST_OPENMP)
// Don't bother compiling anything, or even including anything else, // unless KokkosCudaWrapperNode is enabled. #if defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(HAVE_TPETRA_INST_CUDA) #include "Tpetra_CrsGraph_decl.hpp" #include "TpetraCore_ETIHelperMacros.h" #include "Tpetra_CrsGraph_def.hpp" // The first macro instantiates just the graph stuff. The second // instantiates CrsGraph methods templated on Scalar type that // CrsMatrix needs. The two must be handled separately, to avoid link // errors resulting from redundant instantiations. #define TPETRA_CRSGRAPH_GRAPH_INSTANT_CUDAWRAPPERNODE( LO, GO ) \ TPETRA_CRSGRAPH_GRAPH_INSTANT( LO, GO, Kokkos::Compat::KokkosCudaWrapperNode ) #define TPETRA_CRSGRAPH_INSTANT_CUDAWRAPPERNODE( SCALAR, LO, GO ) \ TPETRA_CRSGRAPH_INSTANT( SCALAR, LO, GO, Kokkos::Compat::KokkosCudaWrapperNode ) namespace Tpetra { TPETRA_ETI_MANGLING_TYPEDEFS() TPETRA_INSTANTIATE_LG(TPETRA_CRSGRAPH_GRAPH_INSTANT_CUDAWRAPPERNODE) TPETRA_INSTANTIATE_SLG(TPETRA_CRSGRAPH_INSTANT_CUDAWRAPPERNODE) } // namespace Tpetra #endif // defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(HAVE_TPETRA_INST_CUDA)
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Questions? Contact Michael A. Heroux ([email protected]) // // ************************************************************************ // @HEADER */ #include "Tpetra_Map.hpp" #ifdef HAVE_TPETRA_EXPLICIT_INSTANTIATION #include "Tpetra_ETIHelperMacros.h" #include "Tpetra_Map_def.hpp" namespace Tpetra { TPETRA_ETI_MANGLING_TYPEDEFS() // for all nodes, lo, go TPETRA_INSTANTIATE_LGN(TPETRA_MAP_INSTANT) // for default node, all lo,go TPETRA_INSTANTIATE_LG(TPETRA_MAP_INSTANT_DEFAULTNODE) } // namespace Tpetra #endif // HAVE_TPETRA_EXPLICIT_INSTANTIATION
// Don't bother compiling anything, or even including anything else, // unless TBBNode is enabled. #if defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(HAVE_KOKKOSCLASSIC_TBB) #include "Tpetra_CrsGraph_decl.hpp" #include "TpetraCore_ETIHelperMacros.h" #include "Tpetra_CrsGraph_def.hpp" // The first macro instantiates just the graph stuff. The second // instantiates CrsGraph methods templated on Scalar type that // CrsMatrix needs. The two must be handled separately, to avoid link // errors resulting from redundant instantiations. #define TPETRA_CRSGRAPH_GRAPH_INSTANT_TBBNODE( LO, GO ) \ TPETRA_CRSGRAPH_GRAPH_INSTANT( LO, GO, KokkosClassic::DoNotUse::TBBNode ) #define TPETRA_CRSGRAPH_INSTANT_TBBNODE( SCALAR, LO, GO ) \ TPETRA_CRSGRAPH_INSTANT( SCALAR, LO, GO, KokkosClassic::DoNotUse::TBBNode ) namespace Tpetra { TPETRA_ETI_MANGLING_TYPEDEFS() TPETRA_INSTANTIATE_LG(TPETRA_CRSGRAPH_GRAPH_INSTANT_TBBNODE) TPETRA_INSTANTIATE_SLG(TPETRA_CRSGRAPH_INSTANT_TBBNODE) } // namespace Tpetra #endif // defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(HAVE_KOKKOSCLASSIC_TBB)