Update Kokkos library in LAMMPS to v4.0

This commit is contained in:
Stan Gerald Moore
2023-03-03 09:22:33 -07:00
parent df9bf18ed2
commit 14cb8576f4
1117 changed files with 33357 additions and 41720 deletions

View File

@ -1,3 +1,19 @@
//@HEADER
// ************************************************************************
//
// Kokkos v. 4.0
// Copyright (2022) National Technology & Engineering
// Solutions of Sandia, LLC (NTESS).
//
// Under the terms of Contract DE-NA0003525 with NTESS,
// the U.S. Government retains certain rights in this software.
//
// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions.
// See https://kokkos.org/LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//@HEADER
#include <fstream>
#include <gtest/gtest.h>
#include "Kokkos_Core.hpp"
@ -489,7 +505,13 @@ struct TestComplexBesselJ0Y0Function {
Kokkos::deep_copy(d_z, h_z);
// Call Bessel functions
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace>(0, N), *this);
#if (HIP_VERSION_MAJOR == 5) && (HIP_VERSION_MINOR == 4)
using Property =
Kokkos::Experimental::WorkItemProperty::ImplForceGlobalLaunch_t;
#else
using Property = Kokkos::Experimental::WorkItemProperty::None_t;
#endif
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace, Property>(0, N), *this);
Kokkos::fence();
Kokkos::deep_copy(h_cbj0, d_cbj0);
@ -618,8 +640,8 @@ struct TestComplexBesselJ0Y0Function {
Kokkos::deep_copy(d_z_large, h_z_large);
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace, TestLargeArgTag>(0, 1),
*this);
Kokkos::parallel_for(
Kokkos::RangePolicy<ExecSpace, Property, TestLargeArgTag>(0, 1), *this);
Kokkos::fence();
Kokkos::deep_copy(h_cbj0_large, d_cbj0_large);
@ -779,7 +801,13 @@ struct TestComplexBesselJ1Y1Function {
Kokkos::deep_copy(d_z, h_z);
// Call Bessel functions
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace>(0, N), *this);
#if (HIP_VERSION_MAJOR == 5) && (HIP_VERSION_MINOR == 4)
using Property =
Kokkos::Experimental::WorkItemProperty::ImplForceGlobalLaunch_t;
#else
using Property = Kokkos::Experimental::WorkItemProperty::None_t;
#endif
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace, Property>(0, N), *this);
Kokkos::fence();
Kokkos::deep_copy(h_cbj1, d_cbj1);
@ -908,8 +936,8 @@ struct TestComplexBesselJ1Y1Function {
Kokkos::deep_copy(d_z_large, h_z_large);
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace, TestLargeArgTag>(0, 1),
*this);
Kokkos::parallel_for(
Kokkos::RangePolicy<ExecSpace, Property, TestLargeArgTag>(0, 1), *this);
Kokkos::fence();
Kokkos::deep_copy(h_cbj1_large, d_cbj1_large);
@ -1067,7 +1095,13 @@ struct TestComplexBesselI0K0Function {
Kokkos::deep_copy(d_z, h_z);
// Call Bessel functions
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace>(0, N), *this);
#if (HIP_VERSION_MAJOR == 5) && (HIP_VERSION_MINOR == 4)
using Property =
Kokkos::Experimental::WorkItemProperty::ImplForceGlobalLaunch_t;
#else
using Property = Kokkos::Experimental::WorkItemProperty::None_t;
#endif
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace, Property>(0, N), *this);
Kokkos::fence();
Kokkos::deep_copy(h_cbi0, d_cbi0);
@ -1189,8 +1223,8 @@ struct TestComplexBesselI0K0Function {
Kokkos::deep_copy(d_z_large, h_z_large);
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace, TestLargeArgTag>(0, 1),
*this);
Kokkos::parallel_for(
Kokkos::RangePolicy<ExecSpace, Property, TestLargeArgTag>(0, 1), *this);
Kokkos::fence();
Kokkos::deep_copy(h_cbi0_large, d_cbi0_large);
@ -1302,7 +1336,13 @@ struct TestComplexBesselI1K1Function {
Kokkos::deep_copy(d_z, h_z);
// Call Bessel functions
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace>(0, N), *this);
#if (HIP_VERSION_MAJOR == 5) && (HIP_VERSION_MINOR == 4)
using Property =
Kokkos::Experimental::WorkItemProperty::ImplForceGlobalLaunch_t;
#else
using Property = Kokkos::Experimental::WorkItemProperty::None_t;
#endif
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace, Property>(0, N), *this);
Kokkos::fence();
Kokkos::deep_copy(h_cbi1, d_cbi1);
@ -1424,8 +1464,8 @@ struct TestComplexBesselI1K1Function {
Kokkos::deep_copy(d_z_large, h_z_large);
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace, TestLargeArgTag>(0, 1),
*this);
Kokkos::parallel_for(
Kokkos::RangePolicy<ExecSpace, Property, TestLargeArgTag>(0, 1), *this);
Kokkos::fence();
Kokkos::deep_copy(h_cbi1_large, d_cbi1_large);
@ -1533,7 +1573,13 @@ struct TestComplexBesselH1Function {
Kokkos::deep_copy(d_z, h_z);
// Call Hankel functions
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace>(0, N), *this);
#if (HIP_VERSION_MAJOR == 5) && (HIP_VERSION_MINOR == 4)
using Property =
Kokkos::Experimental::WorkItemProperty::ImplForceGlobalLaunch_t;
#else
using Property = Kokkos::Experimental::WorkItemProperty::None_t;
#endif
Kokkos::parallel_for(Kokkos::RangePolicy<ExecSpace, Property>(0, N), *this);
Kokkos::fence();
Kokkos::deep_copy(h_ch10, d_ch10);