Tpetra_MultiVector.cpp

00001 #include "Tpetra_MultiVector.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_MultiVector_def.hpp"
00019 
00020 namespace Tpetra {
00021 
00022   TPETRA_MULTIVECTOR_INSTANT(int,int,int,Kokkos::SerialNode)
00023 #if defined(HAVE_KOKKOS_TBB)
00024   TPETRA_MULTIVECTOR_INSTANT(int,int,int,Kokkos::TBBNode)
00025 #endif
00026 #if defined(HAVE_KOKKOS_THREADPOOL)
00027   TPETRA_MULTIVECTOR_INSTANT(int,int,int,Kokkos::TPINode)
00028 #endif
00029 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_FLOAT)
00030   TPETRA_MULTIVECTOR_INSTANT(int,int,int,Kokkos::ThrustGPUNode)
00031 #endif
00032 
00033 #if defined(HAVE_TPETRA_INST_FLOAT)
00034   TPETRA_MULTIVECTOR_INSTANT(float,int,int,Kokkos::SerialNode)
00035 #if defined(HAVE_KOKKOS_TBB)
00036   TPETRA_MULTIVECTOR_INSTANT(float,int,int,Kokkos::TBBNode)
00037 #endif
00038 #if defined(HAVE_KOKKOS_THREADPOOL)
00039     TPETRA_MULTIVECTOR_INSTANT(float,int,int,Kokkos::TPINode)
00040 #endif
00041 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_FLOAT)
00042     TPETRA_MULTIVECTOR_INSTANT(float,int,int,Kokkos::ThrustGPUNode)
00043 #endif
00044 #endif
00045 
00046 #if defined(HAVE_TPETRA_INST_DOUBLE)
00047   TPETRA_MULTIVECTOR_INSTANT(double,int,int,Kokkos::SerialNode)
00048 #if defined(HAVE_KOKKOS_TBB)
00049   TPETRA_MULTIVECTOR_INSTANT(double,int,int,Kokkos::TBBNode)
00050 #endif
00051 #if defined(HAVE_KOKKOS_THREADPOOL)
00052     TPETRA_MULTIVECTOR_INSTANT(double,int,int,Kokkos::TPINode)
00053 #endif
00054 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE)
00055     TPETRA_MULTIVECTOR_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00056 #endif
00057 #endif
00058 
00059 #if defined(HAVE_TPETRA_INST_COMPLEX_FLOAT)
00060   TPETRA_MULTIVECTOR_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode)
00061 #if defined(HAVE_KOKKOS_TBB)
00062   TPETRA_MULTIVECTOR_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode)
00063 #endif
00064 #if defined(HAVE_KOKKOS_THREADPOOL)
00065     TPETRA_MULTIVECTOR_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_MULTIVECTOR_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00070 //#endif
00071 #endif
00072 
00073 #if defined(HAVE_TPETRA_INST_COMPLEX_DOUBLE)
00074   TPETRA_MULTIVECTOR_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode)
00075 #if defined(HAVE_KOKKOS_TBB)
00076   TPETRA_MULTIVECTOR_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode)
00077 #endif
00078 #if defined(HAVE_KOKKOS_THREADPOOL)
00079     TPETRA_MULTIVECTOR_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_MULTIVECTOR_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00084 //#endif
00085 #endif
00086 
00087 
00088 } // namespace Tpetra
00089 
00090 #endif // HAVE_TPETRA_EXPLICIT_INSTANTIATION
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 10:21:41 2011 for Tpetra Matrix/Vector Services by  doxygen 1.6.3