Skip to content

Commit 28fbf42

Browse files
[libomptarget][amdgpu] Update plugin CMake to work with latest rocr library
1 parent 1596ea8 commit 28fbf42

File tree

1 file changed

+10
-23
lines changed

1 file changed

+10
-23
lines changed

openmp/libomptarget/plugins/amdgpu/CMakeLists.txt

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,15 @@
1313

1414
################################################################################
1515

16-
if(NOT LIBOMPTARGET_DEP_LIBELF_FOUND)
17-
libomptarget_say("Not building AMDGPU plugin: LIBELF not found")
16+
# as of rocm-3.7, hsa is installed with cmake packages and kmt is found via hsa
17+
find_package(hsa-runtime64 QUIET 1.2.0 HINTS ${CMAKE_INSTALL_PREFIX} PATHS /opt/rocm)
18+
if (NOT ${hsa-runtime64_FOUND})
19+
libomptarget_say("Not building HSA plugin: hsa-runtime64 not found")
1820
return()
1921
endif()
2022

21-
# rocr cmake uses DHSAKMT_INC_PATH, DHSAKMT_LIB_PATH to find roct
22-
# following that, look for DHSA_INC_PATH, DHSA_LIB_PATH, which allows
23-
# builds to use source and library files from various locations
24-
25-
if(ROCM_DIR)
26-
set(HSA_INC_PATH ${ROCM_DIR}/hsa/include ${ROCM_DIR}/hsa/include/hsa)
27-
set(HSA_LIB_PATH ${ROCM_DIR}/hsa/lib)
28-
set(HSAKMT_INC_PATH "")
29-
set(HSAKMT_LIB_PATH ${ROCM_DIR}/lib)
30-
elseif(NOT (HSA_INC_PATH AND HSA_LIB_PATH AND HSAKMT_INC_PATH AND HSAKMT_LIB_PATH))
31-
libomptarget_say("Not building AMDGPU plugin: ROCM library paths unspecified")
23+
if(NOT LIBOMPTARGET_DEP_LIBELF_FOUND)
24+
libomptarget_say("Not building AMDGPU plugin: LIBELF not found")
3225
return()
3326
endif()
3427

@@ -38,11 +31,6 @@ if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(ppc64le)|(aarch64)$" AND CMAKE_
3831
endif()
3932
libomptarget_say("Building amdgpu offloading plugin")
4033

41-
libomptarget_say("HSA plugin: HSA_INC_PATH: ${HSA_INC_PATH}")
42-
libomptarget_say("HSA plugin: HSA_LIB_PATH: ${HSA_LIB_PATH}")
43-
libomptarget_say("HSA plugin: HSAKMT_INC_PATH: ${HSAKMT_INC_PATH}")
44-
libomptarget_say("HSA plugin: HSAKMT_LIB_PATH: ${HSAKMT_LIB_PATH}")
45-
4634
################################################################################
4735
# Define the suffix for the runtime messaging dumps.
4836
add_definitions(-DTARGET_NAME=AMDGPU)
@@ -55,7 +43,6 @@ if(CMAKE_BUILD_TYPE MATCHES Debug)
5543
endif()
5644

5745
include_directories(
58-
${HSA_INC_PATH}
5946
${CMAKE_CURRENT_SOURCE_DIR}/impl
6047
)
6148

@@ -74,12 +61,12 @@ add_library(omptarget.rtl.amdgpu SHARED
7461
# When we build for debug, OPENMP_LIBDIR_SUFFIX get set to -debug
7562
install(TARGETS omptarget.rtl.amdgpu LIBRARY DESTINATION "lib${OPENMP_LIBDIR_SUFFIX}")
7663

77-
add_dependencies(omptarget.rtl.amdgpu hsa-runtime64 hsakmt)
64+
set_property(TARGET omptarget.rtl.amdgpu PROPERTY INSTALL_RPATH "$ORIGIN")
7865
target_link_libraries(
7966
omptarget.rtl.amdgpu
80-
-lpthread -ldl -Wl,-rpath,${OPENMP_INSTALL_LIBDIR}
81-
-L${HSA_LIB_PATH} -L${HSAKMT_LIB_PATH} -lhsa-runtime64 -lhsakmt -Wl,-rpath,${HSA_LIB_PATH},-rpath,${HSAKMT_LIB_PATH}
82-
-lelf
67+
PRIVATE
68+
hsa-runtime64::hsa-runtime64
69+
pthread dl elf
8370
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../exports"
8471
"-Wl,-z,defs"
8572
)

0 commit comments

Comments
 (0)