From 31cb66bf3b005b0a2fbb38681d87e40709765793 Mon Sep 17 00:00:00 2001 From: Edgar Gabriel Date: Fri, 3 Nov 2023 15:19:21 +0000 Subject: [PATCH 1/2] pr-checks: update compile-rocm workflow - switch to using ubuntu 22.04 base image - set LD_LIBRARY_PATH before compiling Open MPI to avoid a link error with ompi_info - remove the cleanup step Signed-off-by: Edgar Gabriel (cherry picked from commit 2a93bda00af76537e45a8e934105670557e72fc7) --- .github/workflows/compile-rocm.yaml | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/.github/workflows/compile-rocm.yaml b/.github/workflows/compile-rocm.yaml index cf4ad932032..d4bf54a6f7f 100644 --- a/.github/workflows/compile-rocm.yaml +++ b/.github/workflows/compile-rocm.yaml @@ -6,18 +6,21 @@ env: ROCM_VER: 5-4 jobs: compile-rocm: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Install dependencies run: | - sudo apt-get update - sudo apt-get install -y --no-install-recommends wget lsb-core software-properties-common gpg curl + sudo apt update + sudo apt install -y --no-install-recommends wget lsb-core software-properties-common gpg curl - name: Install extra dependencies run: | - curl -fsSL https://repo.radeon.com/rocm/rocm.gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/rocm-keyring.gpg - echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/rocm/apt/debian focal main' | sudo tee /etc/apt/sources.list.d/rocm.list - sudo apt-get update - sudo apt-get install -y rocm-hip-runtime + sudo mkdir --parents --mode=0755 /etc/apt/keyrings + wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null + echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.7.1/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/amdgpu.list + echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/5.7.1 jammy main" | sudo tee --append /etc/apt/sources.list.d/rocm.list + echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600 + sudo apt update + sudo apt install -y rocm-hip-runtime - uses: actions/checkout@v3 with: submodules: recursive @@ -25,10 +28,4 @@ jobs: run: | ./autogen.pl ./configure --prefix=${PWD}/install --with-rocm=/opt/rocm --disable-mpi-fortran - make -j - - name: Clean up - run: | - ls -la ./ - rm -rf ./* - rm -rf ./.??* - ls -la ./ \ No newline at end of file + LD_LIBRARY_PATH=/opt/rocm/lib make -j \ No newline at end of file From c13c1586039db930bba05b870a5eb0a4da3bd044 Mon Sep 17 00:00:00 2001 From: Edgar Gabriel Date: Fri, 3 Nov 2023 15:23:06 +0000 Subject: [PATCH 2/2] accelerator/rocm: update configure logic and Makefile update configure and compile logic to avoid adding hip libraries to the generic Open MPI LIBS. Signed-off-by: Edgar Gabriel (cherry picked from commit 0254552c8519e980ddf20b4d571ba06570c0c466) --- config/opal_check_rocm.m4 | 12 ++++-------- opal/mca/accelerator/rocm/Makefile.am | 2 +- opal/mca/accelerator/rocm/configure.m4 | 1 + 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/config/opal_check_rocm.m4 b/config/opal_check_rocm.m4 index 17f671d6309..25ac54e438e 100644 --- a/config/opal_check_rocm.m4 +++ b/config/opal_check_rocm.m4 @@ -36,7 +36,7 @@ AC_DEFUN([OPAL_CHECK_ROCM],[ [ with_rocm="/opt/rocm"] ) rocm_CPPFLAGS="-D__HIP_PLATFORM_AMD__" - rocm_LDFLAGS="-L${with_rocm}/lib/hip" + rocm_LDFLAGS="-L${with_rocm}/lib/" AS_IF([ test -n "$with_rocm" && test "$with_rocm" != "no" ], [ OPAL_APPEND([CPPFLAGS], [$rocm_CPPFLAGS]) @@ -52,15 +52,11 @@ AC_DEFUN([OPAL_CHECK_ROCM],[ LDFLAGS="$rocm_save_LDFLAGS" LIBS="$rocm_save_LIBS" - OPAL_APPEND([CPPFLAGS], [${$1_CPPFLAGS}] ) - OPAL_APPEND([LDFLAGS], [${$1_LDFLAGS}] ) - OPAL_APPEND([LIBS], [${$1_LIBS}] ) - - AS_IF([ test "$opal_check_rocm_happy" = "no" ], - [ CPPFLAGS="$rocm_save_CPPFLAGS"]) + CPPFLAGS="$rocm_save_CPPFLAGS" AS_IF([ test "$opal_check_rocm_happy" = "yes" ], - [ AC_DEFINE_UNQUOTED([OPAL_ROCM_SUPPORT], [1], [Enable ROCm support]) + [ OPAL_APPEND([$1_CPPFLAGS], [$rocm_CPPFLAGS]) + AC_DEFINE_UNQUOTED([OPAL_ROCM_SUPPORT], [1], [Enable ROCm support]) ROCM_SUPPORT=1 ], [ AC_DEFINE_UNQUOTED([OPAL_ROCM_SUPPORT], [0], [Disable ROCm support]) ROCM_SUPPORT=0 ]) diff --git a/opal/mca/accelerator/rocm/Makefile.am b/opal/mca/accelerator/rocm/Makefile.am index f16e30ff3cd..cb89cae2697 100644 --- a/opal/mca/accelerator/rocm/Makefile.am +++ b/opal/mca/accelerator/rocm/Makefile.am @@ -13,7 +13,7 @@ # -AM_CPPFLAGS = $(common_rocm_CPPFLAGS) +AM_CPPFLAGS = $(opal_rocm_CPPFLAGS) sources = \ accelerator_rocm.h \ diff --git a/opal/mca/accelerator/rocm/configure.m4 b/opal/mca/accelerator/rocm/configure.m4 index bd3d1833d8b..780e0d8c793 100644 --- a/opal/mca/accelerator/rocm/configure.m4 +++ b/opal/mca/accelerator/rocm/configure.m4 @@ -24,4 +24,5 @@ AC_DEFUN([MCA_opal_accelerator_rocm_CONFIG],[ [$2]) AC_SUBST([opal_rocm_LDFLAGS]) AC_SUBST([opal_rocm_LIBS]) + AC_SUBST([opal_rocm_CPPFLAGS]) ])dnl