From 6652be5cc588fec96e21c60c18208af747c3a45a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Krup=C4=8D=C3=ADk?= Date: Fri, 14 Aug 2020 08:03:45 +0200 Subject: [PATCH] new file: l/LLVM/LLVM-6.0.0-GCC-6.3.0-2.27.eb new file: m/Mako/Mako-1.1.2-Python-3.6.6-foss-2018a.eb new file: m/Mesa/Mesa-18.1.1-foss-2018a.eb new file: o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0-without-verbs.eb modified: o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0.eb new file: o/OpenMPI/OpenMPI-4.0.4-GCCcore-8.3.0.eb new file: u/UCX/UCX-1.8.1-GCCcore-8.3.0.eb modified: v/VTK/VTK-8.1.0-foss-2018a-Python-3.6.6.eb deleted: m/Mako/Mako-1.1.2-Python-3.6.6.eb --- l/LLVM/LLVM-6.0.0-GCC-6.3.0-2.27.eb | 39 +++++++++ ... => Mako-1.1.2-Python-3.6.6-foss-2018a.eb} | 5 +- m/Mesa/Mesa-18.1.1-foss-2018a.eb | 81 +++++++++++++++++++ .../OpenMPI-4.0.4-GCC-9.3.0-without-verbs.eb | 63 +++++++++++++++ o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0.eb | 4 +- o/OpenMPI/OpenMPI-4.0.4-GCCcore-8.3.0.eb | 63 +++++++++++++++ u/UCX/UCX-1.8.1-GCCcore-8.3.0.eb | 48 +++++++++++ v/VTK/VTK-8.1.0-foss-2018a-Python-3.6.6.eb | 5 +- 8 files changed, 301 insertions(+), 7 deletions(-) create mode 100644 l/LLVM/LLVM-6.0.0-GCC-6.3.0-2.27.eb rename m/Mako/{Mako-1.1.2-Python-3.6.6.eb => Mako-1.1.2-Python-3.6.6-foss-2018a.eb} (74%) create mode 100644 m/Mesa/Mesa-18.1.1-foss-2018a.eb create mode 100644 o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0-without-verbs.eb create mode 100644 o/OpenMPI/OpenMPI-4.0.4-GCCcore-8.3.0.eb create mode 100644 u/UCX/UCX-1.8.1-GCCcore-8.3.0.eb diff --git a/l/LLVM/LLVM-6.0.0-GCC-6.3.0-2.27.eb b/l/LLVM/LLVM-6.0.0-GCC-6.3.0-2.27.eb new file mode 100644 index 00000000..f20a558e --- /dev/null +++ b/l/LLVM/LLVM-6.0.0-GCC-6.3.0-2.27.eb @@ -0,0 +1,39 @@ +# JH 2020 + +name = 'LLVM' +version = '6.0.0' + +homepage = "https://llvm.org/" +description = """The LLVM Core libraries provide a modern source- and target-independent + optimizer, along with code generation support for many popular CPUs + (as well as some less common ones!) These libraries are built around a well + specified code representation known as the LLVM intermediate representation + ("LLVM IR"). The LLVM Core libraries are well documented, and it is + particularly easy to invent your own language (or port an existing compiler) + to use LLVM as an optimizer and code generator.""" + +toolchain = {'name': 'GCC', 'version': '6.3.0-2.27'} +toolchainopts = {'cstd': 'gnu++11'} + +source_urls = ["https://llvm.org/releases/%(version)s"] +sources = ["llvm-%(version)s.src.tar.xz"] +checksums = ['1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408'] + +builddependencies = [ + ('CMake', '3.16.2', '', True), + ('Python', '2.7.14', '-base', True), +] + +dependencies = [ + ('ncurses', '6.1', '', True), + ('zlib', '1.2.11', '', True), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['bin/llvm-ar', 'bin/FileCheck'], + 'dirs': ['include/llvm', 'include/llvm-c'], +} + +moduleclass = 'compiler' diff --git a/m/Mako/Mako-1.1.2-Python-3.6.6.eb b/m/Mako/Mako-1.1.2-Python-3.6.6-foss-2018a.eb similarity index 74% rename from m/Mako/Mako-1.1.2-Python-3.6.6.eb rename to m/Mako/Mako-1.1.2-Python-3.6.6-foss-2018a.eb index a603b318..124e7650 100644 --- a/m/Mako/Mako-1.1.2-Python-3.6.6.eb +++ b/m/Mako/Mako-1.1.2-Python-3.6.6-foss-2018a.eb @@ -4,6 +4,7 @@ easyblock = 'PythonPackage' name = 'Mako' version = '1.1.2' +versionsuffix = '-Python-3.6.6' homepage = 'http://www.makotemplates.org' description = """A super-fast templating language that borrows the best ideas from the existing templating languages""" @@ -19,7 +20,7 @@ dependencies = [ sanity_check_paths = { 'files': ['bin/mako-render'], - 'dirs': ['lib/python3.7/site-packages/%(name)s-%(version)s-py3.7.egg'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s-%(version)s-py%(pyshortver)s.egg'], } -moduleclass = 'python' +moduleclass = 'devel' diff --git a/m/Mesa/Mesa-18.1.1-foss-2018a.eb b/m/Mesa/Mesa-18.1.1-foss-2018a.eb new file mode 100644 index 00000000..22149d6d --- /dev/null +++ b/m/Mesa/Mesa-18.1.1-foss-2018a.eb @@ -0,0 +1,81 @@ +# JH 2020 + +# Automatically converted from Mesa-17.2.4-intel-2017b.eb +# Original message: +# the purpose of the easyconfig is to build a Mesa for software rendering, +# not hardware rendering. This means you want at least SSE4.2. We build: +# - llvmpipe: the high-performance Gallium LLVM driver +# - swr: Intel's OpenSWR +# it will try to use the llvmpipe by default. It you want swr, do: +# GALLIUM_DRIVER=swr + +easyblock = 'ConfigureMake' + +name = 'Mesa' +version = '18.1.1' + +homepage = 'https://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'foss', 'version': '2018a'} +# swr detects and builds parts specific for AVX and AVX2. If we use +# -xHost, this always gets overwritten and will fail. +toolchainopts = {'optarch': False} + +source_urls = [ + 'https://mesa.freedesktop.org/archive/', + 'https://mesa.freedesktop.org/archive/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x', +] +sources = [SOURCELOWER_TAR_XZ] +patches = [ + 'Mesa-17.3.6_fix-strip-llvm-flags.patch', + 'Mesa-18.1.1-query-mit-shm.patch', +] +checksums = [ + 'd3312a2ede5aac14a47476b208b8e3a401367838330197c4588ab8ad420d7781', # mesa-18.1.1.tar.xz + '5aa4e92ed96e3d47ffbecd1ec3a1642407dff11995c5585eb5e06c396654ee30', # Mesa-17.3.6_fix-strip-llvm-flags.patch + 'a9df2759758318d917debbfcc2cb15f6525b3dce41bd1e481d16e2eaa592a24e', # Mesa-18.1.1-query-mit-shm.patch +] + +builddependencies = [ + ('Autotools', '20180311', '', True), + ('libxml2', '2.9.9', '', True), + ('pkg-config', '0.29.2', '', True), + ('Mako', '1.1.2', '-Python-3.6.6'), + ('expat', '2.2.6', '', True), + ('flex', '2.6.4', '', True), + ('Bison', '3.5.3', '', True), +] + +dependencies = [ + ('zlib', '1.2.11', '', True), + ('nettle', '3.4.1', '', True), + ('libdrm', '2.4.76', '', True), + ('LLVM', '6.0.0'), + ('X11', '20180604', '', True), + ('libunwind', '1.2.1', '', True), +] + +# GLU is not part anymore of Mesa package! +configopts = " --disable-osmesa --enable-gallium-osmesa --enable-gallium-llvm --enable-glx --disable-dri" +configopts += " --disable-gbm --disable-driglx-direct --with-gallium-drivers='swrast,swr' --disable-egl" +configopts += " --with-osmesa-bits=32 --enable-texture-float --enable-llvm-shared-libs " + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, + 'lib/libGLESv1_CM.%s' % SHLIB_EXT, 'lib/libGLESv2.%s' % SHLIB_EXT, + 'include/GL/glext.h', 'include/GL/gl_mangle.h', + 'include/GL/glx.h', 'include/GL/osmesa.h', + 'include/GL/gl.h', 'include/GL/glxext.h', + 'include/GL/glx_mangle.h', 'include/GLES/gl.h', + 'include/GLES2/gl2.h', 'include/GLES3/gl3.h'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0-without-verbs.eb b/o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0-without-verbs.eb new file mode 100644 index 00000000..43a65234 --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0-without-verbs.eb @@ -0,0 +1,63 @@ +# IT4Innovations 2020 +# LK + +easyblock = 'ConfigureMake' + +name = 'OpenMPI' +version = '4.0.4' +versionsuffix = '-without-verbs' + +homepage = 'http://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-2 implementation.""" + +toolchain = {'name': 'GCC', 'version': '9.3.0'} + +source_urls = ['https://github.com/open-mpi/ompi/archive/'] +sources = ['v4.0.4.tar.gz'] + +dependencies = [ + ('hwloc', '2.0.3'), + ('zlib', '1.2.11'), + ('UCX', '1.8.0',), +] + +preconfigopts = './autogen.pl && ' + +configopts = '--enable-shared --enable-mpi-thread-multiple --without-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': [], } + +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + 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', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0.eb b/o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0.eb index cc0fcbd5..1ca6e048 100644 --- a/o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0.eb +++ b/o/OpenMPI/OpenMPI-4.0.4-GCC-9.3.0.eb @@ -17,12 +17,12 @@ sources = ['v4.0.4.tar.gz'] dependencies = [ ('hwloc', '2.0.3'), ('zlib', '1.2.11'), - ('UCX', '1.8.1',), + ('UCX', '1.8.0',), ] preconfigopts = './autogen.pl && ' -configopts = '--enable-shared --enable-mpi-thread-multiple --without-verbs ' +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 diff --git a/o/OpenMPI/OpenMPI-4.0.4-GCCcore-8.3.0.eb b/o/OpenMPI/OpenMPI-4.0.4-GCCcore-8.3.0.eb new file mode 100644 index 00000000..e15fcc24 --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.0.4-GCCcore-8.3.0.eb @@ -0,0 +1,63 @@ +# IT4Innovations 2020 +# LK + +easyblock = 'ConfigureMake' + +name = 'OpenMPI' +version = '4.0.4' + +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 = ['https://github.com/open-mpi/ompi/archive/'] +sources = ['v4.0.4.tar.gz'] + +dependencies = [ + ('hwloc', '2.0.3'), + ('zlib', '1.2.11'), + ('UCX', '1.8.0',), + ('binutils', '2.32'), +] + +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': [], } + +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + 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', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + } + +moduleclass = 'mpi' diff --git a/u/UCX/UCX-1.8.1-GCCcore-8.3.0.eb b/u/UCX/UCX-1.8.1-GCCcore-8.3.0.eb new file mode 100644 index 00000000..d4e4dc7b --- /dev/null +++ b/u/UCX/UCX-1.8.1-GCCcore-8.3.0.eb @@ -0,0 +1,48 @@ +# IT4Innovations 2020 +# LK + +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.8.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'] + +patches = [ + 'UCX-1.8.0_fix-undefined-symbol.patch', +] + +builddependencies = [ + ('pkg-config', '0.29.2', '', True), + ('binutils', '2.32'), +] + +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_commands = ["ucx_info -d"] + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +moduleclass = 'lib' diff --git a/v/VTK/VTK-8.1.0-foss-2018a-Python-3.6.6.eb b/v/VTK/VTK-8.1.0-foss-2018a-Python-3.6.6.eb index c81d4db3..4d5e4d32 100644 --- a/v/VTK/VTK-8.1.0-foss-2018a-Python-3.6.6.eb +++ b/v/VTK/VTK-8.1.0-foss-2018a-Python-3.6.6.eb @@ -42,10 +42,9 @@ builddependencies = [('CMake', '3.11.4')] dependencies = [ ('Python', '3.6.6'), - ('HDF5', '1.10.1'), - ('Mesa', '18.1.3'), + ('HDF5', '1.10.4', '-parallel'), + ('Mesa', '18.3.1', '', True), # Don't use new MESA, libGL is missing! ('libGLU', '9.0.0', '', True), - ('X11', '20170314', '', True), ] configopts = "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT