[Mlir-commits] [mlir] ae1f707 - [mlir] Use hip's config mode to find libraries
Krzysztof Drewniak
llvmlistbot at llvm.org
Wed Sep 28 07:36:18 PDT 2022
Author: Krzysztof Drewniak
Date: 2022-09-28T14:36:09Z
New Revision: ae1f707366f74e5271afb01b502ae690656fa9f9
URL: https://github.com/llvm/llvm-project/commit/ae1f707366f74e5271afb01b502ae690656fa9f9
DIFF: https://github.com/llvm/llvm-project/commit/ae1f707366f74e5271afb01b502ae690656fa9f9.diff
LOG: [mlir] Use hip's config mode to find libraries
Instead of using find_package(HIP) to find FindHIP.cmake, which
doesn't seem to be the preferred way to find HIP anymore, use
find_package(hip CONFIG) to find the HIP configuration. Give
preference to ${ROCM_PATH} over ${ROCM_PATH}/hip in order to handle
the fact that newer ROCm versions prefer the include path to use
${ROCM_PATH}/include/hip over ${ROCM_PATH}/hip/innclude/hip (the
latter throws up a bunch of deprecation warnings)
Then, instead of trying to manually find the host-side headers and
runtime library by hand, use the hip::host and hip::amdhip64 libraries
that the config module defines.
This makes the CMake config much less error-prone and brings it in
line with the recommended approach to finding HIP.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D134753
Added:
Modified:
mlir/lib/ExecutionEngine/CMakeLists.txt
Removed:
################################################################################
diff --git a/mlir/lib/ExecutionEngine/CMakeLists.txt b/mlir/lib/ExecutionEngine/CMakeLists.txt
index 85fc811b525a1..5991ca4617f5a 100644
--- a/mlir/lib/ExecutionEngine/CMakeLists.txt
+++ b/mlir/lib/ExecutionEngine/CMakeLists.txt
@@ -190,23 +190,8 @@ if(MLIR_ENABLE_ROCM_RUNNER)
set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Path to which ROCm has been installed")
endif()
endif()
- set(HIP_PATH "${ROCM_PATH}/hip" CACHE PATH "Path to which HIP has been installed")
- set(CMAKE_MODULE_PATH "${HIP_PATH}/cmake" ${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")
- else()
- message(STATUS "ROCm HIP version: ${HIP_VERSION}")
- endif()
-
- # Locate HIP runtime library.
- find_library(ROCM_RUNTIME_LIBRARY amdhip64
- PATHS "${HIP_PATH}/lib")
- if (NOT ROCM_RUNTIME_LIBRARY)
- message(SEND_ERROR "Could not locate ROCm HIP runtime library")
- else()
- message(STATUS "ROCm HIP runtime lib: ${ROCM_RUNTIME_LIBRARY}")
- endif()
+ list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH} "${ROCM_PATH}/hip")
+ find_package(hip REQUIRED)
if (NOT DEFINED ROCM_TEST_CHIPSET)
execute_process(COMMAND "${ROCM_PATH}/bin/rocm_agent_enumerator"
@@ -263,20 +248,11 @@ if(MLIR_ENABLE_ROCM_RUNNER)
"-Wno-gnu-anonymous-struct")
endif()
- target_compile_definitions(mlir_rocm_runtime
- PRIVATE
- __HIP_PLATFORM_HCC__
- )
- target_include_directories(mlir_rocm_runtime
- PRIVATE
- ${HIP_PATH}/include
- ${ROCM_PATH}/include
- )
set_property(TARGET mlir_rocm_runtime
PROPERTY INSTALL_RPATH_USE_LINK_PATH ON)
target_link_libraries(mlir_rocm_runtime
PUBLIC
- ${ROCM_RUNTIME_LIBRARY}
+ hip::host hip::amdhip64
)
endif()
More information about the Mlir-commits
mailing list