From d4363d6166951d8c82b1d4cff5162bec5d0ca037 Mon Sep 17 00:00:00 2001 From: Lukas Krupcik Date: Wed, 31 Mar 2021 08:57:32 +0200 Subject: [PATCH] new file: o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-test.eb modified: o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2.eb new file: u/UCX/UCX-1.9.0-NVHPC-21.2.eb new file: u/UCX/UCX-1.9.0.patch --- o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-test.eb | 32 +++++++++++++++ o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2.eb | 4 ++ u/UCX/UCX-1.9.0-NVHPC-21.2.eb | 48 ++++++++++++++++++++++ u/UCX/UCX-1.9.0.patch | 11 +++++ 4 files changed, 95 insertions(+) create mode 100644 o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-test.eb create mode 100644 u/UCX/UCX-1.9.0-NVHPC-21.2.eb create mode 100644 u/UCX/UCX-1.9.0.patch diff --git a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-test.eb b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-test.eb new file mode 100644 index 00000000..fb8dd0b4 --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-test.eb @@ -0,0 +1,32 @@ +# IT4Innovations 2021 +# LK + +name = 'OpenMPI' +version = '4.0.5' +versionsuffix = '-test' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'NVHPC', 'version': '21.2'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['572e777441fd47d7f06f1b8a166e7f44b8ea01b8b2e79d1e299d509725d1bd05'] + +#ependencies = [ +# ('UCX', '1.9.0') , +# + +preconfigopts = 'export CC="pgcc -noswitcherror" && export CXX="pgc++ -noswitcherror" && export FC="pgfortran -noswitcherror" && ' + +configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs ' +configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support +configopts += '--enable-mpirun-prefix-by-default ' +configopts += '--with-tm=/opt/pbs ' # Enable PBS +configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings +#onfigopts += '--with-ucx=$EBROOTUCX ' +configopts += '--with-cuda=$EBROOTNVHPC/Linux_x86_64/21.2/cuda/11.2 ' + + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2.eb b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2.eb index c4d54cd5..9734a996 100644 --- a/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2.eb +++ b/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2.eb @@ -17,11 +17,15 @@ dependencies = [ ('UCX', '1.9.0') , ] +preconfigopts = 'export CC="pgcc -noswitcherror" && export CXX="pgc++ -noswitcherror" && export FC="pgfortran -noswitcherror" && ' + configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs ' +configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support configopts += '--enable-mpirun-prefix-by-default ' configopts += '--with-tm=/opt/pbs ' # Enable PBS configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings configopts += '--with-ucx=$EBROOTUCX ' configopts += '--with-cuda=$EBROOTNVHPC/Linux_x86_64/21.2/cuda/11.2 ' + moduleclass = 'mpi' diff --git a/u/UCX/UCX-1.9.0-NVHPC-21.2.eb b/u/UCX/UCX-1.9.0-NVHPC-21.2.eb new file mode 100644 index 00000000..656971d8 --- /dev/null +++ b/u/UCX/UCX-1.9.0-NVHPC-21.2.eb @@ -0,0 +1,48 @@ +# IT4Innovations 2021 +# LK + +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.9.0' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'NVHPC', 'version': '21.2'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s.patch'] + +builddependencies = [ + ('binutils', '2.34'), + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('numactl', '2.0.13'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --disable-doxygen-doc --with-cuda=$EBROOTNVHPC/Linux_x86_64/21.2/cuda/11.2 ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' diff --git a/u/UCX/UCX-1.9.0.patch b/u/UCX/UCX-1.9.0.patch new file mode 100644 index 00000000..a1547413 --- /dev/null +++ b/u/UCX/UCX-1.9.0.patch @@ -0,0 +1,11 @@ +--- ./src/uct/tcp/tcp_ep.c.orig 2021-03-29 11:54:29.505568247 +0200 ++++ ./src/uct/tcp/tcp_ep.c 2021-03-29 11:55:37.083082889 +0200 +@@ -1307,7 +1307,7 @@ + uct_tcp_ep_t *ep = ucs_derived_of(uct_ep, uct_tcp_ep_t); + uct_tcp_iface_t *iface = ucs_derived_of(uct_ep->iface, uct_tcp_iface_t); + uct_tcp_am_hdr_t *hdr = NULL; +- uint32_t payload_length; ++ uint32_t UCS_V_UNUSED payload_length; + ucs_status_t status; + + UCT_CHECK_AM_ID(am_id);