diff --git a/CMakeLists.txt b/CMakeLists.txt index 126fc7099..bdefb3fde 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,11 +100,11 @@ endif() # Package if(HIP_PLATFORM STREQUAL "hcc") - set(CPACK_DEBIAN_PACKAGE_DEPENDS "hip_hcc (>= 1.4)") - set(CPACK_RPM_PACKAGE_REQUIRES "hip_hcc >= 1.4") + set(CPACK_DEBIAN_PACKAGE_DEPENDS "hip_hcc (>= 1.5.18263)") # 1.5.18263 is HIP version in ROCm 1.8.2 + set(CPACK_RPM_PACKAGE_REQUIRES "hip_hcc >= 1.5.18263") else() - set(CPACK_DEBIAN_PACKAGE_DEPENDS "hip_nvcc (>= 1.3)") - set(CPACK_RPM_PACKAGE_REQUIRES "hip_nvcc >= 1.3") + set(CPACK_DEBIAN_PACKAGE_DEPENDS "hip_nvcc (>= 1.5.18263)") + set(CPACK_RPM_PACKAGE_REQUIRES "hip_nvcc >= 1.5.18263") endif() set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt") if(NOT CPACK_PACKAGING_INSTALL_PREFIX) diff --git a/README.md b/README.md index 8d6a429e5..24c5e77bc 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ performant GPU-accelerated code on AMD ROCm platform. * Git * CMake (3.5.1 or later) -* AMD [ROCm](https://rocm.github.io/install.html) platform (1.7.1 or later) +* AMD [ROCm](https://rocm.github.io/install.html) platform (1.8.2 or later) * Including [HCC](https://github.com/RadeonOpenCompute/hcc) compiler, which must be set as C++ compiler on ROCm platform. diff --git a/cmake/VerifyCompiler.cmake b/cmake/VerifyCompiler.cmake index b8b10be3e..acde58bc7 100644 --- a/cmake/VerifyCompiler.cmake +++ b/cmake/VerifyCompiler.cmake @@ -26,7 +26,7 @@ # by nvcc compiler (CMake's CUDA package handles this). # Find HIP package -find_package(HIP REQUIRED) +find_package(HIP 1.5.18263 REQUIRED) # 1.5.18263 is HIP version in ROCm 1.8.2 if(HIP_PLATFORM STREQUAL "nvcc") include(cmake/SetupNVCC.cmake) diff --git a/rocprim/include/rocprim/intrinsics/thread.hpp b/rocprim/include/rocprim/intrinsics/thread.hpp index 83bc1dec3..0a00e2099 100644 --- a/rocprim/include/rocprim/intrinsics/thread.hpp +++ b/rocprim/include/rocprim/intrinsics/thread.hpp @@ -75,8 +75,7 @@ unsigned int lane_id() #ifdef ROCPRIM_HC_API return hc::__lane_id(); #else // HIP - // TODO: Find HIP function for that - return hc::__lane_id(); + return ::__lane_id(); #endif } diff --git a/rocprim/include/rocprim/intrinsics/warp.hpp b/rocprim/include/rocprim/intrinsics/warp.hpp index f72b4e54e..41cc36eca 100644 --- a/rocprim/include/rocprim/intrinsics/warp.hpp +++ b/rocprim/include/rocprim/intrinsics/warp.hpp @@ -39,7 +39,7 @@ unsigned long long ballot(int predicate) #ifdef ROCPRIM_HC_API return hc::__ballot(predicate); #else // HIP - return __ballot(predicate); + return ::__ballot(predicate); #endif } @@ -56,10 +56,9 @@ unsigned int masked_bit_count(unsigned long long x, unsigned int add = 0) c = hc::__amdgcn_mbcnt_hi(static_cast(x >> 32), c); return c; #else // HIP - // TODO: Use HIP function(s) int c; - c = hc::__amdgcn_mbcnt_lo(static_cast(x), add); - c = hc::__amdgcn_mbcnt_hi(static_cast(x >> 32), c); + c = ::__mbcnt_lo(static_cast(x), add); + c = ::__mbcnt_hi(static_cast(x >> 32), c); return c; #endif }