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 <Kokkos_SerialNode.hpp>
00006 #if defined(HAVE_KOKKOS_TBB)
00007 #  include <Kokkos_TBBNode.hpp>
00008 #endif
00009 #if defined(HAVE_KOKKOS_THREADPOOL)
00010 #  include <Kokkos_TPINode.hpp>
00011 #endif
00012 #if defined(HAVE_KOKKOS_THRUST)
00013 #  include <Kokkos_ThrustGPUNode.hpp>
00014 #endif
00015 
00016 #include "Tpetra_CrsMatrix_def.hpp"
00017 #include "Tpetra_CrsGraph_def.hpp"
00018 
00019 namespace Tpetra {
00020 
00021 #if defined(HAVE_TPETRA_INST_FLOAT)
00022   TPETRA_CRSMATRIX_INSTANT(float,int,int,Kokkos::SerialNode)
00023 #if defined(HAVE_KOKKOS_TBB)
00024   TPETRA_CRSMATRIX_INSTANT(float,int,int,Kokkos::TBBNode)
00025 #endif
00026 #if defined(HAVE_KOKKOS_THREADPOOL)
00027     TPETRA_CRSMATRIX_INSTANT(float,int,int,Kokkos::TPINode)
00028 #endif
00029 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_FLOAT)
00030     TPETRA_CRSMATRIX_INSTANT(float,int,int,Kokkos::ThrustGPUNode)
00031 #endif
00032 #endif
00033 
00034 #if defined(HAVE_TPETRA_INST_DOUBLE)
00035   TPETRA_CRSMATRIX_INSTANT(double,int,int,Kokkos::SerialNode)
00036 #if defined(HAVE_KOKKOS_TBB)
00037   TPETRA_CRSMATRIX_INSTANT(double,int,int,Kokkos::TBBNode)
00038 #endif
00039 #if defined(HAVE_KOKKOS_THREADPOOL)
00040     TPETRA_CRSMATRIX_INSTANT(double,int,int,Kokkos::TPINode)
00041 #endif
00042 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE)
00043     TPETRA_CRSMATRIX_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00044 #endif
00045 #endif
00046 
00047 #if defined(HAVE_TPETRA_INST_COMPLEX_FLOAT)
00048   TPETRA_CRSMATRIX_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode)
00049 #if defined(HAVE_KOKKOS_TBB)
00050   TPETRA_CRSMATRIX_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode)
00051 #endif
00052 #if defined(HAVE_KOKKOS_THREADPOOL)
00053     TPETRA_CRSMATRIX_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 //    TPETRA_CRSMATRIX_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00058 //#endif
00059 #endif
00060 
00061 #if defined(HAVE_TPETRA_INST_COMPLEX_DOUBLE)
00062   TPETRA_CRSMATRIX_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode)
00063 #if defined(HAVE_KOKKOS_TBB)
00064   TPETRA_CRSMATRIX_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode)
00065 #endif
00066 #if defined(HAVE_KOKKOS_THREADPOOL)
00067     TPETRA_CRSMATRIX_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 //    TPETRA_CRSMATRIX_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00072 //#endif
00073 #endif
00074 
00075 
00076 } // namespace Tpetra
00077 
00078 #endif // HAVE_TPETRA_EXPLICIT_INSTANTIATION
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines