Update Kokkos library in LAMMPS to v3.5.0

This commit is contained in:
Stan Gerald Moore
2021-11-04 12:45:59 -06:00
parent 515ef7bece
commit 564098e629
396 changed files with 21892 additions and 8508 deletions

View File

@ -1,46 +0,0 @@
/*
//@HEADER
// ************************************************************************
//
// Kokkos v. 3.0
// Copyright (2020) 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.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// 3. Neither the name of the Corporation nor the names of the
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Questions? Contact Christian R. Trott (crtrott@sandia.gov)
//
// ************************************************************************
//@HEADER
*/
#include <TestHIPHostPinned_Category.hpp>
#include <TestViewAPI_b.hpp>

View File

@ -1,46 +0,0 @@
/*
//@HEADER
// ************************************************************************
//
// Kokkos v. 3.0
// Copyright (2020) 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.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// 3. Neither the name of the Corporation nor the names of the
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Questions? Contact Christian R. Trott (crtrott@sandia.gov)
//
// ************************************************************************
//@HEADER
*/
#include <TestHIPHostPinned_Category.hpp>
#include <TestViewAPI_c.hpp>

View File

@ -1,46 +0,0 @@
/*
//@HEADER
// ************************************************************************
//
// Kokkos v. 3.0
// Copyright (2020) 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.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// 3. Neither the name of the Corporation nor the names of the
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Questions? Contact Christian R. Trott (crtrott@sandia.gov)
//
// ************************************************************************
//@HEADER
*/
#include <TestHIPHostPinned_Category.hpp>
#include <TestViewAPI_d.hpp>

View File

@ -1,46 +0,0 @@
/*
//@HEADER
// ************************************************************************
//
// Kokkos v. 3.0
// Copyright (2020) 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.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// 3. Neither the name of the Corporation nor the names of the
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Questions? Contact Christian R. Trott (crtrott@sandia.gov)
//
// ************************************************************************
//@HEADER
*/
#include <TestHIPHostPinned_Category.hpp>
#include <TestViewAPI_e.hpp>

View File

@ -1,46 +0,0 @@
/*
//@HEADER
// ************************************************************************
//
// Kokkos v. 3.0
// Copyright (2020) 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.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// 3. Neither the name of the Corporation nor the names of the
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Questions? Contact Christian R. Trott (crtrott@sandia.gov)
//
// ************************************************************************
//@HEADER
*/
#include <TestHIPHostPinned_Category.hpp>
#include <TestViewCopy_a.hpp>

View File

@ -1,46 +0,0 @@
/*
//@HEADER
// ************************************************************************
//
// Kokkos v. 3.0
// Copyright (2020) 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.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// 3. Neither the name of the Corporation nor the names of the
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Questions? Contact Christian R. Trott (crtrott@sandia.gov)
//
// ************************************************************************
//@HEADER
*/
#include <TestHIPHostPinned_Category.hpp>
#include <TestViewCopy_b.hpp>

View File

@ -1,46 +0,0 @@
/*
//@HEADER
// ************************************************************************
//
// Kokkos v. 3.0
// Copyright (2020) 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.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// 3. Neither the name of the Corporation nor the names of the
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Questions? Contact Christian R. Trott (crtrott@sandia.gov)
//
// ************************************************************************
//@HEADER
*/
#include <TestHIPHostPinned_Category.hpp>
#include <TestViewMapping_a.hpp>

View File

@ -1,46 +0,0 @@
/*
//@HEADER
// ************************************************************************
//
// Kokkos v. 3.0
// Copyright (2020) 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.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// 3. Neither the name of the Corporation nor the names of the
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Questions? Contact Christian R. Trott (crtrott@sandia.gov)
//
// ************************************************************************
//@HEADER
*/
#include <TestHIPHostPinned_Category.hpp>
#include <TestViewMapping_b.hpp>

View File

@ -1,46 +0,0 @@
/*
//@HEADER
// ************************************************************************
//
// Kokkos v. 3.0
// Copyright (2020) 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.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// 3. Neither the name of the Corporation nor the names of the
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Questions? Contact Christian R. Trott (crtrott@sandia.gov)
//
// ************************************************************************
//@HEADER
*/
#include <TestHIPHostPinned_Category.hpp>
#include <TestViewMapping_subview.hpp>

View File

@ -66,8 +66,8 @@ struct TestAsyncLauncher {
TEST(hip, async_launcher) {
size_t *flag;
HIP_SAFE_CALL(hipMalloc(&flag, sizeof(size_t)));
HIP_SAFE_CALL(hipMemset(flag, 0, sizeof(size_t)));
KOKKOS_IMPL_HIP_SAFE_CALL(hipMalloc(&flag, sizeof(size_t)));
KOKKOS_IMPL_HIP_SAFE_CALL(hipMemset(flag, 0, sizeof(size_t)));
// launch # of cycles * 1000 kernels w/ distinct values
auto space = Kokkos::Experimental::HIP();
auto instance = space.impl_internal_space_instance();
@ -80,10 +80,10 @@ TEST(hip, async_launcher) {
// the sum below should fail
instance->fence();
size_t h_flag;
HIP_SAFE_CALL(
KOKKOS_IMPL_HIP_SAFE_CALL(
hipMemcpy(&h_flag, flag, sizeof(size_t), hipMemcpyHostToDevice));
ASSERT_EQ(h_flag, (nkernels * (nkernels - 1)) / 2);
HIP_SAFE_CALL(hipFree(flag));
KOKKOS_IMPL_HIP_SAFE_CALL(hipFree(flag));
}
} // namespace Test

View File

@ -42,5 +42,58 @@
//@HEADER
*/
#include <TestHIPHostPinned_Category.hpp>
#include <TestViewAPI_a.hpp>
#include <Kokkos_Core.hpp>
#include <TestHIP_Category.hpp>
namespace Test {
struct TestNone {
Kokkos::View<size_t*, TEST_EXECSPACE> view;
KOKKOS_INLINE_FUNCTION
void operator()(const int i) const { view(i) = i; }
TestNone() { view = Kokkos::View<size_t*, TEST_EXECSPACE>("dummy", 1); }
};
struct TestSpiller {
Kokkos::View<size_t*, TEST_EXECSPACE> view;
KOKKOS_INLINE_FUNCTION
void operator()(const int i) const {
size_t array[1000] = {0};
// and update flag
size_t value = 0;
for (int ii = i; ii < 1000; ++ii) {
array[ii] = value;
value += ii;
}
for (int ii = i; ii < 1000; ++ii) {
value *= array[ii];
}
Kokkos::atomic_add(&view[0], value);
}
TestSpiller() { view = Kokkos::View<size_t*, TEST_EXECSPACE>("dummy", 1); }
};
TEST(hip, preferred_blocksize_deduction) {
using execution_space =
typename Kokkos::Impl::FunctorPolicyExecutionSpace<TestSpiller,
void>::execution_space;
using policy = Kokkos::RangePolicy<execution_space>;
{
using DriverType = Kokkos::Impl::ParallelFor<TestNone, policy>;
ASSERT_TRUE(Kokkos::Experimental::Impl::HIPParallelLaunch<
DriverType>::get_scratch_size() == 0);
}
{
using DriverType = Kokkos::Impl::ParallelFor<TestSpiller, policy>;
ASSERT_TRUE(Kokkos::Experimental::Impl::HIPParallelLaunch<
DriverType>::get_scratch_size() > 0);
}
}
} // namespace Test

View File

@ -60,7 +60,7 @@ __global__ void offset(int* p) {
// HIP.
TEST(hip, raw_hip_interop) {
int* p;
HIP_SAFE_CALL(hipMalloc(&p, sizeof(int) * 100));
KOKKOS_IMPL_HIP_SAFE_CALL(hipMalloc(&p, sizeof(int) * 100));
Kokkos::InitArguments arguments{-1, -1, -1, false};
Kokkos::initialize(arguments);
@ -70,11 +70,12 @@ TEST(hip, raw_hip_interop) {
Kokkos::finalize();
offset<<<dim3(100), dim3(100), 0, nullptr>>>(p);
HIP_SAFE_CALL(hipDeviceSynchronize());
KOKKOS_IMPL_HIP_SAFE_CALL(hipDeviceSynchronize());
std::array<int, 100> h_p;
HIP_SAFE_CALL(hipMemcpy(h_p.data(), p, sizeof(int) * 100, hipMemcpyDefault));
HIP_SAFE_CALL(hipDeviceSynchronize());
KOKKOS_IMPL_HIP_SAFE_CALL(
hipMemcpy(h_p.data(), p, sizeof(int) * 100, hipMemcpyDefault));
KOKKOS_IMPL_HIP_SAFE_CALL(hipDeviceSynchronize());
int64_t sum = 0;
int64_t sum_expect = 0;
for (int i = 0; i < 100; i++) {
@ -83,6 +84,6 @@ TEST(hip, raw_hip_interop) {
}
ASSERT_EQ(sum, sum_expect);
HIP_SAFE_CALL(hipFree(p));
KOKKOS_IMPL_HIP_SAFE_CALL(hipFree(p));
}
} // namespace Test

View File

@ -51,11 +51,11 @@ namespace Test {
// bound in HIP due to an error when computing the block size.
TEST(hip, raw_hip_streams) {
hipStream_t stream;
HIP_SAFE_CALL(hipStreamCreate(&stream));
KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamCreate(&stream));
Kokkos::InitArguments arguments{-1, -1, -1, false};
Kokkos::initialize(arguments);
int* p;
HIP_SAFE_CALL(hipMalloc(&p, sizeof(int) * 100));
KOKKOS_IMPL_HIP_SAFE_CALL(hipMalloc(&p, sizeof(int) * 100));
using MemorySpace = typename TEST_EXECSPACE::memory_space;
{
@ -97,12 +97,13 @@ TEST(hip, raw_hip_streams) {
}
Kokkos::finalize();
offset_streams<<<100, 64, 0, stream>>>(p);
HIP_SAFE_CALL(hipDeviceSynchronize());
HIP_SAFE_CALL(hipStreamDestroy(stream));
KOKKOS_IMPL_HIP_SAFE_CALL(hipDeviceSynchronize());
KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamDestroy(stream));
int h_p[100];
HIP_SAFE_CALL(hipMemcpy(h_p, p, sizeof(int) * 100, hipMemcpyDefault));
HIP_SAFE_CALL(hipDeviceSynchronize());
KOKKOS_IMPL_HIP_SAFE_CALL(
hipMemcpy(h_p, p, sizeof(int) * 100, hipMemcpyDefault));
KOKKOS_IMPL_HIP_SAFE_CALL(hipDeviceSynchronize());
int64_t sum = 0;
int64_t sum_expect = 0;
for (int i = 0; i < 100; i++) {

View File

@ -129,27 +129,26 @@ TEST(hip, space_access) {
//--------------------------------------
static_assert(
!Kokkos::Impl::SpaceAccessibility<Kokkos::Experimental::HIP,
Kokkos::HostSpace>::accessible,
"");
static_assert(Kokkos::Impl::SpaceAccessibility<
Kokkos::Experimental::HIP,
Kokkos::Experimental::HIPSpace>::accessible,
static_assert(!Kokkos::SpaceAccessibility<Kokkos::Experimental::HIP,
Kokkos::HostSpace>::accessible,
"");
static_assert(Kokkos::Impl::SpaceAccessibility<
static_assert(
Kokkos::SpaceAccessibility<Kokkos::Experimental::HIP,
Kokkos::Experimental::HIPSpace>::accessible,
"");
static_assert(Kokkos::SpaceAccessibility<
Kokkos::Experimental::HIP,
Kokkos::Experimental::HIPHostPinnedSpace>::accessible,
"");
static_assert(
!Kokkos::Impl::SpaceAccessibility<
Kokkos::HostSpace, Kokkos::Experimental::HIPSpace>::accessible,
!Kokkos::SpaceAccessibility<Kokkos::HostSpace,
Kokkos::Experimental::HIPSpace>::accessible,
"");
static_assert(Kokkos::Impl::SpaceAccessibility<
static_assert(Kokkos::SpaceAccessibility<
Kokkos::HostSpace,
Kokkos::Experimental::HIPHostPinnedSpace>::accessible,
"");
@ -166,18 +165,18 @@ TEST(hip, space_access) {
Kokkos::Experimental::HIPHostPinnedSpace>::value,
"");
static_assert(Kokkos::Impl::SpaceAccessibility<
static_assert(Kokkos::SpaceAccessibility<
Kokkos::Impl::HostMirror<Kokkos::Experimental::HIP>::Space,
Kokkos::HostSpace>::accessible,
"");
static_assert(
Kokkos::Impl::SpaceAccessibility<
Kokkos::SpaceAccessibility<
Kokkos::Impl::HostMirror<Kokkos::Experimental::HIPSpace>::Space,
Kokkos::HostSpace>::accessible,
"");
static_assert(Kokkos::Impl::SpaceAccessibility<
static_assert(Kokkos::SpaceAccessibility<
Kokkos::Impl::HostMirror<
Kokkos::Experimental::HIPHostPinnedSpace>::Space,
Kokkos::HostSpace>::accessible,

View File

@ -104,7 +104,7 @@ void hip_stream_scratch_test(
hipStream_t stream[4];
Kokkos::Experimental::HIP hip[4];
for (int i = 0; i < K; i++) {
HIP_SAFE_CALL(hipStreamCreate(&stream[i]));
KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamCreate(&stream[i]));
hip[i] = Kokkos::Experimental::HIP(stream[i]);
}
// Test that growing scratch size in subsequent calls doesn't crash things
@ -131,7 +131,7 @@ void hip_stream_scratch_test(
Kokkos::fence();
for (int i = 0; i < K; i++) {
hip[i] = Kokkos::Experimental::HIP();
HIP_SAFE_CALL(hipStreamDestroy(stream[i]));
KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamDestroy(stream[i]));
}
}
} // namespace Impl