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'