new file: g/Go/Go-1.12.7.eb

new file:   h/hwloc/hwloc-1.11.7-GCC-9.1.0-2.32.eb
	new file:   i/icc/icc-2019.4.227-GCC-9.1.0-2.32.eb
	new file:   i/iccifort/iccifort-2019.4.227-GCC-9.1.0-2.32.eb
	new file:   i/ifort/ifort-2019.4.227-GCC-9.1.0-2.32.eb
	new file:   i/impi/impi-2019.3.199-iccifort-2019.4.227-GCC-9.1.0-2.32.eb
	new file:   i/intel/intel-2019.03-GCC-9.1.0-2.32.eb
	new file:   n/numactl/numactl-2.0.11-GCCcore-9.1.0.eb
	new file:   o/OpenMPI/OpenMPI-2.1.5-GCC-9.1.0-2.32.eb
	new file:   s/Singularity/Singularity-3.2.1.eb
This commit is contained in:
Lukáš Krupčík 2019-07-29 13:00:33 +02:00
parent 3f9f84024e
commit 2a5a840c2d
10 changed files with 363 additions and 0 deletions

26
g/Go/Go-1.12.7.eb Normal file
View File

@ -0,0 +1,26 @@
# It4Innovations 2019
easyblock = 'Tarball'
name = 'Go'
version = '1.12.7'
homepage = 'http://www.golang.org'
description = """Go is an open source programming language that makes it easy to build
simple, reliable, and efficient software."""
toolchain = {'name': 'dummy', 'version': ''}
source_urls = ['https://dl.google.com/go/']
sources = ['%(namelower)s%(version)s.linux-amd64.tar.gz']
checksums = ['3f0ca2acb238bef57c7e2b6e3d8d0730']
sanity_check_paths = {
'files': ['bin/go', 'bin/gofmt'],
'dirs': ['api', 'doc', 'lib', 'pkg'],
}
modextravars = {'GOROOT': '%(installdir)s'}
moduleclass = 'compiler'

View File

@ -0,0 +1,26 @@
# IT4Innovations 2019
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': '9.1.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.11')]
configopts = "--enable-libnuma=$EBROOTNUMACTL"
moduleclass = 'system'

View File

@ -0,0 +1,41 @@
# IT4Innovations 2019
name = 'icc'
version = '2019.4.227'
homepage = 'http://software.intel.com/en-us/intel-compilers/'
description = "Intel C and C++ compilers"
toolchain = {'name': 'dummy', 'version': ''}
source_urls = ['http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14865/']
sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_cpp.tgz']
gccver = '9.1.0'
binutilsver = '2.32'
versionsuffix = '-GCC-%s-%s' % (gccver, binutilsver)
dependencies = [
('GCCcore', gccver),
('binutils', binutilsver, '', ('GCCcore', gccver)),
]
# list of regex for components to install
# full list of components can be obtained from pset/mediaconfig.xml in unpacked sources
# cfr. https://software.intel.com/en-us/articles/intel-composer-xe-2015-silent-installation-guide
components = ['intel-comp', 'intel-ccomp', 'intel-icc', 'intel-openmp', 'intel-ipsc?_', 'intel-gdb(?!.*mic)']
dontcreateinstalldir = 'True'
license_file = '/apps/licenses/intel/license.lic'
modextravars = {
'CC': 'icc',
'CXX': 'icpc',
'OPTFLAGS': '-O3 -xHost -ip',
'DEBUGFLAGS': '-O0 -g'
}
modluafooter = 'add_property("state","experimental")'
moduleclass = 'compiler'

View File

@ -0,0 +1,31 @@
# IT4Innovations 2019
easyblock = 'Toolchain'
name = 'iccifort'
version = '2019.4.227'
versionsuffix = '-GCC-9.1.0-2.32'
homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/'
description = "Intel C, C++ & Fortran compilers"
toolchain = {'name': 'dummy', 'version': ''}
dependencies = [
('icc', version, versionsuffix),
('ifort', version, versionsuffix),
]
modextravars = {
'CC': 'icc',
'CXX': 'icpc',
'F90': 'ifort',
'F77': 'ifort',
'FC': 'ifort',
'OPTFLAGS': '-O3 -xHost -ip',
'DEBUGFLAGS': '-O0 -g'
}
modluafooter = 'add_property("state","experimental")'
moduleclass = 'toolchain'

View File

@ -0,0 +1,43 @@
# IT4Innovations 2019
name = 'ifort'
version = '2019.4.227'
homepage = 'http://software.intel.com/en-us/intel-compilers/'
description = "Intel Fortran compiler"
toolchain = {'name': 'dummy', 'version': ''}
source_urls = ['http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14866/']
sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_fortran.tgz']
#patches = ['ifort-%(version)s_no_mpi_mic_dependency.patch']
gccver = '9.1.0'
binutilsver = '2.32'
versionsuffix = '-GCC-%s-%s' % (gccver, binutilsver)
dependencies = [
('GCCcore', gccver),
('binutils', binutilsver, '', ('GCCcore', gccver)),
]
# list of regex for components to install
# full list of components can be obtained from pset/mediaconfig.xml in unpacked sources
# cfr. https://software.intel.com/en-us/articles/intel-composer-xe-2015-silent-installation-guide
components = ['intel-comp', 'intel-fcomp', 'intel-ifort', 'intel-openmp', 'intel-ipsf?_', 'intel-gdb(?!.*mic)']
dontcreateinstalldir = 'True'
license_file = '/apps/licenses/intel/license.lic'
modextravars = {
'F90': 'ifort',
'F77': 'ifort',
'FC': 'ifort',
'OPTFLAGS': '-O3 -xHost -ip',
'DEBUGFLAGS': '-O0 -g'
}
modluafooter = 'add_property("state","experimental")'
moduleclass = 'compiler'

View File

@ -0,0 +1,33 @@
# IT4Innovations 2019
name = 'impi'
version = '2019.3.199'
homepage = 'http://software.intel.com/en-us/intel-mpi-library/'
description = "Intel MPI Library, compatible with MPICH ABI"
toolchain = {'name': 'iccifort', 'version': '2019.4.227-GCC-9.1.0-2.32'}
source_urls = ['http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14879/']
sources = ['l_mpi_%(version)s.tgz']
dontcreateinstalldir = 'True'
components = ['intel-mpi', 'intel-psxe', 'intel-imb']
# set up all the mpi commands to default to intel compilers
# set_mpi_wrappers_all = 'True'
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',
}
modluafooter = 'add_property("state","experimental")'
moduleclass = 'mpi'

View File

@ -0,0 +1,29 @@
# IT4Innovations 2019
easyblock = 'Toolchain'
name = 'intel'
version = '2019.03'
versionsuffix = '-GCC-9.1.0-2.32'
homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/'
description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)."
toolchain = {'name': 'dummy', 'version': ''}
compver = '2019.4.227'
gccver = '9.1.0'
binutilsver = '2.32'
gccsuff = '-GCC-%s-%s' % (gccver, binutilsver)
dependencies = [
('GCCcore', gccver),
('binutils', binutilsver, '-GCCcore-%s' % gccver),
('icc', compver, gccsuff),
('ifort', compver, gccsuff),
('impi', '2019.3.199', '', ('iccifort', '%s%s' % (compver, gccsuff))),
('imkl', '2019.3.199', '', ('iimpi', version)),
]
modluafooter = 'add_property("state","experimental")'
moduleclass = 'toolchain'

View File

@ -0,0 +1,38 @@
# 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': '9.1.0'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/numactl/numactl/archive/']
sources = ['v2.0.12.tar.gz']
checksums = ['a4d2292af28fb20007ddb9706f8bb1cc']
builddependencies = [
('binutils', '2.32'),
('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,53 @@
# IT4Innovations 2019
easyblock = 'ConfigureMake'
name = 'OpenMPI'
version = '2.1.5'
homepage = 'http://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-3.1 implementation."""
toolchain = {'name': 'GCC', 'version': '9.1.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')
]
# for PBS Pro 13
preconfigopts = 'export LIBS="-ldl" && '
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/default ' # Enable PBS
#configopts += '--enable-mpi-java ' # Java support RT#4090
configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings
# 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': 'mlx4_0',
'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8',
}
moduleclass = 'mpi'

View File

@ -0,0 +1,43 @@
# IT4Innovations 2019
easyblock = 'ConfigureMake'
name = 'Singularity'
version = '3.2.1'
homepage = 'https://github.com/sylabs/singularity'
description = "Singularity is an open source container platform designed to be simple, fast, and secure. Singularity is optimized for EPC and HPC workloads, allowing untrusted users to run untrusted containers in a trusted way."
toolchain = {'name': 'dummy', 'version': ''}
sources = [{
'source_urls': ['https://github.com/sylabs/singularity/releases/download/v3.2.1/'],
'filename': 'singularity-3.2.1.tar.gz',
'extract_cmd': "mkdir -p src/github.com/sylabs/singularity && tar xfvz %s -C src/github.com/sylabs/singularity --strip-components=1",
}]
builddependencies = [
('Go', '1.12.7'),
]
dependencies = [
('squashfs-tools', '4.3'),
]
skipsteps = ['configure']
prebuildopts = "export GOPATH=%(builddir)s && "
prebuildopts += "./mconfig --prefix=%(installdir)s && "
prebuildopts += "cd ./builddir && "
preinstallopts = "cd ./builddir && "
postinstallcmds = [
'echo "mksquashfs path = /apps/all/squashfs-tools/4.3/bin" >> %(installdir)s/etc/singularity/singularity.conf',
]
sanity_check_paths = {
'files': ['bin/singularity'],
'dirs': ['bin', 'etc', 'libexec', 'var'],
}
moduleclass = 'tools'