Tpetra Matrix/Vector Services Version of the Day
TpetraExt_BlockExtraction.cpp
00001 #include "TpetraExt_BlockExtraction.hpp"
00002 
00003 #ifdef HAVE_TPETRA_EXPLICIT_INSTANTIATION
00004 
00005 #include "TpetraExt_BlockExtraction_def.hpp"
00006 
00007 #include <Kokkos_SerialNode.hpp>
00008 #if defined(HAVE_KOKKOS_TBB)
00009 #  include <Kokkos_TBBNode.hpp>
00010 #endif
00011 #if defined(HAVE_KOKKOS_THREADPOOL)
00012 #  include <Kokkos_TPINode.hpp>
00013 #endif
00014 #if defined(HAVE_KOKKOS_THRUST)
00015 #  include <Kokkos_ThrustGPUNode.hpp>
00016 #endif
00017 
00018 namespace Tpetra {
00019   namespace Ext {
00020 
00021 #if defined(HAVE_TPETRA_INST_FLOAT)
00022   TPETRAEXT_BLOCKEXTRACTION_INSTANT(float,int,int,Kokkos::SerialNode)
00023 #if defined(HAVE_KOKKOS_TBB)
00024   TPETRAEXT_BLOCKEXTRACTION_INSTANT(float,int,int,Kokkos::TBBNode)
00025 #endif
00026 #if defined(HAVE_KOKKOS_THREADPOOL)
00027     TPETRAEXT_BLOCKEXTRACTION_INSTANT(float,int,int,Kokkos::TPINode)
00028 #endif
00029 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_FLOAT)
00030     TPETRAEXT_BLOCKEXTRACTION_INSTANT(float,int,int,Kokkos::ThrustGPUNode)
00031 #endif
00032 #endif
00033 
00034 #if defined(HAVE_TPETRA_INST_DOUBLE)
00035   TPETRAEXT_BLOCKEXTRACTION_INSTANT(double,int,int,Kokkos::SerialNode)
00036 #if defined(HAVE_KOKKOS_TBB)
00037   TPETRAEXT_BLOCKEXTRACTION_INSTANT(double,int,int,Kokkos::TBBNode)
00038 #endif
00039 #if defined(HAVE_KOKKOS_THREADPOOL)
00040     TPETRAEXT_BLOCKEXTRACTION_INSTANT(double,int,int,Kokkos::TPINode)
00041 #endif
00042 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE)
00043     TPETRAEXT_BLOCKEXTRACTION_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00044 #endif
00045 #endif
00046 
00047 #if defined(HAVE_TPETRA_INST_COMPLEX_FLOAT)
00048   TPETRAEXT_BLOCKEXTRACTION_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode)
00049 #if defined(HAVE_KOKKOS_TBB)
00050   TPETRAEXT_BLOCKEXTRACTION_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode)
00051 #endif
00052 #if defined(HAVE_KOKKOS_THREADPOOL)
00053     TPETRAEXT_BLOCKEXTRACTION_INSTANT(std::complex<float>,int,int,Kokkos::TPINode)
00054 #endif
00055 // no complex on GPU support for now
00056 //#if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE)
00057 //    TPETRAEXT_BLOCKEXTRACTION_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00058 //#endif
00059 #endif
00060 
00061 #if defined(HAVE_TPETRA_INST_COMPLEX_DOUBLE)
00062   TPETRAEXT_BLOCKEXTRACTION_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode)
00063 #if defined(HAVE_KOKKOS_TBB)
00064   TPETRAEXT_BLOCKEXTRACTION_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode)
00065 #endif
00066 #if defined(HAVE_KOKKOS_THREADPOOL)
00067     TPETRAEXT_BLOCKEXTRACTION_INSTANT(std::complex<double>,int,int,Kokkos::TPINode)
00068 #endif
00069 // no complex on GPU support for now
00070 //#if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE)
00071 //    TPETRAEXT_BLOCKEXTRACTION_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00072 //#endif
00073 #endif
00074 
00075   } // end Tpetra::Ext::
00076 } // end Tpetra::
00077 
00078 #endif // HAVE_TPETRA_EXPLICIT_INSTANTIATION
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines