Merge branch 'it4i-karolina'

This commit is contained in:
Lukas Krupcik 2021-08-09 08:32:32 +02:00
commit fa04e5f607
42 changed files with 1336 additions and 15 deletions

33
c/CMake/CMake-3.18.4.eb Normal file
View File

@ -0,0 +1,33 @@
# IT4Innovations 2021
# LK
name = 'CMake'
version = '3.18.4'
homepage = 'https://www.cmake.org'
description = """
CMake, the cross-platform, open-source build system. CMake is a family of
tools designed to build, test and package software.
"""
toolchain = SYSTEM
source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['597c61358e6a92ecbfad42a9b5321ddd801fc7e7eca08441307c9138382d4f77']
dependencies = [
('ncurses', '6.2'),
('zlib', '1.2.11'),
('bzip2', '1.0.8'),
('cURL', '7.72.0'),
('libarchive', '3.4.3'),
# OS dependency should be preferred if the os version is more recent then this version,
# it's nice to have an up to date openssl for security reasons
# ('OpenSSL', '1.1.1h'),
]
osdependencies = [OS_PKG_OPENSSL_DEV]
moduleclass = 'devel'

29
c/CMake/CMake-3.20.1.eb Normal file
View File

@ -0,0 +1,29 @@
# IT4Innovations
# LK 2021
name = 'CMake'
version = '3.20.1'
homepage = 'https://www.cmake.org'
description = """
CMake, the cross-platform, open-source build system. CMake is a family of
tools designed to build, test and package software.
"""
toolchain = SYSTEM
source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['3f1808b9b00281df06c91dd7a021d7f52f724101000da7985a401678dfe035b0']
dependencies = [
('ncurses', '6.2'),
('zlib', '1.2.11'),
('bzip2', '1.0.8'),
('cURL', '7.76.0'),
('libarchive', '3.5.1'),
('OpenSSL', '1.1', '', True),
]
moduleclass = 'devel'

46
c/cURL/cURL-7.72.0.eb Normal file
View File

@ -0,0 +1,46 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'cURL'
version = '7.72.0'
homepage = 'https://curl.haxx.se'
description = """
libcurl is a free and easy-to-use client-side URL transfer library,
supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP,
LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP.
libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP
form based upload, proxies, cookies, user+password authentication (Basic,
Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling
and more.
"""
toolchain = SYSTEM
source_urls = ['https://curl.haxx.se/download/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['d4d5899a3868fbb6ae1856c3e55a32ce35913de3956d1973caccd37bd0174fa2']
dependencies = [
('zlib', '1.2.11'),
# OS dependency should be preferred if the os version is more recent then this version,
# it's nice to have an up to date openssl for security reasons
# ('OpenSSL', '1.1.1h')
]
osdependencies = [OS_PKG_OPENSSL_DEV]
configopts = '--with-zlib'
# configopts += '--with-ssl=$EBROOTOPENSSL'
modextravars = {'CURL_INCLUDES': '%(installdir)s/include'}
sanity_check_paths = {
'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT],
'dirs': ['lib/pkgconfig', 'include/curl'],
}
moduleclass = 'tools'

42
c/cURL/cURL-7.76.0.eb Normal file
View File

@ -0,0 +1,42 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'cURL'
version = '7.76.0'
homepage = 'https://curl.haxx.se'
description = """
libcurl is a free and easy-to-use client-side URL transfer library,
supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP,
LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP.
libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP
form based upload, proxies, cookies, user+password authentication (Basic,
Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling
and more.
"""
toolchain = SYSTEM
source_urls = ['https://curl.haxx.se/download/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3']
dependencies = [
('zlib', '1.2.11'),
('OpenSSL', '1.1', '', True),
]
configopts = '--with-zlib'
# configopts += '--with-ssl=$EBROOTOPENSSL'
modextravars = {'CURL_INCLUDES': '%(installdir)s/include'}
sanity_check_paths = {
'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT],
'dirs': ['lib/pkgconfig', 'include/curl'],
}
moduleclass = 'tools'

34
e/expat/expat-2.2.9.eb Normal file
View File

@ -0,0 +1,34 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'expat'
version = '2.2.9'
homepage = 'https://libexpat.github.io'
description = """
Expat is an XML parser library written in C. It is a stream-oriented parser
in which an application registers handlers for things the parser might find
in the XML document (like start tags)
"""
toolchain = SYSTEM
toolchainopts = {'pic': True}
source_urls = ['https://fossies.org/linux/www/']
sources = [SOURCELOWER_TAR_BZ2]
checksums = ['f1063084dc4302a427dabcca499c8312b3a32a29b7d2506653ecc8f950a9a237']
# Since expat 2.2.6, docbook2X is needed to produce manpage of xmlwf.
# Docbook2X needs XML-Parser and XML-Parser needs expat.
# -> circular dependency. "--without-docbook" breaks this circle.
configopts = ['--without-docbook']
sanity_check_paths = {
'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT],
'dirs': []
}
moduleclass = 'tools'

View File

@ -0,0 +1,41 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'fontconfig'
version = '2.13.93'
homepage = 'https://www.freedesktop.org/wiki/Software/fontconfig/'
description = """
Fontconfig is a library designed to provide system-wide font configuration,
customization and application access.
"""
toolchain = SYSTEM
toolchainopts = {'pic': True}
source_urls = ['https://www.freedesktop.org/software/fontconfig/release/']
sources = [SOURCE_TAR_GZ]
checksums = ['0f302a18ee52dde0793fe38b266bf269dfe6e0c0ae140e30d72c6cca5dc08db5']
builddependencies = [
('gperf', '3.1'),
('pkg-config', '0.29.2'),
]
dependencies = [
('expat', '2.2.9'),
('freetype', '2.10.4'),
('util-linux', '2.36'),
]
configopts = '--disable-docs '
sanity_check_paths = {
'files': ['include/fontconfig/fontconfig.h', 'lib/libfontconfig.%s' % SHLIB_EXT],
'dirs': []
}
moduleclass = 'vis'

View File

@ -0,0 +1,41 @@
# IT4Innovations
# LK 2021
name = 'freetype'
version = '2.10.4'
homepage = 'https://www.freetype.org'
description = """
FreeType 2 is a software font engine that is designed to be small, efficient,
highly customizable, and portable while capable of producing high-quality
output (glyph images). It can be used in graphics libraries, display servers,
font conversion tools, text image generation tools, and many other products
as well.
"""
toolchain = SYSTEM
toolchainopts = {'pic': True}
source_urls = [
GNU_SAVANNAH_SOURCE,
SOURCEFORGE_SOURCE,
]
sources = [SOURCE_TAR_GZ]
checksums = ['5eab795ebb23ac77001cfb68b7d4d50b5d6c7469247b0b01b2c953269f658dac']
dependencies = [
('bzip2', '1.0.8'),
('libpng', '1.6.37'),
('zlib', '1.2.11'),
]
configopts = '--enable-freetype-config --with-harfbuzz=no'
sanity_check_paths = {
'files': ['bin/freetype-config', 'lib/libfreetype.a',
'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'],
'dirs': ['include/freetype2'],
}
moduleclass = 'vis'

View File

@ -12,10 +12,10 @@ sources = [SOURCE_TAR_GZ]
source_urls = [('http://sourceforge.net/projects/gnuplot/files', 'download')]
dependencies = [
('cairo', '1.14.12'),
# ('cairo', '1.14.12'),
('libjpeg-turbo', '1.5.3'),
('libpng', '1.6.34'),
('libgd', '2.2.5'),
# ('libgd', '2.2.5'),
# ('Pango', '1.42.1'),
# ('libcerf', '1.5'),
# ('Qt', '4.8.7'),

View File

@ -13,16 +13,16 @@ toolchain = SYSTEM
sources = [SOURCE_TAR_GZ]
source_urls = [('http://sourceforge.net/projects/gnuplot/files', 'download')]
#dependencies = [
dependencies = [
# ('cairo', '1.14.12'),
# ('libjpeg-turbo', '1.5.3'),
# ('libpng', '1.6.34'),
# ('libgd', '2.2.5'),
('libjpeg-turbo', '2.0.6'),
('libpng', '1.6.37'),
('libgd', '2.3.1'),
# ('Pango', '1.42.1'),
# ('libcerf', '1.5'),
# ('Qt', '4.8.7'),
# ('LibTIFF', '4.0.7'),
#]
]
#configopts = '--with-qt=qt4 '

View File

@ -0,0 +1,31 @@
# IT4Innovations 2021
# LK
name = 'HDF5'
version = '1.10.6'
versionsuffix = '-parallel'
homepage = 'http://www.hdfgroup.org/HDF5/'
description = """HDF5 is a unique technology suite that makes possible the management of
extremely large and local_complex data collections."""
toolchain = {'name': 'foss', 'version': '2020b'}
toolchainopts = {'pic': True, 'usempi': True}
source_urls = [
'https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src']
sources = [SOURCELOWER_TAR_GZ]
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && "
configopts = '--enable-fortran --enable-fortran 2003 --enable-cxx'
dependencies = [
('zlib', '1.2.11'),
('Szip', '2.1.1'),
]
moduleclass = 'data'

View File

@ -0,0 +1,31 @@
# IT4Innpvations 2021
# LK
name = 'HDF5'
version = '1.10.6'
homepage = 'https://portal.hdfgroup.org/display/support'
description = """HDF5 is a data model, library, and file format for storing and managing data.
It supports an unlimited variety of datatypes, and is designed for flexible
and efficient I/O and for high volume and complex data."""
toolchain = {'name': 'iimpi', 'version': '2020a'}
toolchainopts = {'pic': True, 'usempi': True}
source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa']
dependencies = [
('zlib', '1.2.11'),
('Szip', '2.1.1'),
]
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && "
configopts = '--enable-fortran --enable-fortran 2003 --enable-cxx'
moduleclass = 'data'

View File

@ -15,6 +15,11 @@ source_urls = [
'https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src']
sources = [SOURCELOWER_TAR_GZ]
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && "
configopts = '--enable-fortran --enable-fortran 2003 --enable-cxx'
dependencies = [

View File

@ -19,6 +19,11 @@ dependencies = [
('Szip', '2.1.1'),
]
configopts = '--enable-fortran --enable-fortran 2003 --enable-fortran2003 --enable-cxx'
configopts = '--enable-fortran --enable-fortran 2003 --enable-fortran2003 --enable-cxx '
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && "
moduleclass = 'data'

View File

@ -0,0 +1,31 @@
# IT4Innovations 2021
# LK
name = 'HDF5'
version = '1.10.6'
versionsuffix = '-parallel'
homepage = 'http://www.hdfgroup.org/HDF5/'
description = """HDF5 is a unique technology suite that makes possible the management of
extremely large and local_complex data collections."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'pic': True, 'usempi': True}
source_urls = [
'https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src']
sources = [SOURCELOWER_TAR_GZ]
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && "
configopts = '--enable-fortran --enable-fortran 2003 --enable-cxx'
dependencies = [
('zlib', '1.2.11'),
('Szip', '2.1.1'),
]
moduleclass = 'data'

20
i/iimpi/iimpi-2020a.eb Normal file
View File

@ -0,0 +1,20 @@
# IT4Innovations 2021
# LK
easyblock = 'Toolchain'
name = 'iimpi'
version = '2020a'
homepage = 'https://software.intel.com/parallel-studio-xe'
description = """Intel C/C++ and Fortran compilers, alongside Intel MPI."""
toolchain = SYSTEM
local_compver = '2020.1.217'
dependencies = [
('iccifort', local_compver),
('impi', '2019.9.304', '', ('iccifort', local_compver)),
]
moduleclass = 'toolchain'

View File

@ -0,0 +1,38 @@
# IT4Innovations 2021
# LK
name = 'impi'
version = '2018.4.274'
homepage = 'https://software.intel.com/en-us/intel-mpi-library/'
description = "Intel MPI Library, compatible with MPICH ABI"
toolchain = {'name': 'iccifort', 'version': '2019.1.144-GCC-8.2.0-2.31.1'}
source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13651/']
sources = ['l_mpi_%(version)s.tgz']
checksums = ['a1114b3eb4149c2f108964b83cad02150d619e50032059d119ac4ffc9d5dd8e0']
dontcreateinstalldir = True
components = ['intel-mpi', 'intel-psxe', 'intel-imb']
dependencies = [
# needed by libfabric provider MLX introduced in Intel MPI v2019.6,
# https://software.intel.com/en-us/articles/improve-performance-and-stability-with-intel-mpi-library-on-infiniband
('UCX', '1.9.0'),
]
# set up all the mpi commands to default to intel compilers
# set_mpi_wrappers_all = True
postinstallcmds = [
'ln -s %(installdir)s/lib64/libmpi.so %(installdir)s/lib64/libmpich.so',
'ln -s %(installdir)s/lib64/libmpigc4.so %(installdir)s/lib64/libmpichcxx.so',
'ln -s %(installdir)s/lib64/libmpigf.so %(installdir)s/lib64/libfmpich.so',
'ln -s %(installdir)s/lib64/libmpigf.so %(installdir)s/lib64/libmpichf90.so',
'ln -s %(installdir)s/lib64/libmpi.so %(installdir)s/lib64/libmpl.so',
'ln -s %(installdir)s/lib64/libmpi.so %(installdir)s/lib64/libopa.so'
]
moduleclass = 'mpi'

View File

@ -0,0 +1,35 @@
# IT4Innovations 2021
# LK
name = 'impi'
version = '2019.9.304'
homepage = 'https://software.intel.com/en-us/intel-mpi-library/'
description = "Intel MPI Library, compatible with MPICH ABI"
toolchain = {'name': 'iccifort', 'version': '2020.1.217'}
source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17263/']
sources = ['l_mpi_%(version)s.tgz']
checksums = ['618a5dc2de54306645e6428c5eb7d267b54b11b5a83dfbcad7d0f9e0d90bb2e7']
dependencies = [
# needed by libfabric provider MLX introduced in Intel MPI v2019.6,
# https://software.intel.com/en-us/articles/improve-performance-and-stability-with-intel-mpi-library-on-infiniband
('UCX', '1.9.0'),
]
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
import os
if os.environ.get("CLUSTERNAME") in ["BARBORA"]:
modextravars = {'I_MPI_OFI_PROVIDER': 'MLX',
'FI_PROVIDER': 'verbs',
}
moduleclass = 'mpi'

24
i/intel/intel-2020a.eb Normal file
View File

@ -0,0 +1,24 @@
# IT4Innovations
# LK 2021
easyblock = 'Toolchain'
name = 'intel'
version = '2020a'
homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain'
description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)."
toolchain = SYSTEM
local_compver = '2020.1.217'
local_gccver = '9.3.0'
dependencies = [
('GCCcore', local_gccver),
('binutils', '2.34', '', ('GCCcore', local_gccver)),
('iccifort', local_compver),
('impi', '2019.9.304', '', ('iccifort', local_compver)),
('imkl', local_compver, '', ('iimpi', version)),
]
moduleclass = 'toolchain'

20
i/iomkl/iomkl-2020b.eb Normal file
View File

@ -0,0 +1,20 @@
easyblock = "Toolchain"
name = 'iomkl'
version = '2020b'
homepage = 'https://software.intel.com/en-us/intel-cluster-toolkit-compiler/'
description = """Intel Cluster Toolchain Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MKL &
OpenMPI."""
toolchain = SYSTEM
local_compver = '2020.4.304'
dependencies = [
('iccifort', local_compver),
('OpenMPI', '4.0.5', '', ('iccifort', local_compver)),
('imkl', local_compver, '', ('iompi', version)),
]
moduleclass = 'toolchain'

View File

@ -0,0 +1,26 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'libarchive'
version = '3.4.3'
homepage = 'https://www.libarchive.org/'
description = """
Multi-format archive and compression library
"""
toolchain = SYSTEM
source_urls = ['https://www.libarchive.org/downloads/']
sources = [SOURCE_TAR_GZ]
checksums = ['ee1e749213c108cb60d53147f18c31a73d6717d7e3d2481c157e1b34c881ea39']
sanity_check_paths = {
'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT],
'dirs': ['bin', 'share/man/man3'],
}
moduleclass = 'tools'

View File

@ -0,0 +1,31 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'libarchive'
version = '3.5.1'
homepage = 'https://www.libarchive.org/'
description = """
Multi-format archive and compression library
"""
toolchain = SYSTEM
source_urls = ['https://www.libarchive.org/downloads/']
sources = [SOURCE_TAR_GZ]
checksums = ['9015d109ec00bb9ae1a384b172bf2fc1dff41e2c66e5a9eeddf933af9db37f5a']
builddependencies = [
('XZ', '5.2.5'),
('OpenSSL', '1.1', '', True),
]
sanity_check_paths = {
'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT],
'dirs': ['bin', 'share/man/man3'],
}
moduleclass = 'tools'

34
l/libgd/libgd-2.3.1.eb Normal file
View File

@ -0,0 +1,34 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'libgd'
version = '2.3.1'
homepage = 'https://libgd.github.io/'
description = "GD is an open source code library for the dynamic creation of images by programmers."
toolchain = SYSTEM
toolchainopts = {'pic': True}
source_urls = ['https://github.com/libgd/libgd/releases/download/gd-%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['e904a35fd3379ddb2d7c64f929b7cbdf0422863646dae252be0029b9e47c9fe3']
dependencies = [
('fontconfig', '2.13.93'),
('libjpeg-turbo', '2.0.6'),
('libpng', '1.6.37'),
('zlib', '1.2.11'),
]
configopts = "--with-fontconfig=$EBROOTFONTCONFIG --with-jpeg=$EBROOTLIBJPEGMINTURBO "
configopts += "--with-png=$EBROOTLIBPNG --with-zlib=$EBROOTZLIB"
sanity_check_paths = {
'files': ["lib/libgd.a", "lib/libgd.%s" % SHLIB_EXT],
'dirs': ["bin", "include"],
}
moduleclass = 'lib'

View File

@ -0,0 +1,44 @@
# IT4Innovations
# LK 2021
easyblock = 'CMakeMake'
name = 'libjpeg-turbo'
version = '2.0.6'
homepage = 'https://sourceforge.net/projects/libjpeg-turbo/'
description = """
libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to
accelerate baseline JPEG compression and decompression. libjpeg is a library
that implements JPEG image encoding, decoding and transcoding.
"""
toolchain = SYSTEM
toolchainopts = {'pic': True}
source_urls = [SOURCEFORGE_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['d74b92ac33b0e3657123ddcf6728788c90dc84dcb6a52013d758af3c4af481bb']
builddependencies = [
('CMake', '3.20.1'),
]
dependencies = [
('NASM', '2.15.05'),
]
configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1'
runtest = "test"
sanity_check_paths = {
'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom',
'bin/tjbench', 'bin/wrjpgcom', 'lib/libjpeg.a',
'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a',
'lib/libturbojpeg.%s' % SHLIB_EXT],
'dirs': ['include', 'share'],
}
moduleclass = 'lib'

View File

@ -1,3 +1,6 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'libsndfile'
@ -13,8 +16,6 @@ source_urls = ['http://www.mega-nerd.com/libsndfile/files/']
sources = [SOURCE_TAR_GZ]
checksums = ['1ff33929f042fa333aed1e8923aa628c3ee9e1eb85512686c55092d1e5a9dfa9']
builddependencies = [('binutils', '2.31.1')]
sanity_check_paths = {
'files': [
'include/sndfile.h',

36
m/MATLAB/README.md Normal file
View File

@ -0,0 +1,36 @@
This example uses Matlab 2018a and MATLAB-2018a.eb
Steps to install Matlab:
* Install the appropriate Java install which requires manual download. See Java documentation for install.
* Matlab needs a "File Installation Key". There are a few options available:
* Your Matlab license should have a "`File Installation Key`" in under "`Advanced Options`" in the "`Install and Activate`" tab of your "`License Center`".
This will only install the products associated with this license.
* If you need to install all of the toolboxes to support multiple licenses Mathworks can enable a "`All Product File Installation Key`".
This will install all of the client products but will not install server products like MDCS.
A second manual installation on top of the first will be required.
* If you have a server product key, like MDCS, the "`File Installation Key`" may not install client products like Matlab Compilers.
A second manual installation on top of the first will be required.
* Edit the easyconfig file (`MATLAB-2018a.eb`).
* Update the version of Java to match the version installed in step 1.
* Add the following three lines
```
# This string could be really long
key = 'XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX'
license_server = '<IP or FQDN>'
license_server_port = '<port>'
```
* Download both ISO files from Mathworks.
* Create the tar file needed for install.
```
$ mkdir R2018a
$ mount -o loop,ro R2018a_glnxa64_dvd1.iso /mnt/
$ rsync -avHlP /mnt/ R2018a/
$ umount /mnt
$ mount -o loop,ro R2018a_glnxa64_dvd2.iso /mnt/
$ rsync -avHlP /mnt/ R2018a/
$ umount /mnt
$ tar -zcvf /my/easybuild/download/path/matlab-2018a.tar.gz R2018a
```
* Install with EasyBuild
```
$ eb MATLAB-2018a.eb -r
```

View File

@ -1,7 +1,8 @@
# IT4Innovations 2020
# IT4Innovations 2021
# LK
name = 'mkl'
version = '2020.0.166'
version = '2020.4.304'
homepage = 'http://software.intel.com/en-us/intel-mkl/'
description = """Intel Math Kernel Library is a library of highly optimized,
@ -11,7 +12,9 @@ description = """Intel Math Kernel Library is a library of highly optimized,
toolchain = SYSTEM
source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/']
sources = ['l_mkl_%(version)s.tgz']
checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5']
dontcreateinstalldir = 'True'

33
m/mkl/mkl-2020.4.304.eb Normal file
View File

@ -0,0 +1,33 @@
# IT4Innovations 2020
name = 'mkl'
version = '2020.0.166'
homepage = 'http://software.intel.com/en-us/intel-mkl/'
description = """Intel Math Kernel Library is a library of highly optimized,
extensively threaded math routines for science, engineering, and financial
applications that require maximum performance. Core math functions include
BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more."""
toolchain = SYSTEM
sources = ['l_mkl_%(version)s.tgz']
dontcreateinstalldir = 'True'
interfaces = False
postinstallcmds = [
# extract the examples
'tar xvzf %(installdir)s/mkl/examples/examples_cluster_c.tgz -C %(installdir)s/mkl/examples/',
'tar xvzf %(installdir)s/mkl/examples/examples_cluster_f.tgz -C %(installdir)s/mkl/examples/',
'tar xvzf %(installdir)s/mkl/examples/examples_core_c.tgz -C %(installdir)s/mkl/examples/',
'tar xvzf %(installdir)s/mkl/examples/examples_core_f.tgz -C %(installdir)s/mkl/examples/',
'tar xvzf %(installdir)s/mkl/examples/examples_f95.tgz -C %(installdir)s/mkl/examples/',
]
modextravars = {
'MKL_EXAMPLES': '%(installdir)s/mkl/examples/',
}
moduleclass = 'numlib'

24
n/NASM/NASM-2.15.05.eb Normal file
View File

@ -0,0 +1,24 @@
# IT4Innovations 2021
# LK 2021
easyblock = 'ConfigureMake'
name = 'NASM'
version = '2.15.05'
homepage = 'https://www.nasm.us/'
description = """NASM: General-purpose x86 assembler"""
toolchain = SYSTEM
source_urls = ['https://www.nasm.us/pub/nasm/releasebuilds/%(version)s']
sources = [SOURCELOWER_TAR_BZ2]
checksums = ['3c4b8339e5ab54b1bcb2316101f8985a5da50a3f9e504d43fa6f35668bee2fd0']
sanity_check_paths = {
'files': ['bin/nasm'],
'dirs': [],
}
moduleclass = 'lang'

View File

@ -0,0 +1,39 @@
# IT4Innovations 2020
easyblock = 'ConfigureMake'
name = 'Octave'
version = '6.3.0'
versionsuffix = '-without-X11'
homepage = 'http://www.gnu.org/software/octave/'
description = """GNU Octave is a high-level interpreted language, primarily intended for numerical local_computations."""
toolchain = {'name': 'intel', 'version': '2020b'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
dependencies = [
('PCRE', '8.40', '', True),
('ncurses', '6.2', '', True),
('libreadline', '7.0', '', True),
('cURL', '7.65.3', '', True),
('zlib', '1.2.11', '', True),
('HDF5', '1.10.6', '-parallel'),
('FFTW', '3.3.8', '', True),
('gnuplot', '5.2.8', '', True),
]
configopts = '--disable-docs --without-opengl --without-qhull '
configopts += '--with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK" '
configopts += '--enable-fortran-calling-convention=gfortran'
sanity_check_paths = {
'files': ['bin/octave'],
'dirs': []
}
sanity_check_commands = [('octave', '--eval "1+2"')]
moduleclass = 'math'

View File

@ -0,0 +1,65 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'OpenMPI'
version = '4.1.1'
homepage = 'http://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-2 implementation."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
source_urls = ['https://github.com/open-mpi/ompi/archive/refs/tags/']
sources = ['v%(version)s.tar.gz']
dependencies = [
('hwloc', '2.2.0'),
('UCX', '1.9.0',),
]
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',
}
elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'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,24 @@
# IT4Innovations 2019
name = 'ParMETIS'
version = '4.0.3'
homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview'
description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs,
meshes, and for local_computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes
routines that are especially suited for parallel AMR local_computations and large scale numerical simulations. The algorithms implemented in
ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning
schemes."""
toolchain = {'name': 'foss', 'version': '2020b'}
toolchainopts = {'usempi': True, 'pic': True}
source_urls = [
'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis',
'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD',
]
sources = [SOURCELOWER_TAR_GZ]
builddependencies = [('CMake', '3.18.4', '', True)]
moduleclass = 'math'

View File

@ -0,0 +1,25 @@
# IT4Innovations 2021
# LK
name = 'ParMETIS'
version = '4.0.3'
homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview'
description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs,
meshes, and for local_computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes
routines that are especially suited for parallel AMR local_computations and large scale numerical simulations. The algorithms implemented in
ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning
schemes."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'usempi': True, 'pic': True}
source_urls = [
'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis',
'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD',
]
sources = [SOURCELOWER_TAR_GZ]
builddependencies = [('CMake', '3.16.2', '', True)]
moduleclass = 'math'

View File

@ -0,0 +1,48 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'UCX'
version = '1.9.0'
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.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s']
sources = ['%(namelower)s-%(version)s.tar.gz']
checksums = ['a7a2c8841dc0d5444088a4373dc9b9cc68dbffcd917c1eba92ca8ed8e5e635fb']
builddependencies = [
('binutils', '2.31.1'),
('Autotools', '20180311', '', True),
('pkg-config', '0.29.2', '', True),
]
osdependencies = [OS_PKG_IBVERBS_DEV]
dependencies = [
('numactl', '2.0.12'),
]
configure_cmd = "contrib/configure-release"
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']
}
sanity_check_commands = ["ucx_info -d"]
moduleclass = 'lib'

View File

@ -0,0 +1,42 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'util-linux'
version = '2.36'
homepage = 'https://www.kernel.org/pub/linux/utils/util-linux'
description = "Set of Linux utilities"
toolchain = SYSTEM
toolchainopts = {'pic': True}
source_urls = ['%s/v%%(version_major_minor)s' % homepage]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['82942cd877a989f6d12d4ce2c757fb67ec53d8c5cd9af0537141ec5f84a2eea3']
# disable account related utilities (they need OS dependent pam-devel files)
# disable wall and friends (requires group changing permissions for install user)
# install systemd service files in install dir
# install bash completion files in install dir
configopts = "--disable-chfn-chsh --disable-login --disable-su --disable-rfkill "
configopts += "--disable-wall --disable-use-tty-group "
configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid "
configopts += "--with-systemdsystemunitdir='${prefix}/systemd' "
configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' "
# disable building Python bindings (since we don't include Python as a dep)
configopts += "--without-python "
dependencies = [
('ncurses', '6.2'),
('zlib', '1.2.11'),
]
sanity_check_paths = {
'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']],
'dirs': ['include', 'bin', 'share', 'sbin'],
}
moduleclass = 'tools'

View File

@ -0,0 +1,70 @@
# IT4Innovations 2020
# LK
easyblock = 'MakeCp'
name = 'VASP'
version = '5.4.4'
versionsuffix = '-mkl=sequential-BEEF'
homepage = 'http://www.vasp.at'
description = """The Vienna Ab initio Simulation Package (VASP) is a local_computer program for atomic scale
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
from first principles.
To use VASP, You need academic licenses from University of Wiena. Follow the instructions https://www.vasp.at/index.php/faqs.
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible to verify your licenses. After succesfull verification You will be granted to use VASP in our enviroment."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'pic': True, 'usempi': True}
# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on
# how to get access to the code
sources = ['%(namelower)s.%(version)s.tar.gz']
dependencies = [
('zlib', '1.2.11', '', True),
('BEEF', '0.1.1'),
]
prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && '
# path to libfftw3xf_intel.a is hardcoded in makefile.include
prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && '
# remove mkl flag to prevent mixing dynamic libs with the static libs in
# LIBBLACS/SCALAPACK
prebuildopts += 'sed -i "s|-mkl=sequential ||" makefile.include && '
# OFLAG = -O2 -xAVX
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O2 -ip -xHost|" makefile.include && '
# objects add MKLROOT
prebuildopts += 'sed -i "s|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o \$(MKLROOT)/lib/intel64_lin/libfftw3xf_intel.a|" makefile.include && '
prebuildopts += 'sed -i "s|FFLAGS = -assume byterecl -w|FFLAGS = -FR -assume byterecl|" makefile.include && '
prebuildopts += 'sed -i "s|BLAS =|BLAS = -mkl=sequential|" makefile.include && '
## libbeef
prebuildopts += 'sed -i "s|LLIBS =|LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) -L$EBROOTBEEF -lbeef|" makefile.include && '
# VASP uses LIBS as a list of folders
prebuildopts += 'unset LIBS && '
#prebuildopts += 'exit 1'
buildopts = 'all BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK" '
parallel = 1
files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')]
sanity_check_paths = {
'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'],
'dirs': []
}
modluafooter = 'add_property("state","license")'
moduleclass = 'phys'

View File

@ -30,6 +30,11 @@ dependencies = [
prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && '
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts += 'sed -i "s|-xHOST|-march=znver2|" makefile.include && '
# path to libfftw3xf_intel.a is hardcoded in makefile.include
prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && '
@ -38,7 +43,7 @@ prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" mak
prebuildopts += 'sed -i "s|-mkl=sequential ||" makefile.include && '
# OFLAG = -O2 -xAVX
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O2 -ip -xHost|" makefile.include && '
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O3 -ip -march=znver2|" makefile.include && '
# objects add MKLROOT
prebuildopts += 'sed -i "s|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o \$(MKLROOT)/lib/intel64_lin/libfftw3xf_intel.a|" makefile.include && '
@ -54,7 +59,7 @@ prebuildopts += 'unset LIBS && '
#prebuildopts += 'exit 1'
buildopts = 'all BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK" '
buildopts = 'all' # BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK" '
parallel = 1

View File

@ -0,0 +1,67 @@
# IT4Innovations 2021
# LK
easyblock = 'MakeCp'
name = 'VASP'
version = '6.2.0'
versionsuffix = '-mkl=sequential-march=znver2'
homepage = 'http://www.vasp.at'
description = """The Vienna Ab initio Simulation Package (VASP) is a local_computer program for atomic scale
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
from first principles.
To use VASP, You need academic licenses from University of Wiena. Follow the instructions https://www.vasp.at/index.php/faqs.
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible to verify your licenses. After succesfull verification You will be granted to use VASP in our enviroment."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'pic': True, 'usempi': True}
# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on
# how to get access to the code
sources = ['%(namelower)s.%(version)s.tgz']
prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && '
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts += 'sed -i "s|-xHOST|-march=znver2|" makefile.include && '
# path to libfftw3xf_intel.a is hardcoded in makefile.include
prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && '
# remove mkl flag to prevent mixing dynamic libs with the static libs in
# LIBBLACS/SCALAPACK
prebuildopts += 'sed -i "s|-mkl=sequential ||" makefile.include && '
# OFLAG = -O2 -xAVX
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O3 -ip -march=znver2|" makefile.include && '
# objects add MKLROOT
prebuildopts += 'sed -i "s|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o \$(MKLROOT)/lib/intel64_lin/libfftw3xf_intel.a|" makefile.include && '
prebuildopts += 'sed -i "s|FFLAGS = -assume byterecl -w|FFLAGS = -FR -assume byterecl|" makefile.include && '
prebuildopts += 'sed -i "s|BLAS =|BLAS = -mkl=sequential|" makefile.include && '
# VASP uses LIBS as a list of folders
prebuildopts += 'unset LIBS && '
#prebuildopts += 'exit 1'
buildopts = 'std gam ncl ' #BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK" '
parallel = 1
files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')]
sanity_check_paths = {
'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'],
'dirs': []
}
modluafooter = 'add_property("state","license")'
moduleclass = 'phys'

View File

@ -0,0 +1,52 @@
# IT4Innovations 2021
# LK
easyblock = 'MakeCp'
name = 'VASP'
version = '6.2.0'
versionsuffix = '-mkl=sequential'
homepage = 'http://www.vasp.at'
description = """The Vienna Ab initio Simulation Package (VASP) is a local_computer program for atomic scale
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
from first principles.
To use VASP, You need academic licenses from University of Wiena. Follow the instructions https://www.vasp.at/index.php/faqs.
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible to verify your licenses. After succesfull verification You will be granted to use VASP in our enviroment."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'usempi': True}
# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on
# how to get access to the code
sources = ['%(namelower)s.%(version)s.tgz']
prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && '
# Makefile uses LIBS as a list of folders
prebuildopts += 'unset LIBS && '
_targets = ['std', 'gam', 'ncl']
buildopts = '%s ' % ' '.join(_targets)
buildopts += 'FCL="$MPIF90" DEBUG="$FFLAGS" OFLAG="$FFLAGS" OFLAG_1="${FFLAGS/O2/O1}" OFLAG_2="$FFLAGS" '
buildopts += 'OFLAG_3="${FFLAGS/O2/O3}" CFLAGS_LIB="$CFLAGS" FFLAGS_LIB="$FFLAGS" BLAS="$LIBBLAS" '
buildopts += 'LAPACK="$LIBLAPACK" BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK"'
# https://www.vasp.at/wiki/index.php/Validation_tests
runtest = 'test'
parallel = 1
files_to_copy = [(['bin/vasp_' + x for x in _targets], 'bin')]
sanity_check_paths = {
'files': ['bin/vasp_' + x for x in _targets],
'dirs': []
}
modluafooter = 'add_property("state","license")'
moduleclass = 'phys'

View File

@ -0,0 +1,67 @@
# IT4Innovations 2021
# LK
easyblock = 'MakeCp'
name = 'VASP'
version = '6.2.1'
versionsuffix = '-mkl=sequential'
homepage = 'http://www.vasp.at'
description = """The Vienna Ab initio Simulation Package (VASP) is a local_computer program for atomic scale
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
from first principles.
To use VASP, You need academic licenses from University of Wiena. Follow the instructions https://www.vasp.at/index.php/faqs.
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible to verify your licenses. After succesfull verification You will be granted to use VASP in our enviroment."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'pic': True, 'usempi': True}
# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on
# how to get access to the code
sources = ['%(namelower)s.%(version)s.tgz']
prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && '
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts += 'sed -i "s|-xHOST|-march=core-avx2|" makefile.include && '
# path to libfftw3xf_intel.a is hardcoded in makefile.include
prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && '
# remove mkl flag to prevent mixing dynamic libs with the static libs in
# LIBBLACS/SCALAPACK
prebuildopts += 'sed -i "s|-mkl=sequential ||" makefile.include && '
# OFLAG = -O2 -xAVX
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O3 -ip -march=znver2|" makefile.include && '
# objects add MKLROOT
prebuildopts += 'sed -i "s|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o \$(MKLROOT)/lib/intel64_lin/libfftw3xf_intel.a|" makefile.include && '
prebuildopts += 'sed -i "s|FFLAGS = -assume byterecl -w|FFLAGS = -FR -assume byterecl|" makefile.include && '
prebuildopts += 'sed -i "s|BLAS =|BLAS = -mkl=sequential|" makefile.include && '
# VASP uses LIBS as a list of folders
prebuildopts += 'unset LIBS && '
#prebuildopts += 'exit 1'
buildopts = 'std gam ncl ' #BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK" '
parallel = 1
files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')]
sanity_check_paths = {
'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'],
'dirs': []
}
modluafooter = 'add_property("state","license")'
moduleclass = 'phys'

View File

@ -0,0 +1,39 @@
# IT4Innovations
# LK 2021
easyblock = 'CMakeMake'
name = "VirtualGL"
version = '2.6.5'
homepage = 'http://www.virtualgl.org'
description = """VirtualGL is an open source toolkit that gives any Unix or Linux remote display software the
ability to run OpenGL applications with full 3D hardware acceleration."""
# empty version to ensure that dependencies are loaded
toolchain = {'name': 'GCC', 'version': '10.3.0'}
sources = ['%(version)s.tar.gz']
source_urls = ['https://github.com/VirtualGL/virtualgl/archive']
dependencies = [
('Mesa', '21.1.1'),
('libjpeg-turbo', '2.0.6', '', True),
('libGLU', '9.0.1'),
# ('CUDA', '10.2.89', '', True),
]
builddependencies = [
('CMake', '3.20.1'),
]
#skipsteps = ['source', 'patch', 'prepare', 'configure', 'build', 'test']
configopts = "-DVGL_FAKEOPENCL=0"
sanity_check_paths = {
'files': ['bin/vglrun'],
'dirs': ['']
}
moduleclass = 'tools'

40
x/XZ/XZ-5.2.5.eb Normal file
View File

@ -0,0 +1,40 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'XZ'
version = '5.2.5'
homepage = 'https://tukaani.org/xz/'
description = "xz: XZ utilities"
toolchain = SYSTEM
source_urls = ['https://tukaani.org/xz/']
sources = [SOURCELOWER_TAR_BZ2]
patches = ['XZ-5.2.2_compat-libs.patch']
checksums = [
'5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df', # xz-5.2.5.tar.bz2
'578da3ea2ddb551972891a60fe31478b16a516d6ea8b6aa3af89e1d558adb703', # XZ-5.2.2_compat-libs.patch
]
builddependencies = [
# use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ)
('gettext', '0.21', '', True),
]
# may become useful in non-x86 archs
# configopts = ' --disable-assembler '
sanity_check_paths = {
'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'],
'dirs': []
}
sanity_check_commands = [
"xz --help",
"unxz --help",
]
moduleclass = 'tools'

View File

@ -41,7 +41,7 @@ buildopts = 'all'
parallel = 1
files_to_copy = [
(['bin/*'], 'bin'),
(['sbin/*'], 'bin'),
(['lib/*.a'], 'lib'),
(['include/*'], 'include'),
]