Skip to content

Commit e7e64af

Browse files
authored
Merge pull request #5304 from srinivamd/v18x-rocm-fix
UCM/UCT/PERF/ROCM: fix UCX ROCm build, use DT_RUNPATH for libs
2 parents 49982d4 + 41afba9 commit e7e64af

File tree

4 files changed

+19
-8
lines changed

4 files changed

+19
-8
lines changed

config/m4/rocm.m4

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@ AC_DEFUN([ROCM_PARSE_FLAGS],
2323
[AC_MSG_WARN([$arg of $1 not parsed])])
2424
done])
2525

26-
# ROCM_BUILD_FLAGS(ARG, VAR_LIBS, VAR_LDFLAGS, VAR_CPPFLAGS)
26+
# ROCM_BUILD_FLAGS(ARG, VAR_LIBS, VAR_LDFLAGS, VAR_CPPFLAGS, VAR_ROOT)
2727
# ----------------------------------------------------------
2828
# Parse value of ARG into appropriate LIBS, LDFLAGS, and
2929
# CPPFLAGS variables.
3030
AC_DEFUN([ROCM_BUILD_FLAGS],
3131
$4="-I$1/include/hsa -I$1/include"
32-
$3="-L$1/hsa/lib -L$1/lib"
33-
$2="-lhsa-runtime64"
32+
$3="-L$1/lib -L$1/lib64 -L$1/hsa/lib"
33+
$2="-lhsa-runtime64 -lhsakmt"
34+
$5="$1"
3435
)
3536

3637
# HIP_BUILD_FLAGS(ARG, VAR_LIBS, VAR_LDFLAGS, VAR_CPPFLAGS)
@@ -64,11 +65,11 @@ AS_IF([test "x$with_rocm" != "xno"],
6465
[AC_MSG_NOTICE([ROCm path was not specified. Guessing ...])
6566
with_rocm="/opt/rocm"
6667
ROCM_BUILD_FLAGS([$with_rocm],
67-
[ROCM_LIBS], [ROCM_LDFLAGS], [ROCM_CPPFLAGS])],
68+
[ROCM_LIBS], [ROCM_LDFLAGS], [ROCM_CPPFLAGS], [ROCM_ROOT])],
6869
[x/*],
6970
[AC_MSG_NOTICE([ROCm path given as $with_rocm ...])
7071
ROCM_BUILD_FLAGS([$with_rocm],
71-
[ROCM_LIBS], [ROCM_LDFLAGS], [ROCM_CPPFLAGS])],
72+
[ROCM_LIBS], [ROCM_LDFLAGS], [ROCM_CPPFLAGS], [ROCM_ROOT])],
7273
[AC_MSG_NOTICE([ROCm flags given ...])
7374
ROCM_PARSE_FLAGS([$with_rocm],
7475
[ROCM_LIBS], [ROCM_LDFLAGS], [ROCM_CPPFLAGS])])
@@ -92,7 +93,8 @@ AS_IF([test "x$with_rocm" != "xno"],
9293
AS_IF([test "x$rocm_happy" = "xyes"],
9394
[AC_SUBST([ROCM_CPPFLAGS])
9495
AC_SUBST([ROCM_LDFLAGS])
95-
AC_SUBST([ROCM_LIBS])],
96+
AC_SUBST([ROCM_LIBS])
97+
AC_SUBST([ROCM_ROOT])],
9698
[AC_MSG_WARN([ROCm not found])])
9799
98100
CPPFLAGS="$SAVE_CPPFLAGS"

src/tools/perf/rocm/Makefile.am

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ if HAVE_HIP
99
module_LTLIBRARIES = libucx_perftest_rocm.la
1010
libucx_perftest_rocm_la_CPPFLAGS = $(BASE_CPPFLAGS) $(HIP_CPPFLAGS)
1111
libucx_perftest_rocm_la_CFLAGS = $(BASE_CFLAGS) $(HIP_CFLAGS)
12-
libucx_perftest_rocm_la_LDFLAGS = $(HIP_LDFLAGS) $(HIP_LIBS) -version-info $(SOVERSION)
12+
libucx_perftest_rocm_la_LDFLAGS = $(HIP_LDFLAGS) $(HIP_LIBS) -version-info $(SOVERSION) \
13+
$(patsubst %, -Xlinker %, -L$(ROCM_ROOT)/lib -rpath $(ROCM_ROOT)/hip/lib -rpath $(ROCM_ROOT)/lib) \
14+
$(patsubst %, -Xlinker %, --enable-new-dtags) \
15+
$(patsubst %, -Xlinker %, -rpath $(ROCM_ROOT)/lib64)
1316
libucx_perftest_rocm_la_SOURCES = rocm_alloc.c
1417

1518
include $(top_srcdir)/config/module.am

src/ucm/rocm/Makefile.am

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ libucm_rocm_la_CFLAGS = $(BASE_CFLAGS) $(ROCM_CFLAGS)
1313
libucm_rocm_la_LIBADD = ../libucm.la
1414
libucm_rocm_la_LDFLAGS = $(UCM_MODULE_LDFLAGS) \
1515
$(patsubst %, -Xlinker %, $(ROCM_LDFLAGS)) \
16+
$(patsubst %, -Xlinker %, -L$(ROCM_ROOT)/lib -rpath $(ROCM_ROOT)/hip/lib -rpath $(ROCM_ROOT)/lib) \
17+
$(patsubst %, -Xlinker %, --enable-new-dtags) \
18+
$(patsubst %, -Xlinker %, -rpath $(ROCM_ROOT)/lib64) \
1619
-version-info $(SOVERSION)
1720

1821
noinst_HEADERS = \

src/uct/rocm/Makefile.am

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ libuct_rocm_la_CPPFLAGS = $(BASE_CPPFLAGS) $(ROCM_CPPFLAGS)
1212
libuct_rocm_la_CFLAGS = $(BASE_CFLAGS)
1313
libuct_rocm_la_LIBADD = $(top_builddir)/src/ucs/libucs.la \
1414
$(top_builddir)/src/uct/libuct.la
15-
libuct_rocm_la_LDFLAGS = $(ROCM_LDFLAGS) $(ROCM_LIBS) -version-info $(SOVERSION)
15+
libuct_rocm_la_LDFLAGS = $(ROCM_LDFLAGS) $(ROCM_LIBS) -version-info $(SOVERSION) \
16+
$(patsubst %, -Xlinker %, -L$(ROCM_ROOT)/lib -rpath $(ROCM_ROOT)/hip/lib -rpath $(ROCM_ROOT)/lib) \
17+
$(patsubst %, -Xlinker %, --enable-new-dtags) \
18+
$(patsubst %, -Xlinker %, -rpath $(ROCM_ROOT)/lib64)
1619

1720
noinst_HEADERS = \
1821
base/rocm_base.h

0 commit comments

Comments
 (0)