// Don't bother compiling anything, or even including anything else,
// unless KokkosOpenMPWrapperNode is enabled.
#if defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(HAVE_TPETRA_INST_OPENMP)

#include "Tpetra_CrsGraph_decl.hpp"
#include "TpetraCore_ETIHelperMacros.h"
#include "Tpetra_CrsGraph_def.hpp"

// The first macro instantiates just the graph stuff.  The second
// instantiates CrsGraph methods templated on Scalar type that
// CrsMatrix needs.  The two must be handled separately, to avoid link
// errors resulting from redundant instantiations.

#define TPETRA_CRSGRAPH_GRAPH_INSTANT_OPENMPWRAPPERNODE( LO, GO ) \
  TPETRA_CRSGRAPH_GRAPH_INSTANT( LO, GO, Kokkos::Compat::KokkosOpenMPWrapperNode )

#define TPETRA_CRSGRAPH_INSTANT_OPENMPWRAPPERNODE( SCALAR, LO, GO ) \
  TPETRA_CRSGRAPH_INSTANT( SCALAR, LO, GO, Kokkos::Compat::KokkosOpenMPWrapperNode )

namespace Tpetra {

  TPETRA_ETI_MANGLING_TYPEDEFS()

  TPETRA_INSTANTIATE_LG(TPETRA_CRSGRAPH_GRAPH_INSTANT_OPENMPWRAPPERNODE)

  TPETRA_INSTANTIATE_SLG(TPETRA_CRSGRAPH_INSTANT_OPENMPWRAPPERNODE)

} // namespace Tpetra

#endif // defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(HAVE_TPETRA_INST_OPENMP)
// Don't bother compiling anything, or even including anything else,
// unless KokkosCudaWrapperNode is enabled.
#if defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(HAVE_TPETRA_INST_CUDA)

#include "Tpetra_CrsGraph_decl.hpp"
#include "TpetraCore_ETIHelperMacros.h"
#include "Tpetra_CrsGraph_def.hpp"

// The first macro instantiates just the graph stuff.  The second
// instantiates CrsGraph methods templated on Scalar type that
// CrsMatrix needs.  The two must be handled separately, to avoid link
// errors resulting from redundant instantiations.

#define TPETRA_CRSGRAPH_GRAPH_INSTANT_CUDAWRAPPERNODE( LO, GO ) \
  TPETRA_CRSGRAPH_GRAPH_INSTANT( LO, GO, Kokkos::Compat::KokkosCudaWrapperNode )

#define TPETRA_CRSGRAPH_INSTANT_CUDAWRAPPERNODE( SCALAR, LO, GO ) \
  TPETRA_CRSGRAPH_INSTANT( SCALAR, LO, GO, Kokkos::Compat::KokkosCudaWrapperNode )

namespace Tpetra {

  TPETRA_ETI_MANGLING_TYPEDEFS()

  TPETRA_INSTANTIATE_LG(TPETRA_CRSGRAPH_GRAPH_INSTANT_CUDAWRAPPERNODE)

  TPETRA_INSTANTIATE_SLG(TPETRA_CRSGRAPH_INSTANT_CUDAWRAPPERNODE)

} // namespace Tpetra

#endif // defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(HAVE_TPETRA_INST_CUDA)
Example #3
0
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Questions? Contact Michael A. Heroux ([email protected]) 
// 
// ************************************************************************
// @HEADER
*/

#include "Tpetra_Map.hpp"

#ifdef HAVE_TPETRA_EXPLICIT_INSTANTIATION

#include "Tpetra_ETIHelperMacros.h"
#include "Tpetra_Map_def.hpp"

namespace Tpetra {

  TPETRA_ETI_MANGLING_TYPEDEFS()

  // for all nodes, lo, go
  TPETRA_INSTANTIATE_LGN(TPETRA_MAP_INSTANT)

  // for default node, all lo,go
  TPETRA_INSTANTIATE_LG(TPETRA_MAP_INSTANT_DEFAULTNODE)

} // namespace Tpetra

#endif // HAVE_TPETRA_EXPLICIT_INSTANTIATION
// Don't bother compiling anything, or even including anything else,
// unless TBBNode is enabled.
#if defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(HAVE_KOKKOSCLASSIC_TBB)

#include "Tpetra_CrsGraph_decl.hpp"
#include "TpetraCore_ETIHelperMacros.h"
#include "Tpetra_CrsGraph_def.hpp"

// The first macro instantiates just the graph stuff.  The second
// instantiates CrsGraph methods templated on Scalar type that
// CrsMatrix needs.  The two must be handled separately, to avoid link
// errors resulting from redundant instantiations.

#define TPETRA_CRSGRAPH_GRAPH_INSTANT_TBBNODE( LO, GO ) \
  TPETRA_CRSGRAPH_GRAPH_INSTANT( LO, GO, KokkosClassic::DoNotUse::TBBNode )

#define TPETRA_CRSGRAPH_INSTANT_TBBNODE( SCALAR, LO, GO ) \
  TPETRA_CRSGRAPH_INSTANT( SCALAR, LO, GO, KokkosClassic::DoNotUse::TBBNode )

namespace Tpetra {

  TPETRA_ETI_MANGLING_TYPEDEFS()

  TPETRA_INSTANTIATE_LG(TPETRA_CRSGRAPH_GRAPH_INSTANT_TBBNODE)

  TPETRA_INSTANTIATE_SLG(TPETRA_CRSGRAPH_INSTANT_TBBNODE)

} // namespace Tpetra

#endif // defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(HAVE_KOKKOSCLASSIC_TBB)