diff --git a/Golden_Repo/p/psmpi/psmpi-5.5.0-1-GCC-11.2.0.eb b/Golden_Repo/p/psmpi/psmpi-5.5.0-1-GCC-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..e7896586ddf064bdf70e0e70a98a98dbf436a6b2
--- /dev/null
+++ b/Golden_Repo/p/psmpi/psmpi-5.5.0-1-GCC-11.2.0.eb
@@ -0,0 +1,41 @@
+name = 'psmpi'
+version = '5.5.0-1'
+
+homepage = 'https://github.com/ParaStation/psmpi2'
+description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation,
+based on MPICH v3. It provides extra low level communication libraries and integration with
+various batch systems for tighter process control.
+"""
+
+toolchain = {'name': 'GCC', 'version': '11.2.0'}
+
+sources = [SOURCE_TAR_BZ2]
+source_urls = ['https://github.com/ParaStation/psmpi/archive/']
+
+dependencies = [
+    ('pscom', '5.4-default', '', SYSTEM),
+    # needed due to the inclusion of hwloc
+    ('libxml2', '2.9.10'),
+    # Including CUDA here to trigger the hook to add the gpu property, and because it is actually needed
+    ('CUDA', '11.5', '', SYSTEM)
+]
+
+patches = [
+    'psmpi_shebang.patch',
+    'psmpi-5.5.0-1_ime.patch'
+]
+
+# mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio'
+# We disable gpfs support, since it seems to be problematic under some circumstances. One can disable it by setting
+# ROMIO_FSTYPE_FORCE="ufs:", but then we loose IME support
+mpich_opts = '--enable-static --with-file-system=ime+ufs --enable-romio'
+
+preconfigopts = "./autogen.sh && "
+preconfigopts += 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && '
+preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && '
+
+threaded = False
+
+cuda = True
+
+moduleclass = 'mpi'
diff --git a/Golden_Repo/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0-mt.eb b/Golden_Repo/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0-mt.eb
new file mode 100644
index 0000000000000000000000000000000000000000..9e34ca629e78a2a6bc5cc781fbb2d028dbe4c2d7
--- /dev/null
+++ b/Golden_Repo/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0-mt.eb
@@ -0,0 +1,41 @@
+name = 'psmpi'
+version = '5.5.0-1'
+versionsuffix = '-mt'
+
+homepage = 'https://github.com/ParaStation/psmpi2'
+description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation,
+based on MPICH v3. It provides extra low level communication libraries and integration with 
+various batch systems for tighter process control.
+"""
+
+toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'}
+
+sources = [SOURCE_TAR_BZ2]
+source_urls = ['https://github.com/ParaStation/psmpi/archive/']
+
+dependencies = [
+    ('pscom', '5.4-default', '', SYSTEM),
+    # needed due to the inclusion of hwloc
+    ('libxml2', '2.9.10'),
+    # Including CUDA here to trigger the hook to add the gpu property, and because it is actually needed
+    ('CUDA', '11.5', '', SYSTEM)
+]
+
+patches = [
+    'psmpi_shebang.patch',
+    'psmpi-5.5.0-1_ime.patch'
+]
+
+# mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio'
+# We disable gpfs support, since it seems to be problematic under some circumstances. One can disable it by setting
+# ROMIO_FSTYPE_FORCE="ufs:", but then we loose IME support
+mpich_opts = '--enable-static --with-file-system=ime+ufs --enable-romio'
+
+preconfigopts = 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && '
+preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && '
+
+threaded = True
+
+cuda = True
+
+moduleclass = 'mpi'
diff --git a/Golden_Repo/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0.eb b/Golden_Repo/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..dc30d1611b13a8c8855bbf8fce250b802e7fd7cb
--- /dev/null
+++ b/Golden_Repo/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0.eb
@@ -0,0 +1,40 @@
+name = 'psmpi'
+version = '5.5.0-1'
+
+homepage = 'https://github.com/ParaStation/psmpi2'
+description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation,
+based on MPICH v3. It provides extra low level communication libraries and integration with 
+various batch systems for tighter process control.
+"""
+
+toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'}
+
+sources = [SOURCE_TAR_BZ2]
+source_urls = ['https://github.com/ParaStation/psmpi/archive/']
+
+dependencies = [
+    ('pscom', '5.4-default', '', SYSTEM),
+    # needed due to the inclusion of hwloc
+    ('libxml2', '2.9.10'),
+    # Including CUDA here to trigger the hook to add the gpu property, and because it is actually needed
+    ('CUDA', '11.5', '', SYSTEM)
+]
+
+patches = [
+    'psmpi_shebang.patch',
+    'psmpi-5.5.0-1_ime.patch'
+]
+
+# mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio'
+# We disable gpfs support, since it seems to be problematic under some circumstances. One can disable it by setting
+# ROMIO_FSTYPE_FORCE="ufs:", but then we loose IME support
+mpich_opts = '--enable-static --with-file-system=ime+ufs --enable-romio'
+
+preconfigopts = 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && '
+preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && '
+
+threaded = False
+
+cuda = True
+
+moduleclass = 'mpi'
diff --git a/Golden_Repo/p/psmpi/psmpi-5.5.0-1_ime.patch b/Golden_Repo/p/psmpi/psmpi-5.5.0-1_ime.patch
new file mode 100644
index 0000000000000000000000000000000000000000..61547f3e447515d55b229b44a4191513d938de6a
--- /dev/null
+++ b/Golden_Repo/p/psmpi/psmpi-5.5.0-1_ime.patch
@@ -0,0 +1,220 @@
+diff -ruN psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/ad_ime/ad_ime.c psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/ad_ime/ad_ime.c
+--- psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/ad_ime/ad_ime.c	2021-10-21 20:06:57.000000000 +0200
++++ psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/ad_ime/ad_ime.c	2021-11-09 14:53:59.545886977 +0100
+@@ -10,8 +10,8 @@
+ 
+ struct ADIOI_Fns_struct ADIO_IME_operations = {
+     ADIOI_IME_Open,     /* Open */
+-    ADIOI_SCALEABLE_OpenColl, /* OpenColl */ /*XXX*/
+-        ADIOI_IME_ReadContig,   /* ReadContig */
++    ADIOI_GEN_OpenColl, /* OpenColl */
++    ADIOI_IME_ReadContig,   /* ReadContig */
+     ADIOI_IME_WriteContig,      /* WriteContig */
+     ADIOI_GEN_ReadStridedColl,  /* ReadStridedColl */
+     ADIOI_GEN_WriteStridedColl, /* WriteStridedColl */
+diff -ruN psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_common.c psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_common.c
+--- psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_common.c	2021-10-21 20:06:57.000000000 +0200
++++ psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_common.c	2021-11-09 14:53:59.545886977 +0100
+@@ -58,24 +58,38 @@
+     MPI_Attr_put(MPI_COMM_SELF, ADIOI_IME_Initialized, (void *) 0);
+ }
+ 
+-/* Return an IME-compatible filename (add 'ime:' prefix).
+- * New filename must be free'd by the user */
+-char *ADIOI_IME_Add_prefix(const char *filename)
++/**
++ * Return an IME-compatible filename
++ * An absolute BFS path will get added the 'ime:' prefix.
++ * A path on ime-fuse will be converted to a relative ime path,
++ * with the ime:/ prefix
++ * The returned filename must be free'd by the user
++ */
++char *ADIOI_IME_Convert_filename(const char *filename)
+ {
+-    static char myname[] = "ADIOI_IME_ADD_PREFIX";
+-    size_t f_len = strlen(filename) + 1;
+-    char *ime_filename = ADIOI_Malloc(f_len + ADIOI_IME_PREFIX_LEN);
++    static char myname[] = "ADIOI_IME_CONVERT_FILENAME";
+ 
+-    if (!ime_filename) {
++#if (IME_NATIVE_API_VERSION >= 131)
++    bool is_fuse = ime_native_is_fuse_path_and_convert(filename, NULL);
++    if (is_fuse) {
++        return ADIOI_Strdup(filename);
++    }
++#endif
+ 
++    size_t f_len = strlen(filename) + 1;
++    char *ime_filename = ADIOI_Malloc(f_len + IME_FILE_PREFIX_LEN_NO_FWD_SLASH);
++    if (!ime_filename) {
+         MPIO_Err_create_code(MPI_SUCCESS,
+                              MPIR_ERR_FATAL,
+-                             myname, __LINE__, MPI_ERR_UNKNOWN, "Error allocating memory", 0);
++                             myname, __LINE__, MPI_ERR_UNKNOWN,
++                             "Error allocating memory", 0);
+ 
+         return NULL;
+     }
+ 
+-    ADIOI_Strncpy(ime_filename, ADIOI_IME_PREFIX, ADIOI_IME_PREFIX_LEN);
+-    ADIOI_Strncpy((ime_filename + ADIOI_IME_PREFIX_LEN), filename, f_len);
++    ADIOI_Strncpy(ime_filename, DEFAULT_IME_PREFIX_NO_FWD_SLASH,
++                  IME_FILE_PREFIX_LEN_NO_FWD_SLASH);
++    ADIOI_Strncpy((ime_filename + IME_FILE_PREFIX_LEN_NO_FWD_SLASH),
++                  filename, f_len);
+     return ime_filename;
+ }
+diff -ruN psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_common.h psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_common.h
+--- psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_common.h	2021-10-21 20:06:57.000000000 +0200
++++ psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_common.h	2021-11-09 14:53:59.545886977 +0100
+@@ -17,5 +17,5 @@
+ void ADIOI_IME_End(int *error_code);
+ int ADIOI_IME_End_call(MPI_Comm comm, int keyval, void *attribute_val, void *extra_state);
+ 
+-char *ADIOI_IME_Add_prefix(const char *filename);
++char *ADIOI_IME_Convert_filename(const char *filename);
+ #endif /* AD_IME_COMMON_H_INCLUDED */
+diff -ruN psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_delete.c psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_delete.c
+--- psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_delete.c	2021-10-21 20:06:57.000000000 +0200
++++ psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_delete.c	2021-11-09 14:53:59.545886977 +0100
+@@ -13,7 +13,7 @@
+     int ret;
+     static char myname[] = "ADIOI_IME_DELETE";
+ 
+-    char *ime_filename = ADIOI_IME_Add_prefix(filename);
++    char *ime_filename = ADIOI_IME_Convert_filename(filename);
+     ret = ime_native_unlink(ime_filename);
+     ADIOI_Free(ime_filename);
+     if (ret)
+diff -ruN psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/ad_ime/ad_ime.h psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/ad_ime/ad_ime.h
+--- psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/ad_ime/ad_ime.h	2021-10-21 20:06:57.000000000 +0200
++++ psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/ad_ime/ad_ime.h	2021-11-09 14:53:59.545886977 +0100
+@@ -7,9 +7,7 @@
+ #define AD_IME_H_INCLUDED
+ 
+ #include "adio.h"
+-#ifdef HAVE_IME_NATIVE_H
+ #include "ime_native.h"
+-#endif
+ 
+ #define ADIOI_IME_PREFIX        "ime:"
+ #define ADIOI_IME_PREFIX_LEN    (sizeof(ADIOI_IME_PREFIX) - 1)
+diff -ruN psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_open.c psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_open.c
+--- psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_open.c	2021-10-21 20:06:57.000000000 +0200
++++ psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/ad_ime/ad_ime_open.c	2021-11-09 14:53:59.545886977 +0100
+@@ -68,7 +68,7 @@
+         return;
+     }
+ 
+-    ime_fs->ime_filename = ADIOI_IME_Add_prefix(fd->filename);
++    ime_fs->ime_filename = ADIOI_IME_Convert_filename(fd->filename);
+ 
+     /* all processes open the file */
+     ret = ime_native_open(ime_fs->ime_filename, amode, perm);
+diff -ruN psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/common/ad_fstype.c psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/common/ad_fstype.c
+--- psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/adio/common/ad_fstype.c	2021-10-21 20:06:57.000000000 +0200
++++ psmpi-5.5.0-1/mpich2/src/mpi/romio/adio/common/ad_fstype.c	2021-11-09 14:53:59.545886977 +0100
+@@ -97,6 +97,20 @@
+ #define DAOS_SUPER_MAGIC (0xDA05AD10)
+ #endif
+ 
++# if defined(ROMIO_IME)
++/* fuse super magic is somehow missing in system includes */
++# if !defined(FUSE_SUPER_MAGIC)
++# define FUSE_SUPER_MAGIC 0x65735546
++# endif
++# include "ime_native.h"
++# if (IME_NATIVE_API_VERSION) >= 131
++# include "ime_ioctl.h"
++
++/* Disable auto-switching from posix to IME */
++#define IME_NO_AUTO_NATIVE "IME_NO_AUTO_NATIVE"
++# endif
++# endif /* ROMIO_IME */
++
+ #ifdef ROMIO_HAVE_STRUCT_STATVFS_WITH_F_BASETYPE
+ #ifdef HAVE_SYS_STATVFS_H
+ #include <sys/statvfs.h>
+@@ -486,6 +500,39 @@
+     }
+ #endif
+ 
++#ifdef FUSE_SUPER_MAGIC
++    if (fsbuf.f_type == FUSE_SUPER_MAGIC) {
++        /* fuse does not allow to override FUSE_SUPER_MAGIC
++         * Any file system that is fused based needs to hook in
++         * here and use its own ioctl.
++         */
++        #if defined ROMIO_IME && defined IM_FIOC_GET_F_TYPE
++        char *dir;
++        ADIO_FileSysType_parentdir(filename, &dir);
++        int fd = open(dir, O_RDONLY);
++        if (fd == -1)
++        {
++            /* dir should typically work, but try to fail back to
++             * filename if it somehow failed
++             */
++            fd = open(filename, O_RDONLY);
++        }
++
++        if (fd >= 0) {
++            uint32_t f_type;
++            int rc = ioctl(fd, IM_FIOC_GET_F_TYPE, &f_type);
++            close(fd);
++            if (rc == 0 && f_type == IME_SUPER_MAGIC &&
++                getenv(IME_NO_AUTO_NATIVE) == NULL) {
++                *fstype = ADIO_IME;
++                return;
++            }
++        }
++        #endif /* ROMIO_IME */
++    }
++#endif /* FUSE_SUPER_MAGIC */
++
++
+ #endif /*ROMIO_HAVE_STRUCT_STATFS_WITH_F_TYPE */
+ 
+ #ifdef ROMIO_UFS
+diff -ruN psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/configure.ac psmpi-5.5.0-1/mpich2/src/mpi/romio/configure.ac
+--- psmpi-5.5.0-1.orig/mpich2/src/mpi/romio/configure.ac	2021-10-21 20:06:57.000000000 +0200
++++ psmpi-5.5.0-1/mpich2/src/mpi/romio/configure.ac	2021-11-09 14:54:27.824926093 +0100
+@@ -231,6 +231,8 @@
+ --with-pvfs2=path - Path to installation of PVFS (version 2)],,)
+ AC_ARG_WITH(mpi-impl,[
+ --with-mpi-impl=name - Specify MPI implementation to build ROMIO for],,)
++AC_ARG_WITH(ime,[
++--with-ime=PATH - Path to installation of IME],,)
+ dnl
+ AC_ARG_WITH(mpi, [
+ --with-mpi=path   - Path to instalation of MPI (headers, libs, etc)],,)
+@@ -806,6 +808,30 @@
+     fi
+ fi
+ 
++#
++# IME specific build path.
++# Automatically adds IME to the file systems if not present
++#
++if test -n "${with_ime}" ; then
++   AC_SUBST(IME_INSTALL_PATH, ["${with_ime}"])
++fi
++
++ime_default_path="/opt/ddn/ime"
++if test -n "${with_ime}" -o -e "${ime_default_path}/include/ime_native.h"; then
++   # Use IME and the default path, if not specified or overriden
++   with_ime="${ime_default_path}"
++   file_system_ime=1
++fi
++
++if test -n "${file_system_ime}" ; then
++    CFLAGS="$CFLAGS -I${with_ime}/include"
++    CPPFLAGS="$CPPFLAGS -I${with_ime}/include"
++    LDFLAGS="$LDFLAGS -L${with_ime}/lib"
++    LIBS="-lim_client -lim_common"
++    export LD_LIBRARY_PATH="${with_ime}/lib:$LD_LIBRARY_PATH"
++fi
++
++
+ #############################################
+ # This PVFS2 logic is special because it's hard to get it right if it comes
+ # before the known_filesystems check loop above.  So we handle it down here,
diff --git a/Golden_Repo/p/psmpi/psmpi_shebang.patch b/Golden_Repo/p/psmpi/psmpi_shebang.patch
new file mode 100644
index 0000000000000000000000000000000000000000..0ee53ac268735fd7f859d02d7f0f00d33b9a6a05
--- /dev/null
+++ b/Golden_Repo/p/psmpi/psmpi_shebang.patch
@@ -0,0 +1,36 @@
+diff -ruN psmpi-5.2.0-1.old/mpich2/src/env/mpicc.bash.in psmpi-5.2.0-1/mpich2/src/env/mpicc.bash.in
+--- psmpi-5.2.0-1.old/mpich2/src/env/mpicc.bash.in	2017-03-08 20:47:13.159276458 +0100
++++ psmpi-5.2.0-1/mpich2/src/env/mpicc.bash.in	2017-03-08 20:47:48.430966270 +0100
+@@ -1,4 +1,4 @@
+-#! @BASH_SHELL@
++#!/usr/bin/env bash
+ ##
+ ## (C) 2006 by Argonne National Laboratory.
+ ##     See COPYRIGHT in top-level directory.
+diff -ruN psmpi-5.2.0-1.old/mpich2/src/env/mpicxx.bash.in psmpi-5.2.0-1/mpich2/src/env/mpicxx.bash.in
+--- psmpi-5.2.0-1.old/mpich2/src/env/mpicxx.bash.in	2017-03-08 20:47:13.160276506 +0100
++++ psmpi-5.2.0-1/mpich2/src/env/mpicxx.bash.in	2017-03-08 20:47:51.549115658 +0100
+@@ -1,4 +1,4 @@
+-#! @BASH_SHELL@
++#!/usr/bin/env bash
+ # 
+ # (C) 2006 by Argonne National Laboratory.
+ #     See COPYRIGHT in top-level directory.
+diff -ruN psmpi-5.2.0-1.old/mpich2/src/env/mpif77.bash.in psmpi-5.2.0-1/mpich2/src/env/mpif77.bash.in
+--- psmpi-5.2.0-1.old/mpich2/src/env/mpif77.bash.in	2017-03-08 20:47:13.160276506 +0100
++++ psmpi-5.2.0-1/mpich2/src/env/mpif77.bash.in	2017-03-08 20:47:55.148288103 +0100
+@@ -1,4 +1,4 @@
+-#! @BASH_SHELL@
++#!/usr/bin/env bash
+ #
+ # (C) 2006 by Argonne National Laboratory.
+ #     See COPYRIGHT in top-level directory.
+diff -ruN psmpi-5.2.0-1.old/mpich2/src/env/mpifort.bash.in psmpi-5.2.0-1/mpich2/src/env/mpifort.bash.in
+--- psmpi-5.2.0-1.old/mpich2/src/env/mpifort.bash.in	2017-03-08 20:47:13.160276506 +0100
++++ psmpi-5.2.0-1/mpich2/src/env/mpifort.bash.in	2017-03-08 20:48:08.913947609 +0100
+@@ -1,4 +1,4 @@
+-#! @BASH_SHELL@
++#!/usr/bin/env bash
+ #
+ # (C) 2006 by Argonne National Laboratory.
+ #     See COPYRIGHT in top-level directory.
diff --git a/Overlays/hdfml_overlay/p/psmpi/psmpi-5.5.0-1-GCC-11.2.0.eb b/Overlays/hdfml_overlay/p/psmpi/psmpi-5.5.0-1-GCC-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..b6c50f4e6e5e3cd0bed8443319d9bc2dc711d0e7
--- /dev/null
+++ b/Overlays/hdfml_overlay/p/psmpi/psmpi-5.5.0-1-GCC-11.2.0.eb
@@ -0,0 +1,45 @@
+name = 'psmpi'
+version = '5.5.0-1'
+
+homepage = 'https://github.com/ParaStation/psmpi2'
+description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation,
+based on MPICH v3. It provides extra low level communication libraries and integration with
+various batch systems for tighter process control.
+"""
+
+toolchain = {'name': 'GCC', 'version': '11.2.0'}
+
+sources = [SOURCE_TAR_BZ2]
+source_urls = ['https://github.com/ParaStation/psmpi/archive/']
+
+dependencies = [
+    ('pscom', '5.4-default', '', SYSTEM),
+    # needed due to the inclusion of hwloc
+    ('libxml2', '2.9.10'),
+    # Including CUDA here to trigger the hook to add the gpu property, and because it is actually needed
+    ('CUDA', '11.5', '', SYSTEM)
+]
+
+patches = [
+    'psmpi_shebang.patch',
+    # We don't have IME in HDFML so we skip this
+    # 'psmpi-5.5.0-1_ime.patch'
+]
+
+# We don't have IME in HDFML so we skip this
+# mpich_opts = '--enable-static --with-file-system=ime+ufs --enable-romio'
+#
+# preconfigopts += 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && '
+# preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && '
+# mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio'
+# We disable gpfs support, since it seems to be problematic under some circumstances. One can disable it by setting
+# ROMIO_FSTYPE_FORCE="ufs:", but then we loose IME support
+mpich_opts = '--enable-static --with-file-system=ufs --enable-romio'
+
+preconfigopts = "./autogen.sh && "
+
+threaded = False
+
+cuda = True
+
+moduleclass = 'mpi'
diff --git a/Overlays/hdfml_overlay/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0-mt.eb b/Overlays/hdfml_overlay/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0-mt.eb
new file mode 100644
index 0000000000000000000000000000000000000000..32fab4fcd1c9e55027180465bdbfe9dcd50deacb
--- /dev/null
+++ b/Overlays/hdfml_overlay/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0-mt.eb
@@ -0,0 +1,46 @@
+name = 'psmpi'
+version = '5.5.0-1'
+versionsuffix = '-mt'
+
+homepage = 'https://github.com/ParaStation/psmpi2'
+description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation,
+based on MPICH v3. It provides extra low level communication libraries and integration with 
+various batch systems for tighter process control.
+"""
+
+toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'}
+
+sources = [SOURCE_TAR_BZ2]
+source_urls = ['https://github.com/ParaStation/psmpi/archive/']
+
+dependencies = [
+    ('pscom', '5.4-default', '', SYSTEM),
+    # needed due to the inclusion of hwloc
+    ('libxml2', '2.9.10'),
+    # Including CUDA here to trigger the hook to add the gpu property, and because it is actually needed
+    ('CUDA', '11.5', '', SYSTEM)
+]
+
+patches = [
+    'psmpi_shebang.patch',
+    # We don't have IME in HDFML so we skip this
+    # 'psmpi-5.5.0-1_ime.patch'
+]
+
+# We don't have IME in HDFML so we skip this
+# mpich_opts = '--enable-static --with-file-system=ime+ufs --enable-romio'
+#
+# preconfigopts += 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && '
+# preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && '
+# mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio'
+# We disable gpfs support, since it seems to be problematic under some circumstances. One can disable it by setting
+# ROMIO_FSTYPE_FORCE="ufs:", but then we loose IME support
+mpich_opts = '--enable-static --with-file-system=ufs --enable-romio'
+
+preconfigopts = "./autogen.sh && "
+
+threaded = True
+
+cuda = True
+
+moduleclass = 'mpi'
diff --git a/Overlays/hdfml_overlay/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0.eb b/Overlays/hdfml_overlay/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..04f0bcf820b23f46fc2db72057db67ac32375d27
--- /dev/null
+++ b/Overlays/hdfml_overlay/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0.eb
@@ -0,0 +1,45 @@
+name = 'psmpi'
+version = '5.5.0-1'
+
+homepage = 'https://github.com/ParaStation/psmpi2'
+description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation,
+based on MPICH v3. It provides extra low level communication libraries and integration with 
+various batch systems for tighter process control.
+"""
+
+toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'}
+
+sources = [SOURCE_TAR_BZ2]
+source_urls = ['https://github.com/ParaStation/psmpi/archive/']
+
+dependencies = [
+    ('pscom', '5.4-default', '', SYSTEM),
+    # needed due to the inclusion of hwloc
+    ('libxml2', '2.9.10'),
+    # Including CUDA here to trigger the hook to add the gpu property, and because it is actually needed
+    ('CUDA', '11.5', '', SYSTEM)
+]
+
+patches = [
+    'psmpi_shebang.patch',
+    # We don't have IME in HDFML so we skip this
+    # 'psmpi-5.5.0-1_ime.patch'
+]
+
+# We don't have IME in HDFML so we skip this
+# mpich_opts = '--enable-static --with-file-system=ime+ufs --enable-romio'
+#
+# preconfigopts += 'export CFLAGS="-I/opt/ddn/ime/include $CFLAGS" && '
+# preconfigopts += 'export LDFLAGS="$LDFLAGS -L/opt/ddn/ime/lib -lim_client" && '
+# mpich_opts = '--enable-static --with-file-system=ime+ufs+gpfs --enable-romio'
+# We disable gpfs support, since it seems to be problematic under some circumstances. One can disable it by setting
+# ROMIO_FSTYPE_FORCE="ufs:", but then we loose IME support
+mpich_opts = '--enable-static --with-file-system=ufs --enable-romio'
+
+preconfigopts = "./autogen.sh && "
+
+threaded = False
+
+cuda = True
+
+moduleclass = 'mpi'
diff --git a/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.5.0-1-GCC-11.2.0.eb b/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.5.0-1-GCC-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..1afe2ae1b4333c6562805379dfc5ae443abfa739
--- /dev/null
+++ b/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.5.0-1-GCC-11.2.0.eb
@@ -0,0 +1,41 @@
+name = 'psmpi'
+version = '5.5.0-1'
+local_pscom_version = '5.4.8-1_gw'
+
+homepage = 'https://github.com/ParaStation/psmpi2'
+description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation,
+based on MPICH v3. It provides extra low level communication libraries and integration with
+various batch systems for tighter process control.
+"""
+
+toolchain = {'name': 'GCC', 'version': '11.2.0'}
+
+source_urls = [
+    'https://github.com/ParaStation/psmpi/archive/',
+    'https://github.com/ParaStation/pscom/archive/'
+]
+sources = [
+    SOURCE_TAR_BZ2,
+    'pscom-%s.tar.bz2' % local_pscom_version
+]
+
+patches = [
+    'psmpi_shebang.patch',
+]
+
+builddependencies = [('popt', '1.18', '', SYSTEM)]
+
+dependencies = [
+    # needed due to the inclusion of hwloc
+    ('libxml2', '2.9.10'),
+]
+
+mpich_opts = '--enable-static'
+configopts = '--with-pscom-builtin=psm2'
+
+pscom_allin_path = '%%(builddir)s/pscom-%s ' % local_pscom_version
+pgo = True
+
+threaded = False
+
+moduleclass = 'mpi'
diff --git a/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0-mt.eb b/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0-mt.eb
new file mode 100644
index 0000000000000000000000000000000000000000..ee7bc0330996c6131499a1ab96f32ca079f74323
--- /dev/null
+++ b/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0-mt.eb
@@ -0,0 +1,42 @@
+name = 'psmpi'
+version = '5.5.0-1'
+versionsuffix = '-mt'
+local_pscom_version = '5.4.8-1_gw'
+
+homepage = 'https://github.com/ParaStation/psmpi2'
+description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation,
+based on MPICH v3. It provides extra low level communication libraries and integration with
+various batch systems for tighter process control.
+"""
+
+toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'}
+
+source_urls = [
+    'https://github.com/ParaStation/psmpi/archive/',
+    'https://github.com/ParaStation/pscom/archive/'
+]
+sources = [
+    SOURCE_TAR_BZ2,
+    'pscom-%s.tar.bz2' % local_pscom_version
+]
+
+patches = [
+    'psmpi_shebang.patch',
+]
+
+builddependencies = [('popt', '1.18', '', SYSTEM)]
+
+dependencies = [
+    # needed due to the inclusion of hwloc
+    ('libxml2', '2.9.10'),
+]
+
+mpich_opts = '--enable-static'
+configopts = '--with-pscom-builtin=psm2'
+
+pscom_allin_path = '%%(builddir)s/pscom-%s ' % local_pscom_version
+pgo = True
+
+threaded = True
+
+moduleclass = 'mpi'
diff --git a/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0.eb b/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..1fc3c05b8563cdf7f056545e9eeb363cc608bcc7
--- /dev/null
+++ b/Overlays/jurecabooster_overlay/p/psmpi/psmpi-5.5.0-1-intel-compilers-2021.4.0.eb
@@ -0,0 +1,41 @@
+name = 'psmpi'
+version = '5.5.0-1'
+local_pscom_version = '5.4.8-1_gw'
+
+homepage = 'https://github.com/ParaStation/psmpi2'
+description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation,
+based on MPICH v3. It provides extra low level communication libraries and integration with
+various batch systems for tighter process control.
+"""
+
+toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'}
+
+source_urls = [
+    'https://github.com/ParaStation/psmpi/archive/',
+    'https://github.com/ParaStation/pscom/archive/'
+]
+sources = [
+    SOURCE_TAR_BZ2,
+    'pscom-%s.tar.bz2' % local_pscom_version
+]
+
+patches = [
+    'psmpi_shebang.patch',
+]
+
+builddependencies = [('popt', '1.18', '', SYSTEM)]
+
+dependencies = [
+    # needed due to the inclusion of hwloc
+    ('libxml2', '2.9.10'),
+]
+
+mpich_opts = '--enable-static'
+configopts = '--with-pscom-builtin=psm2'
+
+pscom_allin_path = '%%(builddir)s/pscom-%s ' % local_pscom_version
+pgo = True
+
+threaded = False
+
+moduleclass = 'mpi'