diff --git a/easybuild/easyconfigs/h/HPCX/HPCX-2.3.0-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/h/HPCX/HPCX-2.3.0-GCC-8.2.0-2.31.1.eb new file mode 100644 index 00000000000..9149ad33f79 --- /dev/null +++ b/easybuild/easyconfigs/h/HPCX/HPCX-2.3.0-GCC-8.2.0-2.31.1.eb @@ -0,0 +1,18 @@ +easyblock = 'Bundle' + +name = 'HPCX' +version = '2.3.0' + +homepage = 'http://www.mellanox.com/page/products_dyn?product_family=189&mtag=hpc-x' +description = """The Mellanox HPC-X Toolkit +is a comprehensive MPI and SHMEM/PGAS software suite +for high performance computing environments""" + +toolchain = {'name': 'GCC', 'version': '8.2.0-2.31.1'} + +dependencies = [ + ('UCX', '1.5.0rc1', '-hpcx'), + ('OpenMPI', '4.0.0', '-hpcx') +] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.0-GCC-8.2.0-2.31.1-hpcx.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.0-GCC-8.2.0-2.31.1-hpcx.eb new file mode 100644 index 00000000000..892e9959bb1 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.0-GCC-8.2.0-2.31.1-hpcx.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'OpenMPI' +version = '4.0.0' +versionsuffix = '-hpcx' + +homepage = 'http://www.open-mpi.org/' +description = """Mellanox flavored Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '8.2.0-2.31.1'} + +source_urls = ['http://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['36f10daa3f1b1d37530f686bf7f70966b2a13c0bc6e2e05aebc7e85e3d21b10d'] + +# needed for --with-verbs +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +dependencies = [ + ('zlib', '1.2.11'), + ('UCX', '1.5.0rc1', '-hpcx') +] + +configopts = '--with-libevent=internal --enable-mpi1-compatibility ' +configopts = '--with-slurm --with-platform=contrib/platform/mellanox/optimized ' +configopts += '--with-ucx=$EBROOTUCX ' + +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/easybuild/easyconfigs/u/UCX/UCX-1.5.0rc1-GCCcore-8.2.0-hpcx.eb b/easybuild/easyconfigs/u/UCX/UCX-1.5.0rc1-GCCcore-8.2.0-hpcx.eb new file mode 100644 index 00000000000..4c8fe8f4c5b --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.5.0rc1-GCCcore-8.2.0-hpcx.eb @@ -0,0 +1,47 @@ +# Note: +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.5.0rc1' +versionsuffix = '-hpcx' + +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': 'GCCcore', 'version': '8.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v1.5.0-rc1'] +sources = [{ + 'filename': 'ucx-1.5.0rc1.tar.gz', + 'download_filename': 'ucx-1.5.0.tar.gz' +}] +checksums = ['ae5dfa59c54627a11d8cb1c7fdd0b0319e5e8633a6aebd42a07e54a6a4a32181'] + +builddependencies = [ + ('binutils', '2.31.1'), + ('pkg-config', '0.29.2'), +] + +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +dependencies = [ + ('numactl', '2.0.12'), +] + +configopts = '--enable-optimizations --enable-optimizations --disable-logging ' +configopts += '--disable-debug --disable-assertions --disable-params-check ' +configopts += '--without-java --disable-doxygen-doc ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +moduleclass = 'mpi'