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
This commit is contained in:
Lukáš Krupčík 2019-12-11 11:05:16 +01:00
parent a85d0f0129
commit 358a0b44da
17 changed files with 463 additions and 26 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -23,7 +23,7 @@ checksums = ['7c3e819c2bdeb883de68bafe88776a01356f7ef565e75ba866c4b49a087c6bdf']
builddependencies = [
('binutils', '2.32'),
('Autotools', '20180311', '', True),
('Autotools', '20180311'),
]
preconfigopts = "./autogen.sh && "

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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