From 330e10223a499c308294b41f9841cf767cce399a Mon Sep 17 00:00:00 2001 From: caubet_m Date: Thu, 14 Aug 2025 14:39:18 +0200 Subject: [PATCH] Mpich intelcc --- Compiler/mpich/build | 35 ++++++++++++++++++++++++-------- Compiler/mpich/files/config.yaml | 12 +++++++++++ Compiler/openmpi/build | 21 +++++++++++-------- 3 files changed, 52 insertions(+), 16 deletions(-) diff --git a/Compiler/mpich/build b/Compiler/mpich/build index b374342..d537da8 100755 --- a/Compiler/mpich/build +++ b/Compiler/mpich/build @@ -1,7 +1,22 @@ #!/usr/bin/env modbuild pbuild::pre_configure() { - unset F90 + # It seems 'unset F90' is here since 2015-10-14 + # Probably some old gcc or mpich versions had problems with it + # To review for gcc, but I think this should be not set anymore + # + # The versions compiled with 'unset F90' on Merlin7 are: + # mpich/3.3.2 unstable Compiler Alps gcc/8.4.0 + # mpich/4.2.3 stable Compiler Alps gcc/8.5.0 + # mpich/4.2.3 stable Compiler Alps gcc/12.3.0 + # mpich/4.3.1 stable Compiler Alps gcc/8.5.0 + # mpich/4.3.1 stable Compiler Alps gcc/12.3.0 + # + # Finally, compiling with 'unset F90' crashes IntelCC based compilations + # which require it + # + # Commented out from now on: + # unset F90 pbuild::add_configure_args "--enable-shared" pbuild::add_configure_args "--enable-static" @@ -47,13 +62,17 @@ pbuild::pre_configure() { pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}" fi - if [[ -v INTEL_VERSION ]]; then - pbuild::add_configure_args "CC=icc" - pbuild::add_configure_args "CXX=icpc" - pbuild::add_configure_args "FC=ifort" - pbuild::add_configure_args "F90=ifort" - pbuild::add_configure_args "F77=ifort" - pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0" + if [[ -v INTEL_VERSION ]] || [[ -v INTELCC_VERSION ]]; then + # Commented out, since this comes with the Intel/IntelCC modules + # + # pbuild::add_configure_args "CC=$(which icc)" + # pbuild::add_configure_args "CXX=$(which icpc)" + # pbuild::add_configure_args "FC=$(which ifort)" + # pbuild::add_configure_args "F90=$(which ifort)" + # pbuild::add_configure_args "F77=$(which ifort)" + # pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0" + # + # In general, any extra configure args should go to config.yaml fi if pbuild::use_flag slurm || \ diff --git a/Compiler/mpich/files/config.yaml b/Compiler/mpich/files/config.yaml index d80d933..e837363 100644 --- a/Compiler/mpich/files/config.yaml +++ b/Compiler/mpich/files/config.yaml @@ -20,6 +20,18 @@ mpich: versions: 4.3.1: variants: + - systems: [login.*.merlin7.psi.ch, cn.*.merlin7.psi.ch] + relstage: unstable + overlay: Alps + target_cpus: ['x86_64'] # MC + use_overlays: [PSI, Alps] + use_flags: [merlin7, slurm] + group_deps: + compiler: {intelcc: [22.2]} + build_requires: [hwloc/2.12.0, patchelf/0.14.5] + runtime_deps: [libfabric/2.2.0-oss] + configure_args+: + - --with-pm=hydra,gforker - systems: [login.*.merlin7.psi.ch, cn.*.merlin7.psi.ch] relstage: stable overlay: Alps diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index 091e7f2..ca1312f 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -75,14 +75,19 @@ pbuild::pre_configure() { pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}" fi - if [[ -v INTEL_VERSION ]]; then - pbuild::add_configure_args "CC=icc" - pbuild::add_configure_args "CXX=icpc" - pbuild::add_configure_args "FC=ifort" - pbuild::add_configure_args "F90=ifort" - pbuild::add_configure_args "F77=ifort" - # -O0 was probably added for enabling debugging: - # pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0" + if [[ -v INTEL_VERSION ]] || [[ -v INTELCC_VERSION ]]; then + # Commented out, since this comes with the Intel/IntelCC modules + # + # pbuild::add_configure_args "CC=$(which icc)" + # pbuild::add_configure_args "CXX=$(which icpc)" + # pbuild::add_configure_args "FC=$(which ifort)" + # pbuild::add_configure_args "F90=$(which ifort)" + # pbuild::add_configure_args "F77=$(which ifort)" + # pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0" + # |- -O0 was probably added for enabling debugging + # + # In general, any extra configure args should go to config.yaml + # pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel" fi