Tpetra Matrix/Vector Services Version of the Day
TpetraExt_MMHelpers.cpp
00001 /*
00002 // @HEADER
00003 // ***********************************************************************
00004 // 
00005 //          Tpetra: Templated Linear Algebra Services Package
00006 //                 Copyright (2008) Sandia Corporation
00007 // 
00008 // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
00009 // the U.S. Government retains certain rights in this software.
00010 // 
00011 // Redistribution and use in source and binary forms, with or without
00012 // modification, are permitted provided that the following conditions are
00013 // met:
00014 //
00015 // 1. Redistributions of source code must retain the above copyright
00016 // notice, this list of conditions and the following disclaimer.
00017 //
00018 // 2. Redistributions in binary form must reproduce the above copyright
00019 // notice, this list of conditions and the following disclaimer in the
00020 // documentation and/or other materials provided with the distribution.
00021 //
00022 // 3. Neither the name of the Corporation nor the names of the
00023 // contributors may be used to endorse or promote products derived from
00024 // this software without specific prior written permission.
00025 //
00026 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
00027 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00028 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00029 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
00030 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00031 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00032 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00033 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
00034 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00035 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00036 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00037 //
00038 // Questions? Contact Michael A. Heroux (maherou@sandia.gov) 
00039 // 
00040 // ************************************************************************
00041 // @HEADER
00042 */
00043 
00044 #include "TpetraExt_MMHelpers.hpp"
00045 
00046 #ifdef HAVE_TPETRA_EXPLICIT_INSTANTIATION
00047 
00048 // #include "Tpetra_ExplicitInstantiationHelpers.hpp"
00049 
00050 #include "TpetraExt_MMHelpers_def.hpp"
00051 
00052 #include <Kokkos_SerialNode.hpp>
00053 #if defined(HAVE_KOKKOSCLASSIC_OPENMP)
00054 #  include <Kokkos_OpenMPNode.hpp>
00055 #endif
00056 #if defined(HAVE_KOKKOSCLASSIC_TBB)
00057 #  include <Kokkos_TBBNode.hpp>
00058 #endif
00059 #if defined(HAVE_KOKKOSCLASSIC_THREADPOOL)
00060 #  include <Kokkos_TPINode.hpp>
00061 #endif
00062 #if defined(HAVE_KOKKOSCLASSIC_THRUST)
00063 #  include <Kokkos_ThrustGPUNode.hpp>
00064 #endif
00065 
00066 namespace Tpetra {
00067 
00068 #if defined(HAVE_TPETRA_INST_DOUBLE)
00069   TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::SerialNode)
00070   TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::SerialNode)
00071   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::SerialNode)
00072   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::SerialNode)
00073 #if defined(HAVE_KOKKOSCLASSIC_OPENMP)
00074   TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::OpenMPNode)
00075   TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::OpenMPNode)
00076   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::OpenMPNode)
00077   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::OpenMPNode)
00078 #endif
00079 #if defined(HAVE_KOKKOSCLASSIC_TBB)
00080   TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::TBBNode)
00081   TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::TBBNode)
00082   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::TBBNode)
00083   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::TBBNode)
00084 #endif
00085 #if defined(HAVE_KOKKOSCLASSIC_THREADPOOL)
00086     TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::TPINode)
00087     TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::TPINode)
00088     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::TPINode)
00089     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::TPINode)
00090 #endif
00091 #if defined(HAVE_KOKKOSCLASSIC_THRUST) && defined(HAVE_KOKKOSCLASSIC_CUDA_DOUBLE)
00092     TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00093     TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00094     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00095     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00096 #endif
00097 #endif // double
00098 #if defined(HAVE_TPETRA_INST_FLOAT)
00099   TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,int,Kokkos::SerialNode)
00100   TPETRA_CRSWRAPPER_INSTANT(float,int,int,Kokkos::SerialNode)
00101   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,int,Kokkos::SerialNode)
00102   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,int,Kokkos::SerialNode)
00103 #if defined(HAVE_KOKKOSCLASSIC_OPENMP)
00104   TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,int,Kokkos::OpenMPNode)
00105   TPETRA_CRSWRAPPER_INSTANT(float,int,int,Kokkos::OpenMPNode)
00106   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,int,Kokkos::OpenMPNode)
00107   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,int,Kokkos::OpenMPNode)
00108 #endif
00109 #if defined(HAVE_KOKKOSCLASSIC_TBB)
00110   TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,int,Kokkos::TBBNode)
00111   TPETRA_CRSWRAPPER_INSTANT(float,int,int,Kokkos::TBBNode)
00112   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,int,Kokkos::TBBNode)
00113   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,int,Kokkos::TBBNode)
00114 #endif
00115 #if defined(HAVE_KOKKOSCLASSIC_THREADPOOL)
00116   TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,int,Kokkos::TPINode)
00117   TPETRA_CRSWRAPPER_INSTANT(float,int,int,Kokkos::TPINode)
00118   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,int,Kokkos::TPINode)
00119   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,int,Kokkos::TPINode)
00120 #endif
00121 #if defined(HAVE_KOKKOSCLASSIC_THRUST) && defined(HAVE_KOKKOSCLASSIC_CUDA_FLOAT)
00122     TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,int,Kokkos::ThrustGPUNode)
00123     TPETRA_CRSWRAPPER_INSTANT(float,int,int,Kokkos::ThrustGPUNode)
00124     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,int,Kokkos::ThrustGPUNode)
00125     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,int,Kokkos::ThrustGPUNode)
00126 #endif
00127 #endif // float
00128 #if defined(HAVE_TPETRA_INST_COMPLEX_DOUBLE)
00129   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode)
00130   TPETRA_CRSWRAPPER_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode)
00131   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode)
00132   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<double>,int,int,Kokkos::SerialNode)
00133 #if defined(HAVE_KOKKOSCLASSIC_OPENMP)
00134   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<double>,int,int,Kokkos::OpenMPNode)
00135   TPETRA_CRSWRAPPER_INSTANT(std::complex<double>,int,int,Kokkos::OpenMPNode)
00136   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<double>,int,int,Kokkos::OpenMPNode)
00137   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<double>,int,int,Kokkos::OpenMPNode)
00138 #endif
00139 #if defined(HAVE_KOKKOSCLASSIC_TBB)
00140   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode)
00141   TPETRA_CRSWRAPPER_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode)
00142   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode)
00143   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<double>,int,int,Kokkos::TBBNode)
00144 #endif
00145 #if defined(HAVE_KOKKOSCLASSIC_THREADPOOL)
00146     TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<double>,int,int,Kokkos::TPINode)
00147     TPETRA_CRSWRAPPER_INSTANT(std::complex<double>,int,int,Kokkos::TPINode)
00148     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<double>,int,int,Kokkos::TPINode)
00149     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<double>,int,int,Kokkos::TPINode)
00150 #endif
00151 // no complex on GPU support for now
00152 //#if defined(HAVE_KOKKOSCLASSIC_THRUST) && defined(HAVE_KOKKOSCLASSIC_CUDA_DOUBLE)
00153 //    TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00154 //    TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00155 //    TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00156 //    TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00157 //#endif
00158 #endif // complex double
00159 #if defined(HAVE_TPETRA_INST_COMPLEX_FLOAT)
00160   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode)
00161   TPETRA_CRSWRAPPER_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode)
00162   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode)
00163   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<float>,int,int,Kokkos::SerialNode)
00164 #if defined(HAVE_KOKKOSCLASSIC_OPENMP)
00165   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<float>,int,int,Kokkos::OpenMPNode)
00166   TPETRA_CRSWRAPPER_INSTANT(std::complex<float>,int,int,Kokkos::OpenMPNode)
00167   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<float>,int,int,Kokkos::OpenMPNode)
00168   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<float>,int,int,Kokkos::OpenMPNode)
00169 #endif
00170 #if defined(HAVE_KOKKOSCLASSIC_TBB)
00171   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode)
00172   TPETRA_CRSWRAPPER_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode)
00173   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode)
00174   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<float>,int,int,Kokkos::TBBNode)
00175 #endif
00176 #if defined(HAVE_KOKKOSCLASSIC_THREADPOOL)
00177     TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<float>,int,int,Kokkos::TPINode)
00178     TPETRA_CRSWRAPPER_INSTANT(std::complex<float>,int,int,Kokkos::TPINode)
00179     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<float>,int,int,Kokkos::TPINode)
00180     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<float>,int,int,Kokkos::TPINode)
00181 #endif
00182 // no complex on GPU support for now
00183 //#if defined(HAVE_KOKKOSCLASSIC_THRUST) && defined(HAVE_KOKKOSCLASSIC_CUDA_DOUBLE)
00184 //    TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00185 //    TPETRA_CRSWRAPPER_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00186 //    TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00187 //    TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,int,Kokkos::ThrustGPUNode)
00188 //#endif
00189 #endif // complex float
00190 
00191 
00192 #ifdef HAVE_TPETRA_INST_INT_LONG
00193 #if defined(HAVE_TPETRA_INST_DOUBLE)
00194   TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,long,Kokkos::SerialNode)
00195   TPETRA_CRSWRAPPER_INSTANT(double,int,long,Kokkos::SerialNode)
00196   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,long,Kokkos::SerialNode)
00197   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,long,Kokkos::SerialNode)
00198 #if defined(HAVE_KOKKOSCLASSIC_OPENMP)
00199   TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,long,Kokkos::OpenMPNode)
00200   TPETRA_CRSWRAPPER_INSTANT(double,int,long,Kokkos::OpenMPNode)
00201   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,long,Kokkos::OpenMPNode)
00202   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,long,Kokkos::OpenMPNode)
00203 #endif
00204 #if defined(HAVE_KOKKOSCLASSIC_TBB)
00205   TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,long,Kokkos::TBBNode)
00206   TPETRA_CRSWRAPPER_INSTANT(double,int,long,Kokkos::TBBNode)
00207   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,long,Kokkos::TBBNode)
00208   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,long,Kokkos::TBBNode)
00209 #endif
00210 #if defined(HAVE_KOKKOSCLASSIC_THREADPOOL)
00211     TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,long,Kokkos::TPINode)
00212     TPETRA_CRSWRAPPER_INSTANT(double,int,long,Kokkos::TPINode)
00213     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,long,Kokkos::TPINode)
00214     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,long,Kokkos::TPINode)
00215 #endif
00216 #if defined(HAVE_KOKKOSCLASSIC_THRUST) && defined(HAVE_KOKKOSCLASSIC_CUDA_DOUBLE)
00217     TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,long,Kokkos::ThrustGPUNode)
00218     TPETRA_CRSWRAPPER_INSTANT(double,int,long,Kokkos::ThrustGPUNode)
00219     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,long,Kokkos::ThrustGPUNode)
00220     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,long,Kokkos::ThrustGPUNode)
00221 #endif
00222 #endif // double
00223 #if defined(HAVE_TPETRA_INST_FLOAT)
00224   TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,long,Kokkos::SerialNode)
00225   TPETRA_CRSWRAPPER_INSTANT(float,int,long,Kokkos::SerialNode)
00226   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,long,Kokkos::SerialNode)
00227   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,long,Kokkos::SerialNode)
00228 #if defined(HAVE_KOKKOSCLASSIC_OPENMP)
00229   TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,long,Kokkos::OpenMPNode)
00230   TPETRA_CRSWRAPPER_INSTANT(float,int,long,Kokkos::OpenMPNode)
00231   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,long,Kokkos::OpenMPNode)
00232   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,long,Kokkos::OpenMPNode)
00233 #endif
00234 #if defined(HAVE_KOKKOSCLASSIC_TBB)
00235   TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,long,Kokkos::TBBNode)
00236   TPETRA_CRSWRAPPER_INSTANT(float,int,long,Kokkos::TBBNode)
00237   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,long,Kokkos::TBBNode)
00238   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,long,Kokkos::TBBNode)
00239 #endif
00240 #if defined(HAVE_KOKKOSCLASSIC_THREADPOOL)
00241   TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,long,Kokkos::TPINode)
00242   TPETRA_CRSWRAPPER_INSTANT(float,int,long,Kokkos::TPINode)
00243   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,long,Kokkos::TPINode)
00244   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,long,Kokkos::TPINode)
00245 #endif
00246 #if defined(HAVE_KOKKOSCLASSIC_THRUST) && defined(HAVE_KOKKOSCLASSIC_CUDA_FLOAT)
00247     TPETRA_CRSMATRIXSTRUCT_INSTANT(float,int,long,Kokkos::ThrustGPUNode)
00248     TPETRA_CRSWRAPPER_INSTANT(float,int,long,Kokkos::ThrustGPUNode)
00249     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(float,int,long,Kokkos::ThrustGPUNode)
00250     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(float,int,long,Kokkos::ThrustGPUNode)
00251 #endif
00252 #endif // float
00253 #if defined(HAVE_TPETRA_INST_COMPLEX_DOUBLE)
00254   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<double>,int,long,Kokkos::SerialNode)
00255   TPETRA_CRSWRAPPER_INSTANT(std::complex<double>,int,long,Kokkos::SerialNode)
00256   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<double>,int,long,Kokkos::SerialNode)
00257   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<double>,int,long,Kokkos::SerialNode)
00258 #if defined(HAVE_KOKKOSCLASSIC_OPENMP)
00259   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<double>,int,long,Kokkos::OpenMPNode)
00260   TPETRA_CRSWRAPPER_INSTANT(std::complex<double>,int,long,Kokkos::OpenMPNode)
00261   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<double>,int,long,Kokkos::OpenMPNode)
00262   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<double>,int,long,Kokkos::OpenMPNode)
00263 #endif
00264 #if defined(HAVE_KOKKOSCLASSIC_TBB)
00265   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<double>,int,long,Kokkos::TBBNode)
00266   TPETRA_CRSWRAPPER_INSTANT(std::complex<double>,int,long,Kokkos::TBBNode)
00267   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<double>,int,long,Kokkos::TBBNode)
00268   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<double>,int,long,Kokkos::TBBNode)
00269 #endif
00270 #if defined(HAVE_KOKKOSCLASSIC_THREADPOOL)
00271     TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<double>,int,long,Kokkos::TPINode)
00272     TPETRA_CRSWRAPPER_INSTANT(std::complex<double>,int,long,Kokkos::TPINode)
00273     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<double>,int,long,Kokkos::TPINode)
00274     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<double>,int,long,Kokkos::TPINode)
00275 #endif
00276 // no complex on GPU support for now
00277 //#if defined(HAVE_KOKKOSCLASSIC_THRUST) && defined(HAVE_KOKKOSCLASSIC_CUDA_DOUBLE)
00278 //    TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,long,Kokkos::ThrustGPUNode)
00279 //    TPETRA_CRSWRAPPER_INSTANT(double,int,long,Kokkos::ThrustGPUNode)
00280 //    TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,long,Kokkos::ThrustGPUNode)
00281 //    TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,long,Kokkos::ThrustGPUNode)
00282 //#endif
00283 #endif // complex double
00284 #if defined(HAVE_TPETRA_INST_COMPLEX_FLOAT)
00285   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<float>,int,long,Kokkos::SerialNode)
00286   TPETRA_CRSWRAPPER_INSTANT(std::complex<float>,int,long,Kokkos::SerialNode)
00287   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<float>,int,long,Kokkos::SerialNode)
00288   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<float>,int,long,Kokkos::SerialNode)
00289 #if defined(HAVE_KOKKOSCLASSIC_OPENMP)
00290   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<float>,int,long,Kokkos::OpenMPNode)
00291   TPETRA_CRSWRAPPER_INSTANT(std::complex<float>,int,long,Kokkos::OpenMPNode)
00292   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<float>,int,long,Kokkos::OpenMPNode)
00293   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<float>,int,long,Kokkos::OpenMPNode)
00294 #endif
00295 #if defined(HAVE_KOKKOSCLASSIC_TBB)
00296   TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<float>,int,long,Kokkos::TBBNode)
00297   TPETRA_CRSWRAPPER_INSTANT(std::complex<float>,int,long,Kokkos::TBBNode)
00298   TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<float>,int,long,Kokkos::TBBNode)
00299   TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<float>,int,long,Kokkos::TBBNode)
00300 #endif
00301 #if defined(HAVE_KOKKOSCLASSIC_THREADPOOL)
00302     TPETRA_CRSMATRIXSTRUCT_INSTANT(std::complex<float>,int,long,Kokkos::TPINode)
00303     TPETRA_CRSWRAPPER_INSTANT(std::complex<float>,int,long,Kokkos::TPINode)
00304     TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(std::complex<float>,int,long,Kokkos::TPINode)
00305     TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(std::complex<float>,int,long,Kokkos::TPINode)
00306 #endif
00307 // no complex on GPU support for now
00308 //#if defined(HAVE_KOKKOSCLASSIC_THRUST) && defined(HAVE_KOKKOSCLASSIC_CUDA_DOUBLE)
00309 //    TPETRA_CRSMATRIXSTRUCT_INSTANT(double,int,long,Kokkos::ThrustGPUNode)
00310 //    TPETRA_CRSWRAPPER_INSTANT(double,int,long,Kokkos::ThrustGPUNode)
00311 //    TPETRA_CRSWRAPPER_CRSMATRIX_INSTANT(double,int,long,Kokkos::ThrustGPUNode)
00312 //    TPETRA_CRSWRAPPER_GRAPHBUILDER_INSTANT(double,int,long,Kokkos::ThrustGPUNode)
00313 //#endif
00314 #endif // complex float
00315 #endif // <int,long>
00316 
00317 
00318 } // namespace Tpetra
00319 
00320 #endif // HAVE_TPETRA_EXPLICIT_INSTANTIATION
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines