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
This commit is contained in:
Lukáš Krupčík 2020-08-14 08:03:45 +02:00
parent 6456307063
commit 6652be5cc5
8 changed files with 301 additions and 7 deletions

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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

View File

@ -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'

View File

@ -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'

View File

@ -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