Update Kokkos library in LAMMPS to v3.4.0
This commit is contained in:
@ -378,7 +378,7 @@ struct TestMDRange_2D {
|
||||
parallel_reduce(
|
||||
"rank2-min-reducer", range,
|
||||
KOKKOS_LAMBDA(const int i, const int j, double &min_val) {
|
||||
min_val = fmin(v_in(i, j), min_val);
|
||||
min_val = Kokkos::Experimental::fmin(v_in(i, j), min_val);
|
||||
},
|
||||
reducer_scalar);
|
||||
|
||||
@ -1411,8 +1411,13 @@ struct TestMDRange_3D {
|
||||
using tile_type = typename range_type::tile_type;
|
||||
using point_type = typename range_type::point_type;
|
||||
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}},
|
||||
tile_type{{8, 8, 4}});
|
||||
#else
|
||||
range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}},
|
||||
tile_type{{8, 8, 8}});
|
||||
#endif
|
||||
TestMDRange_3D functor(N0, N1, N2);
|
||||
|
||||
parallel_for(range, functor);
|
||||
@ -1874,8 +1879,13 @@ struct TestMDRange_4D {
|
||||
int s1 = 1;
|
||||
int s2 = 1;
|
||||
int s3 = 1;
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range(point_type{{s0, s1, s2, s3}},
|
||||
point_type{{N0, N1, N2, N3}}, tile_type{{3, 11, 3, 2}});
|
||||
#else
|
||||
range_type range(point_type{{s0, s1, s2, s3}},
|
||||
point_type{{N0, N1, N2, N3}}, tile_type{{3, 11, 3, 3}});
|
||||
#endif
|
||||
TestMDRange_4D functor(N0, N1, N2, N3);
|
||||
|
||||
parallel_for(range, functor);
|
||||
@ -2440,9 +2450,16 @@ struct TestMDRange_5D {
|
||||
int s2 = 1;
|
||||
int s3 = 1;
|
||||
int s4 = 1;
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range(point_type{{s0, s1, s2, s3, s4}},
|
||||
point_type{{N0, N1, N2, N3, N4}},
|
||||
tile_type{{3, 3, 3, 3, 3}});
|
||||
#else
|
||||
range_type range(point_type{{s0, s1, s2, s3, s4}},
|
||||
point_type{{N0, N1, N2, N3, N4}},
|
||||
tile_type{{3, 3, 3, 3, 5}});
|
||||
#endif
|
||||
|
||||
TestMDRange_5D functor(N0, N1, N2, N3, N4);
|
||||
|
||||
parallel_for(range, functor);
|
||||
@ -2767,9 +2784,16 @@ struct TestMDRange_6D {
|
||||
int s3 = 1;
|
||||
int s4 = 1;
|
||||
int s5 = 1;
|
||||
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range(point_type{{s0, s1, s2, s3, s4, s5}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{3, 3, 3, 2, 2, 2}});
|
||||
#else
|
||||
range_type range(point_type{{s0, s1, s2, s3, s4, s5}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{3, 3, 3, 3, 3, 2}});
|
||||
#endif
|
||||
|
||||
TestMDRange_6D functor(N0, N1, N2, N3, N4, N5);
|
||||
|
||||
@ -2786,8 +2810,13 @@ struct TestMDRange_6D {
|
||||
using range_type =
|
||||
typename Kokkos::MDRangePolicy<ExecSpace, Kokkos::Rank<6>,
|
||||
Kokkos::IndexType<int>>;
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range({{0, 0, 0, 0, 0, 0}}, {{N0, N1, N2, N3, N4, N5}},
|
||||
{{3, 3, 3, 2, 2, 2}});
|
||||
#else
|
||||
range_type range({{0, 0, 0, 0, 0, 0}}, {{N0, N1, N2, N3, N4, N5}},
|
||||
{{3, 3, 3, 3, 3, 2}});
|
||||
#endif
|
||||
|
||||
TestMDRange_6D functor(N0, N1, N2, N3, N4, N5);
|
||||
|
||||
@ -2806,8 +2835,14 @@ struct TestMDRange_6D {
|
||||
using range_type =
|
||||
typename Kokkos::MDRangePolicy<ExecSpace, Kokkos::Rank<6>,
|
||||
Kokkos::IndexType<int>>;
|
||||
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range({{0, 0, 0, 0, 0, 0}}, {{N0, N1, N2, N3, N4, N5}},
|
||||
{{3, 3, 3, 2, 2, 2}});
|
||||
#else
|
||||
range_type range({{0, 0, 0, 0, 0, 0}}, {{N0, N1, N2, N3, N4, N5}},
|
||||
{{3, 3, 3, 3, 3, 2}});
|
||||
#endif
|
||||
|
||||
TestMDRange_6D functor(N0, N1, N2, N3, N4, N5);
|
||||
|
||||
@ -2826,8 +2861,13 @@ struct TestMDRange_6D {
|
||||
using range_type =
|
||||
typename Kokkos::MDRangePolicy<ExecSpace, Kokkos::Rank<6>,
|
||||
Kokkos::IndexType<int>>;
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range({{0, 0, 0, 0, 0, 0}}, {{N0, N1, N2, N3, N4, N5}},
|
||||
{{3, 3, 3, 2, 2, 2}});
|
||||
#else
|
||||
range_type range({{0, 0, 0, 0, 0, 0}}, {{N0, N1, N2, N3, N4, N5}},
|
||||
{{3, 3, 3, 3, 3, 2}});
|
||||
#endif
|
||||
|
||||
TestMDRange_6D functor(N0, N1, N2, N3, N4, N5);
|
||||
|
||||
@ -2851,7 +2891,6 @@ struct TestMDRange_6D {
|
||||
using range_type =
|
||||
typename Kokkos::MDRangePolicy<ExecSpace, Kokkos::Rank<6>,
|
||||
Kokkos::IndexType<int>>;
|
||||
|
||||
range_type range({{1, 1, 1, 1, 1, 1}}, {{N0, N1, N2, N3, N4, N5}},
|
||||
{{3, 3, 3, 2, 2, 1}});
|
||||
|
||||
@ -2890,9 +2929,15 @@ struct TestMDRange_6D {
|
||||
using tile_type = typename range_type::tile_type;
|
||||
using point_type = typename range_type::point_type;
|
||||
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{2, 4, 4, 2, 2, 2}});
|
||||
#else
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{2, 4, 6, 2, 2, 2}});
|
||||
#endif
|
||||
|
||||
TestMDRange_6D functor(N0, N1, N2, N3, N4, N5);
|
||||
|
||||
@ -3029,11 +3074,17 @@ struct TestMDRange_6D {
|
||||
int s3 = 1;
|
||||
int s4 = 1;
|
||||
int s5 = 1;
|
||||
range_type range(
|
||||
point_type{{s0, s1, s2, s3, s4, s5}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{3, 3, 3, 3, 2, 3}}); // tile dims 3,3,3,3,3,3 more than
|
||||
// cuda can handle with debugging
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range(point_type{{s0, s1, s2, s3, s4, s5}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{3, 3, 3, 2, 2, 2}});
|
||||
#else
|
||||
// tile dims 3,3,3,3,3,3 more than cuda can handle with debugging
|
||||
range_type range(point_type{{s0, s1, s2, s3, s4, s5}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{3, 3, 3, 3, 2, 3}});
|
||||
#endif
|
||||
|
||||
TestMDRange_6D functor(N0, N1, N2, N3, N4, N5);
|
||||
|
||||
parallel_for(range, functor);
|
||||
@ -3070,9 +3121,15 @@ struct TestMDRange_6D {
|
||||
using tile_type = typename range_type::tile_type;
|
||||
using point_type = typename range_type::point_type;
|
||||
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{4, 4, 2, 2, 2, 2}});
|
||||
#else
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{4, 4, 4, 2, 2, 2}});
|
||||
#endif
|
||||
|
||||
TestMDRange_6D functor(N0, N1, N2, N3, N4, N5);
|
||||
|
||||
@ -3107,9 +3164,15 @@ struct TestMDRange_6D {
|
||||
using tile_type = typename range_type::tile_type;
|
||||
using point_type = typename range_type::point_type;
|
||||
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{4, 4, 2, 2, 2, 2}});
|
||||
#else
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{4, 4, 4, 2, 2, 2}});
|
||||
#endif
|
||||
|
||||
TestMDRange_6D functor(N0, N1, N2, N3, N4, N5);
|
||||
|
||||
@ -3144,9 +3207,15 @@ struct TestMDRange_6D {
|
||||
using tile_type = typename range_type::tile_type;
|
||||
using point_type = typename range_type::point_type;
|
||||
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{4, 4, 2, 2, 2, 2}});
|
||||
#else
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{4, 4, 4, 2, 2, 2}});
|
||||
#endif
|
||||
|
||||
TestMDRange_6D functor(N0, N1, N2, N3, N4, N5);
|
||||
|
||||
@ -3181,9 +3250,15 @@ struct TestMDRange_6D {
|
||||
using tile_type = typename range_type::tile_type;
|
||||
using point_type = typename range_type::point_type;
|
||||
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{4, 4, 2, 2, 2, 2}});
|
||||
#else
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{4, 4, 4, 2, 2, 2}});
|
||||
#endif
|
||||
|
||||
TestMDRange_6D functor(N0, N1, N2, N3, N4, N5);
|
||||
|
||||
@ -3218,9 +3293,15 @@ struct TestMDRange_6D {
|
||||
using tile_type = typename range_type::tile_type;
|
||||
using point_type = typename range_type::point_type;
|
||||
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{4, 4, 2, 2, 2, 2}});
|
||||
#else
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{4, 4, 4, 2, 2, 2}});
|
||||
#endif
|
||||
|
||||
TestMDRange_6D functor(N0, N1, N2, N3, N4, N5);
|
||||
|
||||
@ -3255,9 +3336,15 @@ struct TestMDRange_6D {
|
||||
using tile_type = typename range_type::tile_type;
|
||||
using point_type = typename range_type::point_type;
|
||||
|
||||
#ifdef KOKKOS_ENABLE_SYCL
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{4, 4, 2, 2, 2, 2}});
|
||||
#else
|
||||
range_type range(point_type{{0, 0, 0, 0, 0, 0}},
|
||||
point_type{{N0, N1, N2, N3, N4, N5}},
|
||||
tile_type{{4, 4, 4, 2, 2, 2}});
|
||||
#endif
|
||||
|
||||
TestMDRange_6D functor(N0, N1, N2, N3, N4, N5);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user