From da0870a35bdaada9e52adcf27c0a1dcb0f540bb2 Mon Sep 17 00:00:00 2001
From: Damian Alvarez <d.alvarez@fz-juelich.de>
Date: Thu, 1 Dec 2022 17:33:16 +0100
Subject: [PATCH] - Final tweaks to make IntelMPI a "side MPI" - Remove old
 intel toolchain related packages - Remove plain mpi-settings module, since
 the current libfabric behaviour is to prioritize UCX

---
 .../flexible_custom_hierarchical_mns.py       |  2 +-
 .../juwels_overlay/i/iimpi/iimpi-2022a.eb     | 18 --------------
 .../imkl-FFTW-2022.1.0-iimpi-2022a.eb         | 11 ---------
 .../i/impi-settings/impi-settings-2021-UCX.eb |  2 --
 .../impi-settings/impi-settings-2021-plain.eb | 24 -------------------
 .../juwels_overlay/i/intel/intel-2022a.eb     | 22 -----------------
 6 files changed, 1 insertion(+), 78 deletions(-)
 delete mode 100644 Overlays/juwels_overlay/i/iimpi/iimpi-2022a.eb
 delete mode 100644 Overlays/juwels_overlay/i/imkl-FFTW/imkl-FFTW-2022.1.0-iimpi-2022a.eb
 delete mode 100644 Overlays/juwels_overlay/i/impi-settings/impi-settings-2021-plain.eb
 delete mode 100644 Overlays/juwels_overlay/i/intel/intel-2022a.eb

diff --git a/Custom_MNS/flexible_custom_hierarchical_mns.py b/Custom_MNS/flexible_custom_hierarchical_mns.py
index ca9121307..bbe369802 100644
--- a/Custom_MNS/flexible_custom_hierarchical_mns.py
+++ b/Custom_MNS/flexible_custom_hierarchical_mns.py
@@ -283,7 +283,7 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS):
                 # Hack the module path extension, so BullMPI actually reuses the stack from OpenMPI
                 # instead of building everything on top unnecessarily. Same for impi on top of psmpi
                 if mpi_name in SWAPPABLE_MPIS:
-                    paths.append(os.path.join(MPI, tc_comp_name, tc_comp_ver, SWAPPABLE_MPIS['mpi_name'][0], SWAPPABLE_MPIS['mpi_name'][1] or mpi_ver))
+                    paths.append(os.path.join(MPI, tc_comp_name, tc_comp_ver, SWAPPABLE_MPIS[mpi_name][0], SWAPPABLE_MPIS[mpi_name][1] or mpi_ver))
                 else:
                     paths.append(os.path.join(MPI, tc_comp_name, tc_comp_ver, mpi_name, mpi_ver))
 
diff --git a/Overlays/juwels_overlay/i/iimpi/iimpi-2022a.eb b/Overlays/juwels_overlay/i/iimpi/iimpi-2022a.eb
deleted file mode 100644
index 346e185e4..000000000
--- a/Overlays/juwels_overlay/i/iimpi/iimpi-2022a.eb
+++ /dev/null
@@ -1,18 +0,0 @@
-# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild
-easyblock = 'Toolchain'
-
-name = 'iimpi'
-version = '2022a'
-
-homepage = 'https://software.intel.com/parallel-studio-xe'
-description = """Intel C/C++ and Fortran compilers, alongside Intel MPI."""
-
-toolchain = SYSTEM
-
-local_comp_ver = '2022.1.0'
-dependencies = [
-    ('intel-compilers', local_comp_ver),
-    ('impi', '2021.6.0', '', ('intel-compilers', local_comp_ver)),
-]
-
-moduleclass = 'toolchain'
diff --git a/Overlays/juwels_overlay/i/imkl-FFTW/imkl-FFTW-2022.1.0-iimpi-2022a.eb b/Overlays/juwels_overlay/i/imkl-FFTW/imkl-FFTW-2022.1.0-iimpi-2022a.eb
deleted file mode 100644
index a18ad2d9d..000000000
--- a/Overlays/juwels_overlay/i/imkl-FFTW/imkl-FFTW-2022.1.0-iimpi-2022a.eb
+++ /dev/null
@@ -1,11 +0,0 @@
-name = 'imkl-FFTW'
-version = '2022.1.0'
-
-homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html'
-description = "FFTW interfaces using Intel oneAPI Math Kernel Library"
-
-toolchain = {'name': 'iimpi', 'version': '2022a'}
-
-dependencies = [('imkl', version, '', SYSTEM)]
-
-moduleclass = 'numlib'
diff --git a/Overlays/juwels_overlay/i/impi-settings/impi-settings-2021-UCX.eb b/Overlays/juwels_overlay/i/impi-settings/impi-settings-2021-UCX.eb
index f6fc6d888..0d44dc46d 100644
--- a/Overlays/juwels_overlay/i/impi-settings/impi-settings-2021-UCX.eb
+++ b/Overlays/juwels_overlay/i/impi-settings/impi-settings-2021-UCX.eb
@@ -7,8 +7,6 @@ versionsuffix = 'UCX'
 homepage = ''
 description = 'This module loads the IntelMPI configuration with UCX.'
 
-site_contacts = 'd.alvarez@fz-juelich.de'
-
 toolchain = SYSTEM
 
 source_urls = []
diff --git a/Overlays/juwels_overlay/i/impi-settings/impi-settings-2021-plain.eb b/Overlays/juwels_overlay/i/impi-settings/impi-settings-2021-plain.eb
deleted file mode 100644
index 2f238b67f..000000000
--- a/Overlays/juwels_overlay/i/impi-settings/impi-settings-2021-plain.eb
+++ /dev/null
@@ -1,24 +0,0 @@
-easyblock = 'SystemBundle'
-
-name = 'impi-settings'
-version = '2021'
-versionsuffix = 'plain'
-
-homepage = ''
-description = 'This module loads the default IntelMPI configuration. It relies on the default order for libfabric.'
-
-site_contacts = 'd.alvarez@fz-juelich.de'
-
-toolchain = SYSTEM
-
-source_urls = []
-
-sources = []
-
-modextravars = {
-    'I_MPI_PMI_VALUE_LENGTH_MAX': '900',
-    # Needed for PSM and harmless for InfiniBand. For ParaStation it is set on the pscom module
-    'HFI_NO_CPUAFFINITY': 'YES',
-}
-
-moduleclass = 'system'
diff --git a/Overlays/juwels_overlay/i/intel/intel-2022a.eb b/Overlays/juwels_overlay/i/intel/intel-2022a.eb
deleted file mode 100644
index 59f22dc71..000000000
--- a/Overlays/juwels_overlay/i/intel/intel-2022a.eb
+++ /dev/null
@@ -1,22 +0,0 @@
-easyblock = 'Toolchain'
-
-name = 'intel'
-version = '2022a'
-
-homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain'
-description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)."
-
-toolchain = SYSTEM
-
-local_comp_ver = '2022.1.0'
-local_gccver = '11.3.0'
-dependencies = [
-    ('GCCcore', local_gccver),
-    ('binutils', '2.38', '', ('GCCcore', local_gccver)),
-    ('intel-compilers', local_comp_ver),
-    ('impi', '2021.6.0', '', ('intel-compilers', local_comp_ver)),
-    ('imkl', local_comp_ver, '', SYSTEM),
-    ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)),
-]
-
-moduleclass = 'toolchain'
-- 
GitLab