Update Kokkos library in LAMMPS to v3.2
This commit is contained in:
@ -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);
|
||||
|
||||
Reference in New Issue
Block a user