Skip to content

Commit acbb1dc

Browse files
ndellingwoodeeprude
authored andcommitted
nox: update ArithTraits namespace for KOKKOS_VERSION > 40799
Compatibility update corresponding to kokkos/kokkos-kernels#2771 Signed-off-by: Nathan Ellingwood <ndellin@sandia.gov>
1 parent 4c00203 commit acbb1dc

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

packages/nox/src-loca/src-tpetra/LOCA_Tpetra_LowRankUpdateRowMatrix.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@
1313
#include "Tpetra_RowMatrix.hpp" // base class
1414
#include "Tpetra_Operator.hpp" // base class
1515
#include "NOX_TpetraTypedefs.hpp"
16+
#if KOKKOS_VERSION > 40799
17+
#include "KokkosKernels_ArithTraits.hpp"
18+
#else
1619
#include "Kokkos_ArithTraits.hpp"
20+
#endif
1721

1822
namespace LOCA {
1923
class GlobalData;
@@ -51,7 +55,11 @@ namespace LOCA {
5155
using local_ordinal_type = NOX::LocalOrdinal;
5256
using global_ordinal_type = NOX::GlobalOrdinal;
5357
using node_type = NOX::NodeType;
58+
#if KOKKOS_VERSION > 40799
59+
using mag_type = typename KokkosKernels::ArithTraits<NOX::Scalar>::mag_type;
60+
#else
5461
using mag_type = typename Kokkos::ArithTraits<NOX::Scalar>::mag_type;
62+
#endif
5563

5664
//! Constructor
5765
/*!

packages/nox/test/thyra-tpetra/Heq_Functors.hpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010
#define NOX_TPETRA_1DFEM_FUNCTORS_HPP
1111

1212
#include "Kokkos_Core.hpp"
13+
#if KOKKOS_VERSION > 40799
14+
#include "KokkosKernels_ArithTraits.hpp"
15+
#else
1316
#include "Kokkos_ArithTraits.hpp"
17+
#endif
1418
#include "Tpetra_Details_OrdinalTraits.hpp"
1519

1620
template <class ViewType, class GO>
@@ -112,7 +116,11 @@ struct ResidualEvaluatorFunctor
112116
KOKKOS_INLINE_FUNCTION
113117
void operator() (const std::size_t row) const
114118
{
119+
#if KOKKOS_VERSION > 40799
120+
Scalar one = KokkosKernels::ArithTraits<Scalar>::one();
121+
#else
115122
Scalar one = Kokkos::ArithTraits<Scalar>::one();
123+
#endif
116124
fView_(row, 0) = one/(one - integralOpView_(row,0)) - uView_(row, 0);
117125
}
118126

@@ -157,8 +165,16 @@ struct JacobianEvaluatorFunctor
157165
KOKKOS_INLINE_FUNCTION
158166
void operator() (const std::size_t row) const
159167
{
168+
#if KOKKOS_VERSION > 40799
169+
Scalar zero = KokkosKernels::ArithTraits<Scalar>::zero();
170+
#else
160171
Scalar zero = Kokkos::ArithTraits<Scalar>::zero();
172+
#endif
173+
#if KOKKOS_VERSION > 40799
174+
Scalar one = KokkosKernels::ArithTraits<Scalar>::one();
175+
#else
161176
Scalar one = Kokkos::ArithTraits<Scalar>::one();
177+
#endif
162178
Scalar value = omega_*integralOpXView_(row,0);
163179
value /= (2*globalLength_*(one-integralOpView_(row,0))*(one-integralOpView_(row,0)));
164180
if (beta_ == zero)
@@ -199,7 +215,11 @@ struct PreconditionerEvaluatorFunctor
199215
KOKKOS_INLINE_FUNCTION
200216
void operator() (const LO localRow) const
201217
{
218+
#if KOKKOS_VERSION > 40799
219+
Scalar one = KokkosKernels::ArithTraits<Scalar>::one();
220+
#else
202221
Scalar one = Kokkos::ArithTraits<Scalar>::one();
222+
#endif
203223
Scalar value = one - integralOpView_(localRow, 0);
204224
value = omega_/(4*numGlobalElements_*value*value) - one;
205225
value = 1.0/value;

0 commit comments

Comments
 (0)