Skip to content

Commit cbf3448

Browse files
committed
A couple platforms do not correctly handle static complexes
1 parent 985c3a9 commit cbf3448

File tree

1 file changed

+19
-22
lines changed

1 file changed

+19
-22
lines changed

sparse/unit_test/Test_Sparse_sptrsv.hpp

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,6 @@ struct SptrsvTest {
6161

6262
using range_policy_t = Kokkos::RangePolicy<execution_space>;
6363

64-
static inline const scalar_t ZERO = scalar_t(0);
65-
static inline const scalar_t ONE = scalar_t(1);
66-
6764
static std::vector<std::vector<scalar_t>> get_5x5_ut_ones_fixture() {
6865
std::vector<std::vector<scalar_t>> A = {{1.00, 0.00, 1.00, 0.00, 0.00},
6966
{0.00, 1.00, 0.00, 0.00, 1.00},
@@ -133,7 +130,7 @@ struct SptrsvTest {
133130
// known_lhs
134131
ValuesType known_lhs("known_lhs", nrows);
135132
// Create known solution lhs set to all 1's
136-
Kokkos::deep_copy(known_lhs, ONE);
133+
Kokkos::deep_copy(known_lhs, scalar_t(1));
137134

138135
// Solution to find
139136
ValuesType lhs("lhs", nrows);
@@ -142,7 +139,7 @@ struct SptrsvTest {
142139
ValuesType rhs("rhs", nrows);
143140

144141
Crs triMtx("triMtx", nrows, nrows, nnz, values, row_map, entries);
145-
KokkosSparse::spmv("N", ONE, triMtx, known_lhs, ZERO, rhs);
142+
KokkosSparse::spmv("N", scalar_t(1), triMtx, known_lhs, scalar_t(0), rhs);
146143

147144
return std::make_tuple(triMtx, lhs, rhs);
148145
}
@@ -185,7 +182,7 @@ struct SptrsvTest {
185182
Kokkos::parallel_reduce(range_policy_t(0, lhs.extent(0)), ReductionCheck(lhs), sum);
186183
EXPECT_EQ(sum, lhs.extent(0));
187184

188-
Kokkos::deep_copy(lhs, ZERO);
185+
Kokkos::deep_copy(lhs, scalar_t(0));
189186

190187
kh.destroy_sptrsv_handle();
191188
}
@@ -259,8 +256,8 @@ struct SptrsvTest {
259256
Kokkos::deep_copy(Uvalues, hUvalues);
260257

261258
Crs mtxU("mtxU", nrows, nrows, nnz_sp, Uvalues, Urowptr, Ucolind);
262-
Kokkos::deep_copy(B, ONE);
263-
KokkosSparse::spmv("N", ONE, mtxU, B, ZERO, X);
259+
Kokkos::deep_copy(B, scalar_t(1));
260+
KokkosSparse::spmv("N", scalar_t(1), mtxU, B, scalar_t(0), X);
264261
}
265262
}
266263

@@ -304,23 +301,23 @@ struct SptrsvTest {
304301
// values
305302
// first column (first supernode)
306303
hUvalues(0) = FIVE;
307-
hUvalues(1) = ZERO;
304+
hUvalues(1) = scalar_t(0);
308305
// second column (first supernode)
309-
hUvalues(2) = ONE;
306+
hUvalues(2) = scalar_t(1);
310307
hUvalues(3) = FIVE;
311308
// third column (second supernode)
312309
hUvalues(4) = FIVE;
313-
hUvalues(5) = ONE;
314-
hUvalues(6) = ZERO;
310+
hUvalues(5) = scalar_t(1);
311+
hUvalues(6) = scalar_t(0);
315312
// fourth column (third supernode)
316313
hUvalues(7) = FIVE;
317-
hUvalues(8) = ONE;
314+
hUvalues(8) = scalar_t(1);
318315
// fifth column (fourth supernode)
319316
hUvalues(9) = FIVE;
320-
hUvalues(10) = ZERO;
321-
hUvalues(11) = ONE;
322-
hUvalues(12) = ONE;
323-
hUvalues(13) = ONE;
317+
hUvalues(10) = scalar_t(0);
318+
hUvalues(11) = scalar_t(1);
319+
hUvalues(12) = scalar_t(1);
320+
hUvalues(13) = scalar_t(1);
324321

325322
// store Ut in crsmat
326323
host_graph_t static_graph(hUrowind, hUcolptr);
@@ -372,7 +369,7 @@ struct SptrsvTest {
372369
Kokkos::deep_copy(Lvalues, hLvalues);
373370

374371
Crs mtxL("mtxL", nrows, nrows, nnz_sp, Lvalues, Lcolptr, Lrowind);
375-
KokkosSparse::spmv("T", ONE, mtxL, X, ZERO, B);
372+
KokkosSparse::spmv("T", scalar_t(1), mtxL, X, scalar_t(0), B);
376373
}
377374
}
378375

@@ -403,7 +400,7 @@ struct SptrsvTest {
403400
// > solve
404401
ValuesType b("b", nrows);
405402
Kokkos::deep_copy(b, B);
406-
Kokkos::deep_copy(X, ZERO);
403+
Kokkos::deep_copy(X, scalar_t(0));
407404
sptrsv_solve(&khL, &khU, X, b);
408405
Kokkos::fence();
409406

@@ -459,7 +456,7 @@ struct SptrsvTest {
459456
// > solve
460457
ValuesType b("b", nrows);
461458
Kokkos::deep_copy(b, B);
462-
Kokkos::deep_copy(X, ZERO);
459+
Kokkos::deep_copy(X, scalar_t(0));
463460
sptrsv_solve(&khLd, &khUd, X, b);
464461
Kokkos::fence();
465462

@@ -525,15 +522,15 @@ struct SptrsvTest {
525522
// known_lhs
526523
ValuesType known_lhs("known_lhs", nrows);
527524
// Create known solution lhs set to all 1's
528-
Kokkos::deep_copy(known_lhs, ONE);
525+
Kokkos::deep_copy(known_lhs, scalar_t(1));
529526

530527
// Solution to find
531528
lhs_v[i] = ValuesType("lhs", nrows);
532529

533530
// A*known_lhs generates rhs: rhs is dense, use spmv
534531
rhs_v[i] = ValuesType("rhs", nrows);
535532

536-
KokkosSparse::spmv("N", ONE, triMtx, known_lhs, ZERO, rhs_v[i]);
533+
KokkosSparse::spmv("N", scalar_t(1), triMtx, known_lhs, scalar_t(0), rhs_v[i]);
537534
Kokkos::fence();
538535

539536
// Create handle

0 commit comments

Comments
 (0)