Merge branch 'mpich_merlin7' into 'master'
Mpich merlin7 See merge request Pmodules/buildblocks!457
This commit is contained in:
@@ -1,28 +1,70 @@
|
||||
#!/usr/bin/env modbuild
|
||||
|
||||
pbuild::set_download_url "http://www.mpich.org/static/downloads/$V/$P-${V_PKG}.tar.gz"
|
||||
pbuild::add_to_group 'Compiler'
|
||||
pbuild::install_docfiles 'COPYRIGHT' 'README'
|
||||
|
||||
module use System
|
||||
|
||||
pbuild::pre_configure() {
|
||||
unset F90
|
||||
pbuild::add_configure_args "--enable-cxx"
|
||||
pbuild::add_configure_args "--enable-fortran"
|
||||
if pbuild::use_flag merlin; then
|
||||
MXM_DIR='/opt/mellanox/mxm/'
|
||||
pbuild::add_configure_args "--with-device=ch3:nemesis:mxm"
|
||||
pbuild::add_configure_args "--with-mxm=${MXM_DIR}"
|
||||
pbuild::add_configure_args "--without-x"
|
||||
#pbuild::add_configure_args "--with-slurm-include=/usr/include/slurm"
|
||||
#pbuild::add_configure_args "--with-slurm-lib=/usr/lib64"
|
||||
#pbuild::add_configure_args "--with-pmi=slurm"
|
||||
#pbuild::add_configure_args "--with-pm=no"
|
||||
pbuild::add_configure_args "--enable-gl=no"
|
||||
unset F90
|
||||
|
||||
pbuild::add_configure_args "--enable-shared"
|
||||
pbuild::add_configure_args "--enable-static"
|
||||
|
||||
if [[ -v CUDA_VERSION ]]; then
|
||||
std::info "Enabling CUDA ${CUDA_VERSION}."
|
||||
pbuild::add_configure_args "--with-cuda=${CUDA_HOME}"
|
||||
fi
|
||||
|
||||
if [[ -v HWLOC_VERSION ]]; then
|
||||
unset HWLOC_VERSION
|
||||
std::info "Enabling external hwloc ${HWLOC_PREFIX}."
|
||||
pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}"
|
||||
else
|
||||
pbuild::add_configure_args "--with-hwloc=embedded"
|
||||
fi
|
||||
|
||||
if [[ -v PMIX_VERSION ]]; then
|
||||
std::info "Enabling PMIX ${PMIX_VERSION}."
|
||||
unset PMIX_VERSION
|
||||
pbuild::add_configure_args "--with-pmix=${PMIX_PREFIX}"
|
||||
pbuild::add_configure_args "--with-pmi=pmix"
|
||||
fi
|
||||
|
||||
if pbuild::use_flag merlin7 && [[ ! -v LIBFABRIC_VERSION ]]; then
|
||||
if pkg-config --exists libfabric; then
|
||||
std::info "Get LIBFABRIC_VERSION via pkg-config"
|
||||
LIBFABRIC_PREFIX=$(pkg-config --variable=prefix libfabric)
|
||||
LIBFABRIC_VERSION="$(LIBFABRIC_PREFIX##*/)"
|
||||
fi
|
||||
fi
|
||||
if [[ "${COMPILER}" == 'gcc' ]] && (( ${COMPILER_VERSION%.*.*} == 10 )); then
|
||||
pbuild::add_configure_args "FFLAGS=-fallow-argument-mismatch"
|
||||
if [[ -v LIBFABRIC_VERSION ]]; then
|
||||
std::info "Enabling libfabric ${LIBFABRIC_VERSION}."
|
||||
if (( V_MAJOR < 4 )); then
|
||||
pbuild::add_configure_args "--with-ofi=${LIBFABRIC_PREFIX}"
|
||||
fi
|
||||
pbuild::add_configure_args "--with-libfabric=${LIBFABRIC_PREFIX}"
|
||||
fi
|
||||
|
||||
if [[ -v UCX_VERSION ]]; then
|
||||
std::info "Enabling UCX ${UCX_VERSION}."
|
||||
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"
|
||||
fi
|
||||
|
||||
if pbuild::use_flag slurm || \
|
||||
pbuild::use_flag merlin6 || \
|
||||
pbuild::use_flag merlin7; then
|
||||
std::info "Enabling SLURM."
|
||||
pbuild::add_configure_args "--with-slurm"
|
||||
fi
|
||||
}
|
||||
|
||||
# Local Variables:
|
||||
# mode: sh
|
||||
# sh-basic-offset: 8
|
||||
# tab-width: 8
|
||||
# End:
|
||||
|
||||
46
Compiler/mpich/files/config.yaml
Normal file
46
Compiler/mpich/files/config.yaml
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
# yamllint disable rule:line-length
|
||||
format: 1
|
||||
mpich:
|
||||
defaults:
|
||||
group: Compiler
|
||||
overlay: base
|
||||
relstage: stable
|
||||
configure_args:
|
||||
- --enable-cxx
|
||||
- --enable-fortran
|
||||
docfiles: [COPYRIGHT, README]
|
||||
urls:
|
||||
- url: http://www.mpich.org/static/downloads/$V/$P-${V_PKG}.tar.gz
|
||||
shasums:
|
||||
mpich-3.3.2.tar.gz: 4bfaf8837a54771d3e4922c84071ef80ffebddbb6971a006038d91ee7ef959b9
|
||||
mpich-4.2.3.tar.gz: 7a019180c51d1738ad9c5d8d452314de65e828ee240bcb2d1f80de9a65be88a8
|
||||
|
||||
versions:
|
||||
4.2.3:
|
||||
variants:
|
||||
- systems: [.*.merlin7.psi.ch]
|
||||
relstage: unstable
|
||||
overlay: Alps
|
||||
use_overlays: [PSI]
|
||||
use_flags: [merlin7, slurm]
|
||||
group_deps:
|
||||
compiler: {gcc: [12.3.0]}
|
||||
build_requires: [hwloc/2.11.1, libfabric/1.15.2.0, patchelf/0.14.5]
|
||||
runtime_deps: [cuda/12.2.0]
|
||||
configure_args+:
|
||||
- --with-pm=hydra,gforker
|
||||
3.3.2:
|
||||
variants:
|
||||
- systems: [.*.merlin7.psi.ch]
|
||||
relstage: unstable
|
||||
overlay: Alps
|
||||
use_overlays: [PSI]
|
||||
use_flags: [merlin7, slurm]
|
||||
group_deps:
|
||||
compiler: {gcc: [8.4.0]}
|
||||
build_requires: [libfabric/1.15.2.0, patchelf/0.14.5]
|
||||
patch_files:
|
||||
- patch/mpich-v3.3.2.patch
|
||||
configure_args+:
|
||||
- --with-device=ch3:nemesis:ofi
|
||||
13
Compiler/mpich/patch/mpich-v3.3.2.patch
Normal file
13
Compiler/mpich/patch/mpich-v3.3.2.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c b/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c
|
||||
index 9b35471f3..7b5dd782f 100644
|
||||
--- a/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c
|
||||
+++ b/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c
|
||||
@@ -26,7 +26,7 @@ static struct HYD_node *global_node_list = NULL;
|
||||
#if defined(HAVE_LIBSLURM)
|
||||
static HYD_status list_to_nodes(char *str)
|
||||
{
|
||||
- hostlist_t hostlist;
|
||||
+ hostlist_t *hostlist;
|
||||
char *host;
|
||||
int k = 0;
|
||||
HYD_status status = HYD_SUCCESS;
|
||||
Reference in New Issue
Block a user