Skip to content
Snippets Groups Projects
Commit e6ba8c97 authored by Damian Alvarez's avatar Damian Alvarez
Browse files

To add psmpi in all systems

parent 3fecf7de
Branches
No related tags found
No related merge requests found
Showing
with 638 additions and 0 deletions
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'
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'
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 -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 -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.
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'
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'
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'
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'
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'
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'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment