Tpetra Matrix/Vector Services Version of the Day
Tpetra_CrsMatrix.cpp
00001 #include "Tpetra_CrsMatrix.hpp"
00002 
00003 #ifdef HAVE_TPETRA_EXPLICIT_INSTANTIATION
00004 
00005 // #include "Tpetra_ExplicitInstantiationHelpers.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 #include "Tpetra_CrsMatrix_def.hpp"
00019 #include "Tpetra_CrsGraph_def.hpp"
00020 
00021 namespace Tpetra {
00022 
00023 #if defined(HAVE_TPETRA_INST_FLOAT)
00024   TPETRA_CRSMATRIX_INSTANT(float,int,int,Kokkos::SerialNode)
00025 #if defined(HAVE_KOKKOS_TBB)
00026   TPETRA_CRSMATRIX_INSTANT(float,int,int,Kokkos::TBBNode)
00027 #endif
00028 #if defined(HAVE_KOKKOS_THREADPOOL)
00029     TPETRA_CRSMATRIX_INSTANT(float,int,int,Kokkos::TPINode)
00030 #endif
00031 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_FLOAT)
00032     TPETRA_CRSMATRIX_INSTANT(float,int,int,Kokkos::ThrustGPUNode)
00033 #endif
00034 #endif
00035 
00036 #if defined(HAVE_TPETRA_INST_DOUBLE)
00037   TPETRA_CRSMATRIX_INSTANT(double,int,int,Kokkos::SerialNode)
00038 #if defined(HAVE_KOKKOS_TBB)
00039   TPETRA_CRSMATRIX_INSTANT(double,int,int,Kokkos::TBBNode)
00040 #endif
00041 #if defined(HAVE_KOKKOS_THREADPOOL)
00042     TPETRA_CRSMATRIX_INSTANT(double,int,int,Kokkos::TPINode)
00043 #endif
00044 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE)
00045     TPETRA_CRSMATRIX_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00046 #endif
00047 #endif
00048 
00049 #if defined(HAVE_TPETRA_INST_COMPLEX_FLOAT)
00050   TPETRA_CRSMATRIX_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode)
00051 #if defined(HAVE_KOKKOS_TBB)
00052   TPETRA_CRSMATRIX_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode)
00053 #endif
00054 #if defined(HAVE_KOKKOS_THREADPOOL)
00055     TPETRA_CRSMATRIX_INSTANT(std::complex<float>,int,int,Kokkos::TPINode)
00056 #endif
00057 // no complex on GPU support for now
00058 //#if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE)
00059 //    TPETRA_CRSMATRIX_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00060 //#endif
00061 #endif
00062 
00063 #if defined(HAVE_TPETRA_INST_COMPLEX_DOUBLE)
00064   TPETRA_CRSMATRIX_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode)
00065 #if defined(HAVE_KOKKOS_TBB)
00066   TPETRA_CRSMATRIX_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode)
00067 #endif
00068 #if defined(HAVE_KOKKOS_THREADPOOL)
00069     TPETRA_CRSMATRIX_INSTANT(std::complex<double>,int,int,Kokkos::TPINode)
00070 #endif
00071 // no complex on GPU support for now
00072 //#if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE)
00073 //    TPETRA_CRSMATRIX_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00074 //#endif
00075 #endif
00076 
00077 
00078 } // namespace Tpetra
00079 
00080 #endif // HAVE_TPETRA_EXPLICIT_INSTANTIATION
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines