Tpetra Matrix/Vector Services Version of the Day
TpetraExt_MMHelpers.cpp
00001 #include "TpetraExt_MMHelpers.hpp"
00002 
00003 #ifdef HAVE_TPETRA_EXPLICIT_INSTANTIATION
00004 
00005 // #include "Tpetra_ExplicitInstantiationHelpers.hpp"
00006 
00007 #include "TpetraExt_MMHelpers_def.hpp"
00008 
00009 #include <Kokkos_SerialNode.hpp>
00010 #if defined(HAVE_KOKKOS_TBB)
00011 #  include <Kokkos_TBBNode.hpp>
00012 #endif
00013 #if defined(HAVE_KOKKOS_THREADPOOL)
00014 #  include <Kokkos_TPINode.hpp>
00015 #endif
00016 #if defined(HAVE_KOKKOS_THRUST)
00017 #  include <Kokkos_ThrustGPUNode.hpp>
00018 #endif
00019 
00020 namespace Tpetra {
00021 
00022 #if defined(HAVE_TPETRA_INST_FLOAT)
00023   TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,int,Kokkos::SerialNode)
00024   TPETRA_CRSWRAPPER_INSTANT(float,int,int,Kokkos::SerialNode)
00025   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,int,Kokkos::SerialNode)
00026   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,int,Kokkos::SerialNode)
00027 #if defined(HAVE_KOKKOS_TBB)
00028   TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,int,Kokkos::TBBNode)
00029   TPETRA_CRSWRAPPER_INSTANT(float,int,int,Kokkos::TBBNode)
00030   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,int,Kokkos::TBBNode)
00031   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,int,Kokkos::TBBNode)
00032 #endif
00033 #if defined(HAVE_KOKKOS_THREADPOOL)
00034   TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,int,Kokkos::TPINode)
00035   TPETRA_CRSWRAPPER_INSTANT(float,int,int,Kokkos::TPINode)
00036   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,int,Kokkos::TPINode)
00037   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,int,Kokkos::TPINode)
00038 #endif
00039 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_FLOAT)
00040     TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,int,Kokkos::ThrustGPUNode)
00041     TPETRA_CRSWRAPPER_INSTANT(float,int,int,Kokkos::ThrustGPUNode)
00042     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,int,Kokkos::ThrustGPUNode)
00043     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,int,Kokkos::ThrustGPUNode)
00044 #endif
00045 #endif
00046 
00047 #if defined(HAVE_TPETRA_INST_DOUBLE)
00048   TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::SerialNode)
00049   TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::SerialNode)
00050   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::SerialNode)
00051   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::SerialNode)
00052 #if defined(HAVE_KOKKOS_TBB)
00053   TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::TBBNode)
00054   TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::TBBNode)
00055   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::TBBNode)
00056   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::TBBNode)
00057 #endif
00058 #if defined(HAVE_KOKKOS_THREADPOOL)
00059     TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::TPINode)
00060     TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::TPINode)
00061     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::TPINode)
00062     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::TPINode)
00063 #endif
00064 #if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE)
00065     TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00066     TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00067     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00068     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00069 #endif
00070 #endif
00071 
00072 #if defined(HAVE_TPETRA_INST_COMPLEX_FLOAT)
00073   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode)
00074   TPETRA_CRSWRAPPER_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode)
00075   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode)
00076   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode)
00077 #if defined(HAVE_KOKKOS_TBB)
00078   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode)
00079   TPETRA_CRSWRAPPER_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode)
00080   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode)
00081   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode)
00082 #endif
00083 #if defined(HAVE_KOKKOS_THREADPOOL)
00084     TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<float>,int,int,Kokkos::TPINode)
00085     TPETRA_CRSWRAPPER_INSTANT(std::complex<float>,int,int,Kokkos::TPINode)
00086     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<float>,int,int,Kokkos::TPINode)
00087     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<float>,int,int,Kokkos::TPINode)
00088 #endif
00089 // no complex on GPU support for now
00090 //#if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE)
00091 //    TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00092 //    TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00093 //    TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00094 //    TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00095 //#endif
00096 #endif
00097 
00098 #if defined(HAVE_TPETRA_INST_COMPLEX_DOUBLE)
00099   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode)
00100   TPETRA_CRSWRAPPER_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode)
00101   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode)
00102   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode)
00103 #if defined(HAVE_KOKKOS_TBB)
00104   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode)
00105   TPETRA_CRSWRAPPER_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode)
00106   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode)
00107   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode)
00108 #endif
00109 #if defined(HAVE_KOKKOS_THREADPOOL)
00110     TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<double>,int,int,Kokkos::TPINode)
00111     TPETRA_CRSWRAPPER_INSTANT(std::complex<double>,int,int,Kokkos::TPINode)
00112     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<double>,int,int,Kokkos::TPINode)
00113     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<double>,int,int,Kokkos::TPINode)
00114 #endif
00115 // no complex on GPU support for now
00116 //#if defined(HAVE_KOKKOS_THRUST) && defined(HAVE_KOKKOS_CUDA_DOUBLE)
00117 //    TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00118 //    TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00119 //    TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00120 //    TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00121 //#endif
00122 #endif
00123 
00124 
00125 } // namespace Tpetra
00126 
00127 #endif // HAVE_TPETRA_EXPLICIT_INSTANTIATION
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines