diff --git a/o/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb b/o/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb new file mode 100644 index 00000000..4b60deeb --- /dev/null +++ b/o/OpenMPI/OpenMPI-3.1.3-GCC-8.2.0-2.31.1.eb @@ -0,0 +1,49 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'OpenMPI' +version = '3.1.3' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '8.2.0-2.31.1'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-%(version)s-add_ompi_datatype_attribute_to_release_ucp_datatype.patch', + 'OpenMPI-3.1_fix-ib-query.patch', +] +checksums = [ + '0254627d8a9b12a8f50213ed01e7a94dd7e91b340abf5c53bcf0b89afe6fb77d', # openmpi-3.1.3.tar.gz + # OpenMPI-3.1.3-add_ompi_datatype_attribute_to_release_ucp_datatype.patch + '46fa94eb417954bdb297291bad4f4d32018af4911bebf3e59af6276eba6a50a9', + '8031ff093788a750f30ec7b4b06573af008009e62ddfd558ecfe97cbe404d9d2', # OpenMPI-3.1_fix-ib-query.patch +] + +# needed for --with-verbs +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '1.11.11') +] + +configopts = '--enable-shared --with-verbs ' +configopts += '--enable-mpirun-prefix-by-default ' # suppress failure modes in relation to mpirun path +configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] +sanity_check_paths = { + 'files': ["bin/%s" % binfile for binfile in ["ompi_info", "opal_wrapper", "orterun"]] + + ["lib/lib%s.%s" % (libfile, SHLIB_EXT) for libfile in libs] + + ["include/%s.h" % x for x in ["mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], + 'dirs': [], +} + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-3.1.3-PGI-19.4-GCC-8.2.0-2.31.1.eb b/o/OpenMPI/OpenMPI-3.1.3-PGI-19.4-GCC-8.2.0-2.31.1.eb new file mode 100644 index 00000000..f89f73dd --- /dev/null +++ b/o/OpenMPI/OpenMPI-3.1.3-PGI-19.4-GCC-8.2.0-2.31.1.eb @@ -0,0 +1,75 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'OpenMPI' +version = '3.1.3' + +homepage = 'http://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-2 implementation.""" + +toolchain = {'name': 'PGI', 'version': '19.4-GCC-8.2.0-2.31.1'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-%(version)s-add_ompi_datatype_attribute_to_release_ucp_datatype.patch', + 'OpenMPI-3.1_fix-ib-query.patch', +] +checksums = [ + '0254627d8a9b12a8f50213ed01e7a94dd7e91b340abf5c53bcf0b89afe6fb77d', # openmpi-3.1.3.tar.gz + # OpenMPI-3.1.3-add_ompi_datatype_attribute_to_release_ucp_datatype.patch + '46fa94eb417954bdb297291bad4f4d32018af4911bebf3e59af6276eba6a50a9', + '8031ff093788a750f30ec7b4b06573af008009e62ddfd558ecfe97cbe404d9d2', # OpenMPI-3.1_fix-ib-query.patch +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '1.11.11') +] + +#preconfigopts = 'export CFLAGS="-O1"' + +configopts = ' CFLAGS="-O1" --with-threads=posix --enable-shared --enable-static --enable-mpi-thread-multiple --with-verbs ' +# suppress failure modes in relation to mpirun path +configopts += '--enable-mpirun-prefix-by-default ' +configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support +# statically link component, don't do dynamic loading +configopts += '--disable-dlopen ' +configopts += '--with-tm=/opt/pbs/default ' # Enable PBS + +# for PBS Pro 13 +preconfigopts = 'export LIBS="-ldl" && export CC="pgcc -noswitcherror" && export CXX="pgc++ -noswitcherror" && export FC="pgfortran -noswitcherror" && ' + +# needed for --with-verbs +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +libs = [ + "mpi_cxx", + "mpi_mpifh", + "mpi", + "ompitrace", + "open-pal", + "open-rte", + "vt", + "vt-hyb", + "vt-mpi", + "vt-mpi-unify"] + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib', 'include'], +} + +sanity_check_commands = [ + ('mpicc --version | grep pgcc', ''), + ('mpicxx --version | grep pgc++', ''), + ('mpifort --version | grep pgfortran', ''), +] + +modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + } + +moduleclass = 'mpi'