Skip to content

Commit

Permalink
Enable support for asynchronous memory in ROCm 5.2 and later
Browse files Browse the repository at this point in the history
  • Loading branch information
fwyzard committed Nov 28, 2023
1 parent 4c981f0 commit 76a20bd
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions include/alpaka/mem/buf/BufUniformCudaHipRt.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -280,8 +280,8 @@ namespace alpaka
# endif
# if defined(ALPAKA_ACC_GPU_HIP_ENABLED)
static_assert(
!std::is_same_v<TApi, ApiHipRt>,
"HIP devices do not support stream-ordered memory buffers.");
std::is_same_v<TApi, ApiHipRt> && TApi::version >= BOOST_VERSION_NUMBER(5, 2, 0),
"Support for stream-ordered memory buffers requires HIP/ROCm 5.2 or higher.");
# endif
static_assert(
TDim::value <= 1,
Expand Down Expand Up @@ -317,16 +317,22 @@ namespace alpaka
}
};

# if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
//! The CUDA/HIP stream-ordered memory allocation capability trait specialization.
template<typename TApi, typename TDim>
struct HasAsyncBufSupport<TDim, DevUniformCudaHipRt<TApi>>
: std::bool_constant<
std::is_same_v<TApi, ApiCudaRt> && TApi::version >= BOOST_VERSION_NUMBER(11, 2, 0)
&& TDim::value <= 1>
TDim::value <= 1
&& (
# if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
std::is_same_v<TApi, ApiCudaRt> && TApi::version >= BOOST_VERSION_NUMBER(11, 2, 0)
# elif defined(ALPAKA_ACC_GPU_HIP_ENABLED)
std::is_same_v<TApi, ApiHipRt> && TApi::version >= BOOST_VERSION_NUMBER(5, 2, 0)
# else
false
# endif
)>
{
};
# endif

//! The pinned/mapped memory allocation trait specialization for the CUDA/HIP devices.
template<typename TApi, typename TElem, typename TDim, typename TIdx>
Expand Down

0 comments on commit 76a20bd

Please sign in to comment.