diff --git a/clang/tools/amdgpu-arch/CMakeLists.txt b/clang/tools/amdgpu-arch/CMakeLists.txt --- a/clang/tools/amdgpu-arch/CMakeLists.txt +++ b/clang/tools/amdgpu-arch/CMakeLists.txt @@ -6,7 +6,11 @@ # // # //===----------------------------------------------------------------------===// -find_package(hsa-runtime64 QUIET 1.2.0 HINTS ${CMAKE_INSTALL_PREFIX} PATHS /opt/rocm) +if (DEFINED ENV{ROCM_PATH}) + set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Path to which ROCm has been installed") +endif() + +find_package(hsa-runtime64 QUIET 1.2.0 HINTS ${CMAKE_INSTALL_PREFIX} PATH ${ROCM_PATH}) if (NOT ${hsa-runtime64_FOUND}) message(STATUS "Not building amdgpu-arch: hsa-runtime64 not found") return() diff --git a/mlir/lib/Dialect/GPU/CMakeLists.txt b/mlir/lib/Dialect/GPU/CMakeLists.txt --- a/mlir/lib/Dialect/GPU/CMakeLists.txt +++ b/mlir/lib/Dialect/GPU/CMakeLists.txt @@ -130,13 +130,17 @@ # Configure ROCm support. if (NOT DEFINED ROCM_PATH) if (NOT DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH "/opt/rocm" CACHE PATH "Path to which ROCm has been installed") + message(SEND_ERROR "Building mlir with ROCm support requires a working ROCm") else() set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Path to which ROCm has been installed") endif() - set(HIP_PATH "${ROCM_PATH}/hip" CACHE PATH " Path to which HIP has been installed") endif() - set(CMAKE_MODULE_PATH "${HIP_PATH}/cmake" ${CMAKE_MODULE_PATH}) + + find_path(HIP_MODULE_FILE_DIR FindHIP.cmake + HINTS ${ROCM_PATH} + PATH_SUFFIXES hip/cmake REQUIRED + NO_DEFAULT_PATH) + set(CMAKE_MODULE_PATH "${HIP_MODULE_FILE_DIR}" ${CMAKE_MODULE_PATH}) find_package(HIP) if (NOT HIP_FOUND) message(SEND_ERROR "Building mlir with ROCm support requires a working ROCm and HIP install") @@ -154,7 +158,6 @@ target_include_directories(obj.MLIRGPUOps PRIVATE ${MLIR_SOURCE_DIR}/../lld/include - ${HIP_PATH}/include ${ROCM_PATH}/include ) diff --git a/mlir/lib/ExecutionEngine/CMakeLists.txt b/mlir/lib/ExecutionEngine/CMakeLists.txt --- a/mlir/lib/ExecutionEngine/CMakeLists.txt +++ b/mlir/lib/ExecutionEngine/CMakeLists.txt @@ -142,13 +142,17 @@ # Configure ROCm support. if (NOT DEFINED ROCM_PATH) if (NOT DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH "/opt/rocm" CACHE PATH "Path to which ROCm has been installed") + message(SEND_ERROR "Building mlir with ROCm support requires a working ROCm") else() set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Path to which ROCm has been installed") endif() - set(HIP_PATH "${ROCM_PATH}/hip" CACHE PATH "Path to which HIP has been installed") endif() - set(CMAKE_MODULE_PATH "${HIP_PATH}/cmake" ${CMAKE_MODULE_PATH}) + + find_path(HIP_MODULE_FILE_DIR FindHIP.cmake + HINTS ${ROCM_PATH} + PATH_SUFFIXES hip/cmake REQUIRED + NO_DEFAULT_PATH) + set(CMAKE_MODULE_PATH "${HIP_MODULE_FILE_DIR}" ${CMAKE_MODULE_PATH}) find_package(HIP) if (NOT HIP_FOUND) message(SEND_ERROR "Building mlir with ROCm support requires a working ROCm and HIP install") @@ -158,7 +162,8 @@ # Locate HIP runtime library. find_library(ROCM_RUNTIME_LIBRARY amdhip64 - PATHS "${HIP_PATH}/lib") + PATHS "${ROCM_PATH}" + PATH_SUFFIXES hip/lib) if (NOT ROCM_RUNTIME_LIBRARY) message(SEND_ERROR "Could not locate ROCm HIP runtime library") else() @@ -177,7 +182,6 @@ ) target_include_directories(mlir_rocm_runtime PRIVATE - ${HIP_PATH}/include ${ROCM_PATH}/include ) target_link_libraries(mlir_rocm_runtime diff --git a/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt b/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt --- a/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt +++ b/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt @@ -14,7 +14,11 @@ ################################################################################ # as of rocm-3.7, hsa is installed with cmake packages and kmt is found via hsa -find_package(hsa-runtime64 QUIET 1.2.0 HINTS ${CMAKE_INSTALL_PREFIX} PATHS /opt/rocm) +if (DEFINED ENV{ROCM_PATH}) + set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Path to which ROCm has been installed") +endif() + +find_package(hsa-runtime64 QUIET 1.2.0 HINTS ${CMAKE_INSTALL_PREFIX} PATH ${ROCM_PATH}) if(NOT LIBOMPTARGET_DEP_LIBELF_FOUND) libomptarget_say("Not building AMDGPU plugin: LIBELF not found")