// Copyright (c) 2018 NVIDIA Corporation // Modifications Copyright© 2019-2025 Advanced Micro Devices, Inc. All rights reserved. // Author: Bryce Adelstein Lelbach // // Distributed under the Boost Software License v1.0 (boost.org/LICENSE_1_0.txt) #pragma once #include #if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header #elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) # pragma clang system_header #elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) # pragma system_header #endif // no system header #include #if THRUST_CPP_DIALECT >= 2017 # include # include THRUST_NAMESPACE_BEGIN namespace system { namespace hip { struct ready_event; template struct ready_future; struct unique_eager_event; template struct unique_eager_future; template THRUST_HOST unique_eager_event when_all(Events&&... evs); } // namespace hip } // namespace system namespace hip { using thrust::system::hip::ready_event; using thrust::system::hip::ready_future; using thrust::system::hip::unique_eager_event; using event = unique_eager_event; using thrust::system::hip::unique_eager_future; template using future = unique_eager_future; using thrust::system::hip::when_all; } // namespace hip THRUST_SUPPRESS_DEPRECATED_PUSH template THRUST_HOST thrust::hip::unique_eager_event unique_eager_event_type(thrust::hip::execution_policy const&) noexcept; template THRUST_HOST thrust::hip::unique_eager_future unique_eager_future_type(thrust::hip::execution_policy const&) noexcept; THRUST_SUPPRESS_DEPRECATED_POP THRUST_NAMESPACE_END # include #endif // C++17