|
Tpetra Matrix/Vector Services Version of the Day
|
00001 #include "Tpetra_Vector.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_Vector_def.hpp" 00019 00020 namespace Tpetra { 00021 00022 TPETRA_VECTOR_INSTANT(int,int,int,Kokkos::SerialNode) 00023 #if defined(HAVE_KOKKOS_TBB) 00024 TPETRA_VECTOR_INSTANT(int,int,int,Kokkos::TBBNode) 00025 #endif 00026 #if defined(HAVE_KOKKOS_THREADPOOL) 00027 TPETRA_VECTOR_INSTANT(int,int,int,Kokkos::TPINode) 00028 #endif 00029 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_FLOAT) 00030 TPETRA_VECTOR_INSTANT(int,int,int,Kokkos::ThrustGPUNode) 00031 #endif 00032 00033 #if defined(HAVE_TPETRA_INST_FLOAT) 00034 TPETRA_VECTOR_INSTANT(float,int,int,Kokkos::SerialNode) 00035 #if defined(HAVE_KOKKOS_TBB) 00036 TPETRA_VECTOR_INSTANT(float,int,int,Kokkos::TBBNode) 00037 #endif 00038 #if defined(HAVE_KOKKOS_THREADPOOL) 00039 TPETRA_VECTOR_INSTANT(float,int,int,Kokkos::TPINode) 00040 #endif 00041 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_FLOAT) 00042 TPETRA_VECTOR_INSTANT(float,int,int,Kokkos::ThrustGPUNode) 00043 #endif 00044 #endif 00045 00046 #if defined(HAVE_TPETRA_INST_DOUBLE) 00047 TPETRA_VECTOR_INSTANT(double,int,int,Kokkos::SerialNode) 00048 #if defined(HAVE_KOKKOS_TBB) 00049 TPETRA_VECTOR_INSTANT(double,int,int,Kokkos::TBBNode) 00050 #endif 00051 #if defined(HAVE_KOKKOS_THREADPOOL) 00052 TPETRA_VECTOR_INSTANT(double,int,int,Kokkos::TPINode) 00053 #endif 00054 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE) 00055 TPETRA_VECTOR_INSTANT(double,int,int,Kokkos::ThrustGPUNode) 00056 #endif 00057 #endif 00058 00059 #if defined(HAVE_TPETRA_INST_COMPLEX_FLOAT) 00060 TPETRA_VECTOR_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode) 00061 #if defined(HAVE_KOKKOS_TBB) 00062 TPETRA_VECTOR_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode) 00063 #endif 00064 #if defined(HAVE_KOKKOS_THREADPOOL) 00065 TPETRA_VECTOR_INSTANT(std::complex<float>,int,int,Kokkos::TPINode) 00066 #endif 00067 // no complex on GPU support for now 00068 //#if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE) 00069 // TPETRA_VECTOR_INSTANT(double,int,int,Kokkos::ThrustGPUNode) 00070 //#endif 00071 #endif 00072 00073 #if defined(HAVE_TPETRA_INST_COMPLEX_DOUBLE) 00074 TPETRA_VECTOR_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode) 00075 #if defined(HAVE_KOKKOS_TBB) 00076 TPETRA_VECTOR_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode) 00077 #endif 00078 #if defined(HAVE_KOKKOS_THREADPOOL) 00079 TPETRA_VECTOR_INSTANT(std::complex<double>,int,int,Kokkos::TPINode) 00080 #endif 00081 // no complex on GPU support for now 00082 //#if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE) 00083 // TPETRA_VECTOR_INSTANT(double,int,int,Kokkos::ThrustGPUNode) 00084 //#endif 00085 #endif 00086 00087 00088 } // namespace Tpetra 00089 00090 #endif // HAVE_TPETRA_EXPLICIT_INSTANTIATION
1.7.4