From 90f031223b6e362b9ecb781af641dd8a7e3c179d Mon Sep 17 00:00:00 2001 From: David Rohr Date: Thu, 13 Mar 2025 14:52:24 +0100 Subject: [PATCH 1/2] GPU CMake: Auto-detect ROCm even if CMake prefix path not set --- dependencies/FindO2GPU.cmake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dependencies/FindO2GPU.cmake b/dependencies/FindO2GPU.cmake index 57c820fbe86b1..f8d41c032078f 100644 --- a/dependencies/FindO2GPU.cmake +++ b/dependencies/FindO2GPU.cmake @@ -198,7 +198,10 @@ endif() # Detect and enable HIP if(ENABLE_HIP) - if("$ENV{CMAKE_PREFIX_PATH}" MATCHES "rocm") + if(NOT "$ENV{CMAKE_PREFIX_PATH}" MATCHES "rocm" AND NOT CMAKE_PREFIX_PATH MATCHES "rocm" AND EXISTS "/opt/rocm/lib/cmake/") + list(APPEND CMAKE_PREFIX_PATH "/opt/rocm/lib/cmake") + endif() + if("$ENV{CMAKE_PREFIX_PATH}" MATCHES "rocm" OR CMAKE_PREFIX_PATH MATCHES "rocm") set(CMAKE_HIP_STANDARD ${CMAKE_CXX_STANDARD}) set(CMAKE_HIP_STANDARD_REQUIRED TRUE) if(HIP_AMDGPUTARGET) @@ -206,7 +209,7 @@ if(ENABLE_HIP) set(GPU_TARGETS "${HIP_AMDGPUTARGET}" CACHE STRING "AMD GPU targets to compile for" FORCE) set(CMAKE_HIP_ARCHITECTURES "${HIP_AMDGPUTARGET}" CACHE STRING "AMD GPU targets to compile for" FORCE) endif() - set(TMP_ROCM_DIR_LIST $ENV{CMAKE_PREFIX_PATH}) + set(TMP_ROCM_DIR_LIST "${CMAKE_PREFIX_PATH}:$ENV{CMAKE_PREFIX_PATH}") string(REPLACE ":" ";" TMP_ROCM_DIR_LIST "${TMP_ROCM_DIR_LIST}") list(FILTER TMP_ROCM_DIR_LIST INCLUDE REGEX rocm) list(POP_FRONT TMP_ROCM_DIR_LIST TMP_ROCM_DIR) From ade69024341c6b28c625968a12b69769587dd879 Mon Sep 17 00:00:00 2001 From: David Rohr Date: Thu, 13 Mar 2025 15:00:35 +0100 Subject: [PATCH 2/2] GPU Standalone: fix prepare script using O2 env modules --- GPU/GPUTracking/Standalone/cmake/prepare.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GPU/GPUTracking/Standalone/cmake/prepare.sh b/GPU/GPUTracking/Standalone/cmake/prepare.sh index 826cdb5efb56c..17474b5fc6956 100755 --- a/GPU/GPUTracking/Standalone/cmake/prepare.sh +++ b/GPU/GPUTracking/Standalone/cmake/prepare.sh @@ -10,7 +10,7 @@ else WORK_DIR="$ALIBUILD_WORK_DIR" fi eval "`alienv shell-helper`" -alienv load O2/latest -for i in Vc boost fmt CMake ms_gsl Clang ninja; do +# alienv load O2/latest +for i in Vc boost fmt CMake ms_gsl Clang ninja TBB ROOT; do source sw/$ALIARCH/$i/latest/etc/profile.d/init.sh done