Update Kokkos library in LAMMPS to v3.2

This commit is contained in:
Stan Moore
2020-08-25 20:21:48 -06:00
parent 450fd12d31
commit 4d90c2b74b
1410 changed files with 19364 additions and 71953 deletions

View File

@ -46,13 +46,13 @@ namespace Test {
template <class DeviceType, typename ScalarType = double,
typename TestLayout = Kokkos::LayoutRight>
struct MultiDimRangePerf3D {
typedef DeviceType execution_space;
typedef typename execution_space::size_type size_type;
using execution_space = DeviceType;
using size_type = typename execution_space::size_type;
using iterate_type = Kokkos::Iterate;
typedef Kokkos::View<ScalarType ***, TestLayout, DeviceType> view_type;
typedef typename view_type::HostMirror host_view_type;
using view_type = Kokkos::View<ScalarType ***, TestLayout, DeviceType>;
using host_view_type = typename view_type::HostMirror;
view_type A;
view_type B;
@ -108,8 +108,8 @@ struct MultiDimRangePerf3D {
// This test performs multidim range over all dims
view_type Atest("Atest", icount, jcount, kcount);
view_type Btest("Btest", icount + 2, jcount + 2, kcount + 2);
typedef MultiDimRangePerf3D<execution_space, ScalarType, TestLayout>
FunctorType;
using FunctorType =
MultiDimRangePerf3D<execution_space, ScalarType, TestLayout>;
double dt_min = 0;
@ -125,10 +125,9 @@ struct MultiDimRangePerf3D {
policy_initB({{0, 0, 0}}, {{icount + 2, jcount + 2, kcount + 2}},
{{Ti, Tj, Tk}});
typedef typename Kokkos::MDRangePolicy<
using MDRangeType = typename Kokkos::MDRangePolicy<
Kokkos::Rank<3, iterate_type::Right, iterate_type::Right>,
execution_space>
MDRangeType;
execution_space>;
using tile_type = typename MDRangeType::tile_type;
using point_type = typename MDRangeType::point_type;
@ -216,14 +215,15 @@ struct MultiDimRangePerf3D {
policy_initB({{0, 0, 0}}, {{icount + 2, jcount + 2, kcount + 2}},
{{Ti, Tj, Tk}});
// typedef typename Kokkos::MDRangePolicy<Kokkos::Rank<3,
// iterate_type::Left, iterate_type::Left>, execution_space > MDRangeType;
// using MDRangeType =
// typename Kokkos::MDRangePolicy<
// Kokkos::Rank<3, iterate_type::Left, iterate_type::Left>,
// execution_space >;
// using tile_type = typename MDRangeType::tile_type;
// using point_type = typename MDRangeType::point_type;
// Kokkos::MDRangePolicy<Kokkos::Rank<3, iterate_type::Left,
// iterate_type::Left>, execution_space >
// policy(point_type{{0,0,0}},point_type{{icount,jcount,kcount}},tile_type{{Ti,Tj,Tk}}
// );
// MDRangeType policy(point_type{{0,0,0}},
// point_type{{icount,jcount,kcount}},
// tile_type{{Ti,Tj,Tk}});
Kokkos::MDRangePolicy<
Kokkos::Rank<3, iterate_type::Left, iterate_type::Left>,
execution_space>
@ -306,14 +306,14 @@ struct RangePolicyCollapseTwo {
// RangePolicy for 3D range, but will collapse only 2 dims => like Rank<2> for
// multi-dim; unroll 2 dims in one-dim
typedef DeviceType execution_space;
typedef typename execution_space::size_type size_type;
typedef TestLayout layout;
using execution_space = DeviceType;
using size_type = typename execution_space::size_type;
using layout = TestLayout;
using iterate_type = Kokkos::Iterate;
typedef Kokkos::View<ScalarType ***, TestLayout, DeviceType> view_type;
typedef typename view_type::HostMirror host_view_type;
using view_type = Kokkos::View<ScalarType ***, TestLayout, DeviceType>;
using host_view_type = typename view_type::HostMirror;
view_type A;
view_type B;
@ -388,8 +388,8 @@ struct RangePolicyCollapseTwo {
// This test refers to collapsing two dims while using the RangePolicy
view_type Atest("Atest", icount, jcount, kcount);
view_type Btest("Btest", icount + 2, jcount + 2, kcount + 2);
typedef RangePolicyCollapseTwo<execution_space, ScalarType, TestLayout>
FunctorType;
using FunctorType =
RangePolicyCollapseTwo<execution_space, ScalarType, TestLayout>;
long collapse_index_rangeA = 0;
long collapse_index_rangeB = 0;
@ -480,12 +480,12 @@ template <class DeviceType, typename ScalarType = double,
struct RangePolicyCollapseAll {
// RangePolicy for 3D range, but will collapse all dims
typedef DeviceType execution_space;
typedef typename execution_space::size_type size_type;
typedef TestLayout layout;
using execution_space = DeviceType;
using size_type = typename execution_space::size_type;
using layout = TestLayout;
typedef Kokkos::View<ScalarType ***, TestLayout, DeviceType> view_type;
typedef typename view_type::HostMirror host_view_type;
using view_type = Kokkos::View<ScalarType ***, TestLayout, DeviceType>;
using host_view_type = typename view_type::HostMirror;
view_type A;
view_type B;
@ -552,8 +552,8 @@ struct RangePolicyCollapseAll {
// This test refers to collapsing all dims using the RangePolicy
view_type Atest("Atest", icount, jcount, kcount);
view_type Btest("Btest", icount + 2, jcount + 2, kcount + 2);
typedef RangePolicyCollapseAll<execution_space, ScalarType, TestLayout>
FunctorType;
using FunctorType =
RangePolicyCollapseAll<execution_space, ScalarType, TestLayout>;
const long flat_index_range = icount * jcount * kcount;
Kokkos::RangePolicy<execution_space> policy(0, flat_index_range);