new file: a/Automake/Automake-1.16.1.eb

new file:   a/Autotools/Autotools-20180311.eb
	modified:   h/hwloc/hwloc-1.11.7-GCC-6.3.0-2.27.eb
	new file:   h/hwloc/hwloc-1.11.7-PGI-18.5-GCC-6.3.0-2.27.eb
	new file:   j/JAVA/JAVA-1.9.0+181-PGI-18.5-GCC-6.3.0-2.27.eb
	new file:   j/JAVA/Java-1.8.0_121.eb
	new file:   j/JAVA/Java-1.8.0_144.eb
	new file:   j/JAVA/Java-1.8.0_51.eb
	new file:   j/JAVA/Java-1.9.0+181.eb
	modified:   n/numactl/numactl-2.0.11-GCC-6.3.0-2.27.eb
	new file:   n/numactl/numactl-2.0.11-GCCcore-6.3.0.eb
	new file:   o/OpenMPI/OpenMPI-1.10.7-PGI-18.5-GCC-6.3.0-2.27.eb
	new file:   o/OpenMPI/OpenMPI-1.10.7-PGI-18.5-GCC-6.3.0-2.27.env
	deleted:    j/Java/Java-1.8.0_121.eb
	deleted:    j/Java/Java-1.8.0_144.eb
	deleted:    j/Java/Java-1.8.0_51.eb
	deleted:    j/Java/Java-1.9.0+181.eb


Former-commit-id: c541dab187356751c629fbe56f806eac437a361b
This commit is contained in:
Lukáš Krupčík 2018-08-15 10:11:07 +02:00
parent 727afb041a
commit e55bc7bd3f
13 changed files with 247 additions and 43 deletions

View File

@ -0,0 +1,27 @@
# IT4Innovations 2018
easyblock = 'ConfigureMake'
name = 'Automake'
version = "1.16.1"
homepage = 'http://www.gnu.org/software/automake/automake.html'
description = "Automake: GNU Standards-compliant Makefile generator"
toolchain = {'name': 'dummy', 'version': ''}
source_urls = ['https://mirror.checkdomain.de/gnu/automake/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['608a97523f97db32f1f5d5615c98ca69326ced2054c9f82e65bade7fc4c9dea8']
dependencies = [
('Autoconf', '2.69'),
]
sanity_check_paths = {
'files': ['bin/automake', 'bin/aclocal'],
'dirs': []
}
moduleclass = 'devel'

View File

@ -0,0 +1,26 @@
# IT4Innovations 2018
easyblock = 'Bundle'
name = 'Autotools'
version = '20180311' # date of the most recent change
homepage = 'http://autotools.io'
description = """
This bundle collect the standard GNU build tools: Autoconf, Automake
and libtool
"""
toolchain = {'name': 'dummy', 'version': ''}
dependencies = [
('Autoconf', '2.69'), # 20120424
('Automake', '1.16.1'), # 20180311
('libtool', '2.4.6'), # 20150215
]
# Pure bundle -- no need to specify 'binutils' used when building GCCcore
# toolchain as build dependency
moduleclass = 'devel'

View File

@ -1,23 +1,27 @@
easyblock = 'ConfigureMake'
name = 'hwloc'
version = '1.11.7'
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 computing hardware so as to exploit it accordingly and efficiently."""
toolchain = {'name': 'GCC', 'version': '6.3.0-2.27'}
source_urls = ['http://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/']
sources = [SOURCE_TAR_GZ]
dependencies = [('numactl', '2.0.11')]
configopts = "--enable-libnuma=$EBROOTNUMACTL"
# IT4Innovations 2018
easyblock = 'ConfigureMake'
name = 'hwloc'
version = '1.11.7'
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 computing hardware so as to exploit it accordingly and efficiently."""
toolchain = {'name': 'GCC', 'version': '6.3.0-2.27'}
source_urls = ['http://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/']
sources = [SOURCE_TAR_GZ]
dependencies = [
('numactl', '2.0.11', '', ('GCCcore', '6.3.0')),
]
configopts = "--enable-libnuma=$EBROOTNUMACTL"
moduleclass = 'system'

View File

@ -0,0 +1,28 @@
# IT4Innovations 2018
easyblock = 'ConfigureMake'
name = 'hwloc'
version = '1.11.7'
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 computing hardware so as to exploit it accordingly and efficiently."""
toolchain = {'name': 'PGI', 'version': '18.5-GCC-6.3.0-2.27'}
toolchainopts = {'pic': True}
source_urls = ['https://download.open-mpi.org/release/hwloc/v1.11/']
sources = ['hwloc-1.11.7.tar.gz']
dependencies = [
('numactl', '2.0.11', '', ('GCCcore', '6.3.0'))
]
configopts = "--enable-libnuma=$EBROOTNUMACTL"
moduleclass = 'system'

View File

@ -0,0 +1,13 @@
name = 'JAVA'
version = "1.9.0+181"
homepage = 'http://java.com/'
description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy
Java applications on desktops and servers."""
toolchain = {'name': 'PGI', 'version': '18.5-GCC-6.3.0-2.27'}
# download the tar.gz directly from http://www.oracle.com/technetwork/java/javase/downloads/index.html
sources = ['jdk-9_linux-x64_bin.tar.gz']
moduleclass = 'lang'

View File

@ -1,23 +1,27 @@
easyblock = 'ConfigureMake'
name = 'numactl'
version = '2.0.11'
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': 'GCC', 'version': '6.3.0-2.27'}
# IT4Innovations 2018
easyblock = 'ConfigureMake'
name = 'numactl'
version = '2.0.11'
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': 'GCC', 'version': '6.3.0-2.27'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/numactl/numactl/archive/']
sources = [SOURCE_TAR_GZ]
checksums = ['3e099a59b2c527bcdbddd34e1952ca87462d2cef4c93da9b0bc03f02903f7089']
preconfigopts = "./autogen.sh && "
sanity_check_paths = {
'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'],
'dirs': ['share/man', 'include']
}
source_urls = ['ftp://oss.sgi.com/www/projects/libnuma/download/']
sources = [SOURCE_TAR_GZ]
checksums = ['d3bc88b7ddb9f06d60898f4816ae9127']
sanity_check_paths = {
'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'],
'dirs': ['share/man', 'include']
}
moduleclass = 'tools'

View File

@ -0,0 +1,32 @@
# IT4Innovations 2018
easyblock = 'ConfigureMake'
name = 'numactl'
version = '2.0.11'
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 = ['v2.0.12.tar.gz']
checksums = ['a4d2292af28fb20007ddb9706f8bb1cc']
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

@ -0,0 +1,51 @@
# IT4Innovations 2018
easyblock = 'ConfigureMake'
name = 'OpenMPI'
version = '1.10.7'
homepage = 'http://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-2 implementation."""
toolchain = {'name': 'PGI', 'version': '18.5-GCC-6.3.0-2.27'}
toolchainopts = {'pic': True}
sources = [SOURCELOWER_TAR_GZ]
source_urls = ['http://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
dependencies = [('hwloc', '1.11.7')]
configopts = '--with-threads=posix --enable-shared --enable-static --enable-mpi-thread-multiple --with-verbs '
configopts += '--enable-mpirun-prefix-by-default ' # suppress failure modes in relation to mpirun path
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
configopts += '--disable-dlopen ' # statically link component, don't do dynamic loading
configopts += '--with-tm=/opt/pbs/default ' # Enable PBS
configopts += '--with-cxxrtlib="-lgcc_s -lstdc++"' # for vt-mpi-unify
# for PBS Pro 13
preconfigopts = 'export LIBS="-ldl" && '
# needed for --with-verbs
osdependencies = [('libibverbs-dev', 'libibverbs-devel')]
libs = ["mpi_cxx", "mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte", "vt", "vt-hyb", "vt-mpi", "vt-mpi-unify"]
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': ["include/openmpi/ompi/mpi/cxx"],
}
sanity_check_commands = [
('mpicc --version | grep pgcc', ''),
('mpicxx --version | grep pgc++', ''),
('mpifort --version | grep pgfortran', ''),
]
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,19 @@
#!/bin/bash
# script to set up build environment as defined by EasyBuild v3.6.2 for OpenMPI-1.10.7-PGI-18.5-GCC-6.3.0-2.27.eb
# usage: source OpenMPI-1.10.7-PGI-18.5-GCC-6.3.0-2.27.env
# toolchain & dependency modules
module load PGI/18.5-GCC-6.3.0-2.27
module load hwloc/1.11.7-PGI-18.5-GCC-6.3.0-2.27
module load Java/1.9.0+181
# build environment
export CC='pgcc'
export CPPFLAGS='-I/apps/all/hwloc/1.11.7-PGI-18.5-GCC-6.3.0-2.27/include -I/apps/all/Java/1.9.0+181/include'
export CXX='pgc++'
export F77='pgf77'
export F90='pgfortran'
export FC='pgfortran'
export LDFLAGS='-L/apps/all/hwloc/1.11.7-PGI-18.5-GCC-6.3.0-2.27/lib -L/apps/all/Java/1.9.0+181/lib'
export OPTFLAGS='-O3'
export LIBS="-ldl"