[Openmp-commits] [openmp] 28fbf42 - [libomptarget][amdgpu] Update plugin CMake to work with latest rocr library

Jon Chesterfield via Openmp-commits openmp-commits at lists.llvm.org
Wed Aug 26 12:01:55 PDT 2020


Author: Jon Chesterfield
Date: 2020-08-26T20:01:42+01:00
New Revision: 28fbf422f248fc74681a53208aa2f543a67515ac

URL: https://github.com/llvm/llvm-project/commit/28fbf422f248fc74681a53208aa2f543a67515ac
DIFF: https://github.com/llvm/llvm-project/commit/28fbf422f248fc74681a53208aa2f543a67515ac.diff

LOG: [libomptarget][amdgpu] Update plugin CMake to work with latest rocr library

Added: 
    

Modified: 
    openmp/libomptarget/plugins/amdgpu/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt b/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt
index 6498565babd8..7483e4e5c0ea 100644
--- a/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt
+++ b/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt
@@ -13,22 +13,15 @@
 
 ################################################################################
 
-if(NOT LIBOMPTARGET_DEP_LIBELF_FOUND)
-  libomptarget_say("Not building AMDGPU plugin: LIBELF not found")
+# 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 (NOT ${hsa-runtime64_FOUND})
+  libomptarget_say("Not building HSA plugin: hsa-runtime64 not found")
   return()
 endif()
 
-# rocr cmake uses DHSAKMT_INC_PATH, DHSAKMT_LIB_PATH to find roct
-# following that, look for DHSA_INC_PATH, DHSA_LIB_PATH, which allows
-# builds to use source and library files from various locations
-
-if(ROCM_DIR)
-  set(HSA_INC_PATH ${ROCM_DIR}/hsa/include ${ROCM_DIR}/hsa/include/hsa)
-  set(HSA_LIB_PATH ${ROCM_DIR}/hsa/lib)
-  set(HSAKMT_INC_PATH "")
-  set(HSAKMT_LIB_PATH ${ROCM_DIR}/lib)
-elseif(NOT (HSA_INC_PATH AND HSA_LIB_PATH AND HSAKMT_INC_PATH AND HSAKMT_LIB_PATH))
-  libomptarget_say("Not building AMDGPU plugin: ROCM library paths unspecified")
+if(NOT LIBOMPTARGET_DEP_LIBELF_FOUND)
+  libomptarget_say("Not building AMDGPU plugin: LIBELF not found")
   return()
 endif()
 
@@ -38,11 +31,6 @@ if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(ppc64le)|(aarch64)$" AND CMAKE_
 endif()
 libomptarget_say("Building amdgpu offloading plugin")
 
-libomptarget_say("HSA plugin: HSA_INC_PATH: ${HSA_INC_PATH}")
-libomptarget_say("HSA plugin: HSA_LIB_PATH: ${HSA_LIB_PATH}")
-libomptarget_say("HSA plugin: HSAKMT_INC_PATH: ${HSAKMT_INC_PATH}")
-libomptarget_say("HSA plugin: HSAKMT_LIB_PATH: ${HSAKMT_LIB_PATH}")
-
 ################################################################################
 # Define the suffix for the runtime messaging dumps.
 add_definitions(-DTARGET_NAME=AMDGPU)
@@ -55,7 +43,6 @@ if(CMAKE_BUILD_TYPE MATCHES Debug)
 endif()
 
 include_directories(
-  ${HSA_INC_PATH}
   ${CMAKE_CURRENT_SOURCE_DIR}/impl
 )
 
@@ -74,12 +61,12 @@ add_library(omptarget.rtl.amdgpu SHARED
 # When we build for debug, OPENMP_LIBDIR_SUFFIX get set to -debug
 install(TARGETS omptarget.rtl.amdgpu LIBRARY DESTINATION "lib${OPENMP_LIBDIR_SUFFIX}")
 
-add_dependencies(omptarget.rtl.amdgpu hsa-runtime64 hsakmt)
+set_property(TARGET omptarget.rtl.amdgpu PROPERTY INSTALL_RPATH "$ORIGIN")
 target_link_libraries(
   omptarget.rtl.amdgpu
-  -lpthread -ldl -Wl,-rpath,${OPENMP_INSTALL_LIBDIR}
-  -L${HSA_LIB_PATH} -L${HSAKMT_LIB_PATH} -lhsa-runtime64 -lhsakmt -Wl,-rpath,${HSA_LIB_PATH},-rpath,${HSAKMT_LIB_PATH}
-  -lelf
+  PRIVATE
+  hsa-runtime64::hsa-runtime64
+  pthread dl elf
   "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../exports"
   "-Wl,-z,defs"
   )


        


More information about the Openmp-commits mailing list