|
Tpetra Matrix/Vector Services Version of the Day
|
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
1.7.4