From 358a0b44da5b7e0fcb9caf6d51e4431f9e1c6c13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Krup=C4=8D=C3=ADk?= Date: Wed, 11 Dec 2019 11:05:16 +0100 Subject: [PATCH] new file: h/hwloc/hwloc-1.11.12-GCCcore-8.3.0.eb new file: h/hwloc/hwloc-2.0.3-GCC-8.3.0-2.32.eb modified: i/impi/impi-2018.4.274-iccifort-2018.5.274-GCC-8.3.0-2.32.eb modified: i/impi/impi-2018.5.288-iccifort-2019.5.281-GCC-8.3.0-2.32.eb modified: i/impi/impi-2019.6.154-iccifort-2019.5.281-GCC-8.3.0-2.32.eb new file: n/numactl/numactl-2.0.12-GCCcore-6.3.0.eb modified: n/numactl/numactl-2.0.12-GCCcore-8.3.0.eb modified: o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb modified: o/OpenMPI/OpenMPI-2.1.5-GCC-8.3.0-2.32.eb modified: o/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27.eb new file: o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb new file: o/OpenMPI/OpenMPI-3.1.5-GCCcore-8.3.0.eb new file: o/OpenMPI/OpenMPI-4.0.2-GCC-8.3.0-2.32.eb new file: u/UCX/UCX-1.6.1-GCCcore-6.3.0.eb new file: u/UCX/UCX-1.6.1-GCCcore-8.3.0.eb new file: x/XZ/XZ-5.2.4-GCCcore-8.3.0.eb new file: x/xorg-macros/xorg-macros-1.19.2-GCCcore-8.3.0.eb --- h/hwloc/hwloc-1.11.12-GCCcore-8.3.0.eb | 50 ++++++++++++++++ h/hwloc/hwloc-2.0.3-GCC-8.3.0-2.32.eb | 28 +++++++++ ....274-iccifort-2018.5.274-GCC-8.3.0-2.32.eb | 14 +++++ ....288-iccifort-2019.5.281-GCC-8.3.0-2.32.eb | 4 ++ ....154-iccifort-2019.5.281-GCC-8.3.0-2.32.eb | 5 +- n/numactl/numactl-2.0.12-GCCcore-6.3.0.eb | 36 +++++++++++ n/numactl/numactl-2.0.12-GCCcore-8.3.0.eb | 2 +- o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb | 9 ++- o/OpenMPI/OpenMPI-2.1.5-GCC-8.3.0-2.32.eb | 18 +++--- o/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27.eb | 18 ++---- o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb | 59 +++++++++++++++++++ o/OpenMPI/OpenMPI-3.1.5-GCCcore-8.3.0.eb | 46 +++++++++++++++ o/OpenMPI/OpenMPI-4.0.2-GCC-8.3.0-2.32.eb | 55 +++++++++++++++++ u/UCX/UCX-1.6.1-GCCcore-6.3.0.eb | 40 +++++++++++++ u/UCX/UCX-1.6.1-GCCcore-8.3.0.eb | 40 +++++++++++++ x/XZ/XZ-5.2.4-GCCcore-8.3.0.eb | 36 +++++++++++ .../xorg-macros-1.19.2-GCCcore-8.3.0.eb | 29 +++++++++ 17 files changed, 463 insertions(+), 26 deletions(-) create mode 100644 h/hwloc/hwloc-1.11.12-GCCcore-8.3.0.eb create mode 100644 h/hwloc/hwloc-2.0.3-GCC-8.3.0-2.32.eb create mode 100644 n/numactl/numactl-2.0.12-GCCcore-6.3.0.eb create mode 100644 o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb create mode 100644 o/OpenMPI/OpenMPI-3.1.5-GCCcore-8.3.0.eb create mode 100644 o/OpenMPI/OpenMPI-4.0.2-GCC-8.3.0-2.32.eb create mode 100644 u/UCX/UCX-1.6.1-GCCcore-6.3.0.eb create mode 100644 u/UCX/UCX-1.6.1-GCCcore-8.3.0.eb create mode 100644 x/XZ/XZ-5.2.4-GCCcore-8.3.0.eb create mode 100644 x/xorg-macros/xorg-macros-1.19.2-GCCcore-8.3.0.eb diff --git a/h/hwloc/hwloc-1.11.12-GCCcore-8.3.0.eb b/h/hwloc/hwloc-1.11.12-GCCcore-8.3.0.eb new file mode 100644 index 00000000..30eac15e --- /dev/null +++ b/h/hwloc/hwloc-1.11.12-GCCcore-8.3.0.eb @@ -0,0 +1,50 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'hwloc' +version = '1.11.12' + +homepage = 'https://www.open-mpi.org/projects/hwloc/' + +description = """ + The Portable Hardware Locality (hwloc) software package provides a portable + abstraction (across OS, versions, architectures, ...) of the hierarchical + topology of modern architectures, including NUMA memory nodes, sockets, shared + caches, cores and simultaneous multithreading. It also gathers various system + attributes such as cache and memory information as well as the locality of I/O + devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily + aims at helping applications with gathering information about modern computing + hardware so as to exploit it accordingly and efficiently. +""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} +# need to build with -fno-tree-vectorize to avoid segfaulting lstopo on Intel Skylake +# cfr. https://github.com/open-mpi/hwloc/issues/315 +toolchainopts = {'vectorize': False} + +source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['f1d49433e605dd653a77e1478a78cee095787d554a94afe40d1376bca6708ca5'] + +builddependencies = [ + ('binutils', '2.32'), +] + +dependencies = [ + ('numactl', '2.0.12'), +# ('libxml2', '2.9.9'), + ('libpciaccess', '0.14'), +] + +configopts = "--enable-libnuma=$EBROOTNUMACTL " +configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " + +sanity_check_paths = { + 'files': ['bin/lstopo', 'include/hwloc/linux.h', + 'lib/libhwloc.%s' % SHLIB_EXT], + 'dirs': ['share/man/man3'], +} +sanity_check_commands = ['lstopo'] + +moduleclass = 'system' diff --git a/h/hwloc/hwloc-2.0.3-GCC-8.3.0-2.32.eb b/h/hwloc/hwloc-2.0.3-GCC-8.3.0-2.32.eb new file mode 100644 index 00000000..fa855e6d --- /dev/null +++ b/h/hwloc/hwloc-2.0.3-GCC-8.3.0-2.32.eb @@ -0,0 +1,28 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'hwloc' +version = '2.0.3' + +homepage = 'http://www.open-mpi.org/projects/hwloc/' +description = """The Portable Hardware Locality (hwloc) software package provides a portable abstraction +(across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including +NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various +system attributes such as cache and memory information as well as the locality of I/O devices such as +network interfaces, InfiniBand HCAs or GPUs. It primarily aims at helping applications with gathering +information about modern local_computing hardware so as to exploit it accordingly and efficiently.""" + +toolchain = {'name': 'GCC', 'version': '8.3.0-2.32'} + +source_urls = [ + 'http://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('numactl', '2.0.12'), +] + +configopts = "--enable-libnuma=$EBROOTNUMACTL" + +moduleclass = 'system' diff --git a/i/impi/impi-2018.4.274-iccifort-2018.5.274-GCC-8.3.0-2.32.eb b/i/impi/impi-2018.4.274-iccifort-2018.5.274-GCC-8.3.0-2.32.eb index 5e1dbfc3..6731e1ad 100644 --- a/i/impi/impi-2018.4.274-iccifort-2018.5.274-GCC-8.3.0-2.32.eb +++ b/i/impi/impi-2018.4.274-iccifort-2018.5.274-GCC-8.3.0-2.32.eb @@ -27,4 +27,18 @@ postinstallcmds = [ 'ln -s %(installdir)s/lib64/libmpi.so %(installdir)s/lib64/libmpl.so', 'ln -s %(installdir)s/lib64/libmpi.so %(installdir)s/lib64/libopa.so'] +modextravars = { + 'I_MPI_CC': 'icc', + 'I_MPI_CXX': 'icpc', + 'I_MPI_F77': 'ifort', + 'I_MPI_F90': 'ifort', + 'I_MPI_FC': 'ifort', + 'I_MPI_EXTRA_FILESYSTEM': 'enable', + 'I_MPI_EXTRA_FILESYSTEM_LIST': 'lustre', + 'FI_SOCKETS_IFACE"':'ib0', + 'FI_PROVIDER':'verbs', + 'I_MPI_FABRICS':'shm:ofi', + 'FI_VERBS_MR_CACHE_ENABLE':'1', +} + moduleclass = 'mpi' diff --git a/i/impi/impi-2018.5.288-iccifort-2019.5.281-GCC-8.3.0-2.32.eb b/i/impi/impi-2018.5.288-iccifort-2019.5.281-GCC-8.3.0-2.32.eb index 7561a98c..90b25e50 100644 --- a/i/impi/impi-2018.5.288-iccifort-2019.5.281-GCC-8.3.0-2.32.eb +++ b/i/impi/impi-2018.5.288-iccifort-2019.5.281-GCC-8.3.0-2.32.eb @@ -26,6 +26,10 @@ modextravars = { 'I_MPI_FC': 'ifort', 'I_MPI_EXTRA_FILESYSTEM': 'enable', 'I_MPI_EXTRA_FILESYSTEM_LIST': 'lustre', + 'FI_SOCKETS_IFACE"':'ib0', + 'FI_PROVIDER':'verbs', + 'I_MPI_FABRICS':'shm:ofi', + 'FI_VERBS_MR_CACHE_ENABLE':'1', } moduleclass = 'mpi' diff --git a/i/impi/impi-2019.6.154-iccifort-2019.5.281-GCC-8.3.0-2.32.eb b/i/impi/impi-2019.6.154-iccifort-2019.5.281-GCC-8.3.0-2.32.eb index 52fb85ae..fb88e712 100644 --- a/i/impi/impi-2019.6.154-iccifort-2019.5.281-GCC-8.3.0-2.32.eb +++ b/i/impi/impi-2019.6.154-iccifort-2019.5.281-GCC-8.3.0-2.32.eb @@ -24,8 +24,9 @@ modextravars = { 'I_MPI_F77': 'ifort', 'I_MPI_F90': 'ifort', 'I_MPI_FC': 'ifort', - 'I_MPI_EXTRA_FILESYSTEM': 'enable', - 'I_MPI_EXTRA_FILESYSTEM_LIST': 'lustre', + 'FI_SOCKETS_IFACE"':'ib0', + 'FI_PROVIDER':'verbs', + 'I_MPI_FABRICS':'shm:ofi', } moduleclass = 'mpi' diff --git a/n/numactl/numactl-2.0.12-GCCcore-6.3.0.eb b/n/numactl/numactl-2.0.12-GCCcore-6.3.0.eb new file mode 100644 index 00000000..9a5486e4 --- /dev/null +++ b/n/numactl/numactl-2.0.12-GCCcore-6.3.0.eb @@ -0,0 +1,36 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.12' + +homepage = 'http://oss.sgi.com/projects/libnuma/' + +description = """ + The numactl program allows you to run your application program on specific + cpu's and memory nodes. It does this by supplying a NUMA memory policy to + the operating system before running your program. The libnuma library provides + convenient ways for you to add NUMA memory policies into your own program. +""" + +toolchain = {'name': 'GCCcore', 'version': '6.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/numactl/numactl/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7c3e819c2bdeb883de68bafe88776a01356f7ef565e75ba866c4b49a087c6bdf'] + +builddependencies = [ + ('binutils', '2.27'), + ('Autotools', '20180311', '', True), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' diff --git a/n/numactl/numactl-2.0.12-GCCcore-8.3.0.eb b/n/numactl/numactl-2.0.12-GCCcore-8.3.0.eb index 088aa45e..16504706 100644 --- a/n/numactl/numactl-2.0.12-GCCcore-8.3.0.eb +++ b/n/numactl/numactl-2.0.12-GCCcore-8.3.0.eb @@ -23,7 +23,7 @@ checksums = ['7c3e819c2bdeb883de68bafe88776a01356f7ef565e75ba866c4b49a087c6bdf'] builddependencies = [ ('binutils', '2.32'), - ('Autotools', '20180311', '', True), + ('Autotools', '20180311'), ] preconfigopts = "./autogen.sh && " diff --git a/o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb b/o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb index d77440f9..2372c4fd 100644 --- a/o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb +++ b/o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb @@ -15,7 +15,8 @@ source_urls = [ sources = [SOURCELOWER_TAR_GZ] dependencies = [ - ('hwloc', '1.11.7') + ('hwloc', '1.11.7'), + ('UCX', '1.6.1'), ] configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs ' @@ -27,6 +28,7 @@ configopts += '--disable-dlopen ' # dont disable dlopen! configopts += '--with-tm=/opt/pbs ' # Enable PBS #configopts += '--enable-mpi-java ' # Java support RT#4090 configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings +configopts += '--with-ucx=$EBROOTUCX ' # needed for --with-verbs osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] @@ -43,8 +45,9 @@ sanity_check_paths = { x for x in [ "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } -modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', - 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', +modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-2.1.5-GCC-8.3.0-2.32.eb b/o/OpenMPI/OpenMPI-2.1.5-GCC-8.3.0-2.32.eb index 7ef4bb72..14e5cc24 100644 --- a/o/OpenMPI/OpenMPI-2.1.5-GCC-8.3.0-2.32.eb +++ b/o/OpenMPI/OpenMPI-2.1.5-GCC-8.3.0-2.32.eb @@ -15,7 +15,8 @@ source_urls = [ sources = [SOURCELOWER_TAR_GZ] dependencies = [ - ('hwloc', '1.11.7', '', ('GCCcore', '8.3.0')) + ('hwloc', '1.11.7'), + ('UCX', '1.6.1'), ] configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs ' @@ -26,25 +27,28 @@ configopts += '--disable-dlopen ' # dont disable dlopen! # https://github.com/open-mpi/ompi/issues/3630 configopts += '--with-tm=/opt/pbs ' # Enable PBS #configopts += '--enable-mpi-java ' # Java support RT#4090 -configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings +#configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings +#configopts += '--without-ucx ' # hard disable UCX, to dance around bug (https://github.com/open-mpi/ompi/issues/4345) +configopts += '--with-ucx=$EBROOTUCX ' # needed for --with-verbs osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] -libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] +local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] sanity_check_paths = { 'files': [ "bin/%s" % - binfile for binfile in [ + local_binfile for local_binfile in [ "ompi_info", "opal_wrapper", "orterun"]] + [ "lib/lib%s.%s" % - (libfile, SHLIB_EXT) for libfile in libs] + [ + (local_libfile, SHLIB_EXT) for local_libfile in local_libs] + [ "include/%s.h" % x for x in [ "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } -modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', - 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', +modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27.eb b/o/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27.eb index fe977123..72730a99 100644 --- a/o/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27.eb +++ b/o/OpenMPI/OpenMPI-3.1.4-GCC-6.3.0-2.27.eb @@ -18,25 +18,16 @@ dependencies = [ ('hwloc', '1.11.7'), ('zlib', '1.2.11', '', True), ('libxml2', '2.9.4', '', True), + ('UCX', '1.6.1'), ] configopts = '--enable-shared --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 -# configopts += '--disable-dlopen ' # dont disable dlopen! -# https://github.com/open-mpi/ompi/issues/3630 configopts += '--with-tm=/opt/pbs ' # Enable PBS -#configopts += '--enable-mpi-java ' # Java support RT#4090 configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings +configopts += '--with-ucx=$EBROOTUCX ' -# for PBS Pro 13 -preconfigopts = 'export LIBS="-ldl" && ' - -# to enable SLURM integration (site-specific) -# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' - -# needed for --with-verbs osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] @@ -51,8 +42,9 @@ sanity_check_paths = { x for x in [ "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } -modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', - 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', +modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', } moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb b/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb new file mode 100644 index 00000000..fc74e496 --- /dev/null +++ b/o/OpenMPI/OpenMPI-3.1.4-GCC-8.3.0-2.32.eb @@ -0,0 +1,59 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'OpenMPI' +version = '3.1.4' + +homepage = 'http://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-2 implementation.""" + +toolchain = {'name': 'GCC', 'version': '8.3.0-2.32'} + +source_urls = [ + 'http://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('hwloc', '1.11.7'), + ('zlib', '1.2.11', '', True), + ('libxml2', '2.9.4', '', True), +] + +#configopts = '--enable-shared --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 +# configopts += '--disable-dlopen ' # dont disable dlopen! +# https://github.com/open-mpi/ompi/issues/3630 +configopts = '--with-tm=/opt/pbs ' # Enable PBS +#configopts += '--enable-mpi-java ' # Java support RT#4090 +#configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings + +# for PBS Pro 13 +#preconfigopts = 'export LIBS="-ldl" && ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +# needed for --with-verbs +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +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': [], } + +modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-3.1.5-GCCcore-8.3.0.eb b/o/OpenMPI/OpenMPI-3.1.5-GCCcore-8.3.0.eb new file mode 100644 index 00000000..0eaa3a62 --- /dev/null +++ b/o/OpenMPI/OpenMPI-3.1.5-GCCcore-8.3.0.eb @@ -0,0 +1,46 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'OpenMPI' +version = '3.1.5' + +homepage = 'http://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-2 implementation.""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +source_urls = [ + 'http://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('hwloc', '1.11.12'), + ('zlib', '1.2.11'), + ('binutils', '2.32'), + ('UCX', '1.6.1'), +] + +configopts = '--with-tm=/opt/pbs ' # Enable PBS +configopts += '--with-ucx=$EBROOTUCX ' + +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +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': [], } + +modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.2-GCC-8.3.0-2.32.eb b/o/OpenMPI/OpenMPI-4.0.2-GCC-8.3.0-2.32.eb new file mode 100644 index 00000000..fa9c6531 --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.0.2-GCC-8.3.0-2.32.eb @@ -0,0 +1,55 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'OpenMPI' +version = '4.0.2' + +homepage = 'http://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-2 implementation.""" + +toolchain = {'name': 'GCC', 'version': '8.3.0-2.32'} + +source_urls = ['https://github.com/open-mpi/ompi/archive/'] +sources = ['v4.0.2.tar.gz'] + +dependencies = [ + ('hwloc', '2.0.3'), + ('zlib', '1.2.11'), + ('UCX', '1.6.1'), +] + +preconfigopts = './autogen.pl && ' + +configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs ' +configopts += '--enable-mpirun-prefix-by-default ' +configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support +configopts += '--with-tm=/opt/pbs ' # Enable PBS +configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings +configopts += '--with-ucx=$EBROOTUCX ' + +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +postinstallcmds = [ + 'echo "# By default, for Open MPI 4.0 and later, infiniband ports on a device are not used by default." >> %(installdir)s/etc/openmpi-mca-params.conf', + 'echo "btl_openib_allow_ib = true" >> %(installdir)s/etc/openmpi-mca-params.conf', +] + +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': [], } + +modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + } + +moduleclass = 'mpi' diff --git a/u/UCX/UCX-1.6.1-GCCcore-6.3.0.eb b/u/UCX/UCX-1.6.1-GCCcore-6.3.0.eb new file mode 100644 index 00000000..d9f9b457 --- /dev/null +++ b/u/UCX/UCX-1.6.1-GCCcore-6.3.0.eb @@ -0,0 +1,40 @@ +# IT4Innovations 2019 +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.6.1' + +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': '6.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] + +builddependencies = [ + ('binutils', '2.27'), + ('pkg-config', '0.29.2'), +] + +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +dependencies = [ + ('numactl', '2.0.12'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +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 = 'lib' diff --git a/u/UCX/UCX-1.6.1-GCCcore-8.3.0.eb b/u/UCX/UCX-1.6.1-GCCcore-8.3.0.eb new file mode 100644 index 00000000..5d8f58dc --- /dev/null +++ b/u/UCX/UCX-1.6.1-GCCcore-8.3.0.eb @@ -0,0 +1,40 @@ +# IT4Innovations 2019 +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.6.1' + +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.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] + +builddependencies = [ + ('binutils', '2.32'), + ('pkg-config', '0.29.2'), +] + +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +dependencies = [ + ('numactl', '2.0.12'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +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 = 'lib' diff --git a/x/XZ/XZ-5.2.4-GCCcore-8.3.0.eb b/x/XZ/XZ-5.2.4-GCCcore-8.3.0.eb new file mode 100644 index 00000000..905346e5 --- /dev/null +++ b/x/XZ/XZ-5.2.4-GCCcore-8.3.0.eb @@ -0,0 +1,36 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.2.4' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['XZ-5.2.2_compat-libs.patch'] +checksums = [ + '3313fd2a95f43d88e44264e6b015e7d03053e681860b0d5d3f9baca79c57b7bf', # xz-5.2.4.tar.bz2 + '578da3ea2ddb551972891a60fe31478b16a516d6ea8b6aa3af89e1d558adb703', # XZ-5.2.2_compat-libs.patch +] + +builddependencies = [ + # use gettext built with dummy as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.19.8.1', '', True), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.32'), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ["bin/xz", "bin/lzmainfo"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/x/xorg-macros/xorg-macros-1.19.2-GCCcore-8.3.0.eb b/x/xorg-macros/xorg-macros-1.19.2-GCCcore-8.3.0.eb new file mode 100644 index 00000000..2ee994da --- /dev/null +++ b/x/xorg-macros/xorg-macros-1.19.2-GCCcore-8.3.0.eb @@ -0,0 +1,29 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.19.2' + +homepage = 'http://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +source_urls = ['https://www.x.org/pub/individual/util/'] +sources = ['util-macros-%(version)s.tar.bz2'] +checksums = ['58edef899364f78fbde9479ded20211e'] + +builddependencies = [ + ('binutils', '2.32'), + ('Autotools', '20180311'), +] + +#preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel'