diff --git a/EESSI-extend-easybuild.eb b/EESSI-extend-easybuild.eb index 977dbe0a..4658d2a8 100644 --- a/EESSI-extend-easybuild.eb +++ b/EESSI-extend-easybuild.eb @@ -134,7 +134,7 @@ if eessi_cvmfs_install then end easybuild_installpath = os.getenv("EESSI_SOFTWARE_PATH") -- enforce accelerator subdirectory usage for CVMFS installs (only if an accelerator install is requested) - if (eessi_accelerator_target ~= nil) and (cuda_compute_capability ~= nil) and (os.getenv("EESSI_ACCELERATOR_INSTALL") ~= nil) then + if (eessi_accelerator_target ~= nil) and (cuda_compute_capability ~= nil or amd_compute_capability ~= nil) and (os.getenv("EESSI_ACCELERATOR_INSTALL") ~= nil) then easybuild_installpath = pathJoin(easybuild_installpath, eessi_accelerator_target) end elseif eessi_site_install then diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 2c674ae8..97ed6001 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -221,6 +221,7 @@ module --force purge module unuse $MODULEPATH # Initialize the EESSI environment +export EESSI_DEBUG_INIT=1 module use $TOPDIR/init/modules module load EESSI/$EESSI_VERSION @@ -314,9 +315,16 @@ elif [[ -n "$EESSI_ACCELERATOR_TARGET_OVERRIDE" ]]; then export EESSI_ACCELERATOR_INSTALL=1 fi +echo "EESSI environment before loading EESSI-extend:" +env | grep EESSI + echo "DEBUG: before loading EESSI-extend // EASYBUILD_INSTALLPATH='${EASYBUILD_INSTALLPATH}'" source $TOPDIR/load_eessi_extend_module.sh ${EESSI_VERSION} +unset EESSI_DEBUG_INIT echo "DEBUG: after loading EESSI-extend // EASYBUILD_INSTALLPATH='${EASYBUILD_INSTALLPATH}'" +echo "EESSI environment after loading EESSI-extend:" +env | grep EESSI + # Install full CUDA SDK and cu* libraries in host_injections # (This is done *before* configuring EasyBuild as it may rely on an older EB version) diff --git a/easystacks/software.eessi.io/2025.06/accel/amd/eessi-2025.06-eb-5.3.0-2025a.yml b/easystacks/software.eessi.io/2025.06/accel/amd/eessi-2025.06-eb-5.3.0-2025a.yml new file mode 100644 index 00000000..ec4a270a --- /dev/null +++ b/easystacks/software.eessi.io/2025.06/accel/amd/eessi-2025.06-eb-5.3.0-2025a.yml @@ -0,0 +1,2 @@ +easyconfigs: + - ROCm-LLVM-19.0.0-GCCcore-14.2.0-ROCm-6.4.1.eb diff --git a/eb_hooks.py b/eb_hooks.py index 60c5b74f..9c7b835c 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -717,13 +717,18 @@ def pre_fetch_hook(self, *args, **kwargs): def pre_fetch_hook_check_installation_path(self, *args, **kwargs): # When we know the CUDA status, we will need to verify the installation path # if we are doing an EESSI or host_injections installation - accelerator_deps = ['CUDA'] + accelerator_deps = ['CUDA', 'ROCm-LLVM'] + accelerator_toolchains = ['rocm-compilers', 'rompi', 'rfbf', 'rfoss'] strict_eessi_installation = ( bool(re.search(EESSI_INSTALLATION_REGEX, self.installdir)) or self.installdir.startswith(HOST_INJECTIONS_LOCATION)) if strict_eessi_installation and not os.getenv("EESSI_OVERRIDE_STRICT_INSTALLPATH_CHECK"): dependency_names = self.cfg.dependency_names() - if self.cfg.name in accelerator_deps or any(dep in dependency_names for dep in accelerator_deps): + if ( + self.cfg.name in accelerator_deps + or any(dep in dependency_names for dep in accelerator_deps) + or self.toolchain.name in accelerator_toolchains + ): # Make sure the path is an accelerator location if "/accel/" not in self.installdir: raise EasyBuildError(