Xpetra
Version of the Day
Loading...
Searching...
No Matches
Xpetra_EpetraCrsMatrix.cpp
Go to the documentation of this file.
1
// @HEADER
2
//
3
// ***********************************************************************
4
//
5
// Xpetra: A linear algebra interface package
6
// Copyright 2012 Sandia Corporation
7
//
8
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9
// the U.S. Government retains certain rights in this software.
10
//
11
// Redistribution and use in source and binary forms, with or without
12
// modification, are permitted provided that the following conditions are
13
// met:
14
//
15
// 1. Redistributions of source code must retain the above copyright
16
// notice, this list of conditions and the following disclaimer.
17
//
18
// 2. Redistributions in binary form must reproduce the above copyright
19
// notice, this list of conditions and the following disclaimer in the
20
// documentation and/or other materials provided with the distribution.
21
//
22
// 3. Neither the name of the Corporation nor the names of the
23
// contributors may be used to endorse or promote products derived from
24
// this software without specific prior written permission.
25
//
26
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
//
38
// Questions? Contact
39
// Jonathan Hu (jhu@sandia.gov)
40
// Andrey Prokopenko (aprokop@sandia.gov)
41
// Ray Tuminaro (rstumin@sandia.gov)
42
//
43
// ***********************************************************************
44
//
45
// @HEADER
46
#include <
Teuchos_Array.hpp
>
47
#include "
Xpetra_EpetraCrsMatrix.hpp
"
48
49
namespace
Xpetra
{
50
51
#ifndef XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES
52
#ifdef HAVE_XPETRA_TPETRA
53
#include "TpetraCore_config.h"
54
#if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \
55
(!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL)))
56
template
class
EpetraCrsMatrixT<int, Xpetra::EpetraNode >
;
57
#endif
58
59
#ifdef HAVE_TPETRA_INST_SERIAL
60
template
class
EpetraCrsMatrixT<int, Kokkos::Compat::KokkosSerialWrapperNode >
;
61
#endif
62
#ifdef HAVE_TPETRA_INST_PTHREAD
63
template
class
EpetraCrsMatrixT<int, Kokkos::Compat::KokkosThreadsWrapperNode>
;
64
#endif
65
#ifdef HAVE_TPETRA_INST_OPENMP
66
template
class
EpetraCrsMatrixT<int, Kokkos::Compat::KokkosOpenMPWrapperNode >
;
67
#endif
68
#ifdef HAVE_TPETRA_INST_CUDA
69
typedef
Kokkos::Compat::KokkosCudaWrapperNode default_node_type;
70
template
class
EpetraCrsMatrixT<int, default_node_type >
;
71
#endif
72
#ifdef HAVE_TPETRA_INST_HIP
73
typedef
Kokkos::Compat::KokkosHIPWrapperNode default_node_type;
74
template
class
EpetraCrsMatrixT<int, default_node_type >
;
75
#endif
76
#else
77
// Tpetra is disabled and Kokkos not available: use dummy node type
78
typedef
Xpetra::EpetraNode
default_node_type;
79
template
class
EpetraCrsMatrixT<int, default_node_type >
;
80
#endif
// HAVE_XPETRA_TPETRA
81
#endif
82
83
#ifndef XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES
84
#ifdef HAVE_XPETRA_TPETRA
85
#include "TpetraCore_config.h"
86
#if ((defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_OPENMP)) || \
87
(!defined(EPETRA_HAVE_OMP) && !defined(HAVE_TPETRA_INST_SERIAL)))
88
template
class
EpetraCrsMatrixT<long long, Xpetra::EpetraNode >
;
89
#endif
90
91
#ifdef HAVE_TPETRA_INST_SERIAL
92
template
class
EpetraCrsMatrixT<long long, Kokkos::Compat::KokkosSerialWrapperNode >
;
93
#endif
94
#ifdef HAVE_TPETRA_INST_PTHREAD
95
template
class
EpetraCrsMatrixT<long long, Kokkos::Compat::KokkosThreadsWrapperNode>
;
96
#endif
97
#ifdef HAVE_TPETRA_INST_OPENMP
98
template
class
EpetraCrsMatrixT<long long, Kokkos::Compat::KokkosOpenMPWrapperNode >
;
99
#endif
100
#ifdef HAVE_TPETRA_INST_CUDA
101
typedef
Kokkos::Compat::KokkosCudaWrapperNode default_node_type;
102
template
class
EpetraCrsMatrixT<long long, default_node_type >
;
103
#endif
104
#ifdef HAVE_TPETRA_INST_HIP
105
typedef
Kokkos::Compat::KokkosHIPWrapperNode default_node_type;
106
template
class
EpetraCrsMatrixT<long long, default_node_type >
;
107
#endif
108
#else
109
// Tpetra is disabled and Kokkos not available: use dummy node type
110
typedef
Xpetra::EpetraNode
default_node_type;
111
template
class
EpetraCrsMatrixT<long long, default_node_type >
;
112
#endif
// HAVE_XPETRA_TPETRA
113
#endif
114
115
}
Teuchos_Array.hpp
Xpetra_EpetraCrsMatrix.hpp
Xpetra::EpetraCrsMatrixT
Definition
Xpetra_EpetraCrsMatrix.hpp:78
Xpetra
Xpetra namespace
Definition
Xpetra_BlockedCrsMatrix.hpp:89
Xpetra::EpetraNode
Kokkos::Compat::KokkosSerialWrapperNode EpetraNode
Definition
Xpetra_Map_decl.hpp:71
src
CrsMatrix
Xpetra_EpetraCrsMatrix.cpp
Generated by
1.13.2