modified: a/Autoconf/Autoconf-2.69.eb

new file:   a/apptainer/apptainer-1.2.5.eb
	new file:   a/apptainer/apptainer-1.3.0.eb
	modified:   a/apptainer/apptainer-1.3.1.eb
	modified:   d/Dakota/Dakota-6.15.0-foss-2021b.eb
	modified:   d/Dakota/Dakota-6.15.0-intel-2021b.eb
	new file:   g/GSL/GSL-2.7-intel-compilers-2023.2.1.eb
	modified:   h/HDF5/HDF5-1.12.1-foss-2021b-parallel.eb
	new file:   h/htop/htop-3.3.0.eb
	new file:   l/libxc/libxc-6.2.2-intel-compilers-2023.2.1.eb
	new file:   n/netCDF-Fortran/netCDF-Fortran-4.6.1-iimpi-2023b.eb
	new file:   n/netCDF/netCDF-4.9.2-iimpi-2023b.eb
	new file:   o/Octopus/Octopus-14.1-intel-2023b-mpi.eb
	new file:   s/squashfs-tools/squashfs-tools-4.6.1.eb
	new file:   u/uncertainties/uncertainties-3.1.7-foss-2023b.eb
This commit is contained in:
Lukas Krupcik 2024-05-14 13:18:54 +02:00
parent 290e55b9fc
commit ba185e3268
15 changed files with 446 additions and 6 deletions

View File

@ -14,6 +14,7 @@ toolchain = SYSTEM
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969']
dependencies = [('M4', '1.4.18')]

View File

@ -0,0 +1,48 @@
# IT4Innovations
# LK 2024
# Dokoncit `make install` rucne, nejde bez ROOTa !!!
# /apps/all/apptainer/1.2.5/etc/apptainer/apptainer.conf nv=yes !!!
easyblock = 'ConfigureMake'
name = 'apptainer'
version = '1.2.5'
homepage = 'https://github.com/apptainer/apptainer'
description = "Apptainer is an open source container platform designed to be simple, fast, and secure. Many container platforms are available, but Apptainer is designed for ease-of-use on shared systems and in high performance computing (HPC) environments."
toolchain = SYSTEM
source_urls = ['https://github.com/apptainer/apptainer/releases/download/v%s/' % version]
sources = ['apptainer-%(version)s.tar.gz']
checksums = ['606b67ef97683e1420401718687d258b1034fdf2edae72eeacd0828dffbfc2c2']
builddependencies = [
('Go', '1.22.1'),
]
dependencies = [
('squashfs-tools', '4.3'),
]
osdependencies = [
('openssl-devel', 'libssl-dev', 'libopenssl-devel'),
]
skipsteps = ['configure']
prebuildopts = './mconfig --prefix=%(installdir)s --with-suid && '
buildopts = '-C ./builddir'
postinstallcmds = [
'echo "mksquashfs path = /apps/all/squashfs-tools/4.3/bin" >> %(installdir)s/etc/singularity/singularity.conf',
]
sanity_check_paths = {
'files': ['bin/apptainer'],
'dirs': ['bin', 'etc', 'libexec', 'var'],
}
moduleclass = 'tools'

View File

@ -0,0 +1,48 @@
# IT4Innovations
# LK 2024
# Dokoncit `make install` rucne, nejde bez ROOTa !!!
# /apps/all/apptainer/1.3.0/etc/apptainer/apptainer.conf nv=yes !!!
easyblock = 'ConfigureMake'
name = 'apptainer'
version = '1.3.0'
homepage = 'https://github.com/apptainer/apptainer'
description = "Apptainer is an open source container platform designed to be simple, fast, and secure. Many container platforms are available, but Apptainer is designed for ease-of-use on shared systems and in high performance computing (HPC) environments."
toolchain = SYSTEM
source_urls = ['https://github.com/apptainer/apptainer/releases/download/v%s/' % version]
sources = ['apptainer-%(version)s.tar.gz']
checksums = ['553731a0b4f166a8c5a675cfeee991310e55ad89187e22b80a79c298a749661f']
builddependencies = [
('Go', '1.22.1'),
]
dependencies = [
('squashfs-tools', '4.3'),
]
osdependencies = [
('openssl-devel', 'libssl-dev', 'libopenssl-devel'),
]
skipsteps = ['configure']
prebuildopts = './mconfig --prefix=%(installdir)s --with-suid && '
buildopts = '-C ./builddir'
postinstallcmds = [
'echo "mksquashfs path = /apps/all/squashfs-tools/4.3/bin" >> %(installdir)s/etc/singularity/singularity.conf',
]
sanity_check_paths = {
'files': ['bin/apptainer'],
'dirs': ['bin', 'etc', 'libexec', 'var'],
}
moduleclass = 'tools'

View File

@ -2,7 +2,7 @@
# LK 2024
# Dokoncit `make install` rucne, nejde bez ROOTa !!!
# /apps/all/apptainer/1.1.5/etc/apptainer/apptainer.conf nv=yes !!!
# /apps/all/apptainer/1.3.1/etc/apptainer/apptainer.conf nv=yes !!!
easyblock = 'ConfigureMake'
@ -24,7 +24,7 @@ builddependencies = [
]
dependencies = [
('squashfs-tools', '4.3'),
('squashfs-tools', '4.6.1'),
]
osdependencies = [

View File

@ -14,7 +14,10 @@ toolchainopts = {'pic': True, 'usempi': True, 'optarch': False}
sources = ['%(namelower)s-%(version)s-public-src-cli.tar.gz']
source_urls = ['https://dakota.sandia.gov/sites/default/files/distributions/public/']
checksums = ['47136b14a86143d0038735638da4578e']
checksums = [
'b6d971b7d6fe913aa64fef29cf8fcf55d0e5339f9f55fb164e3cc38716b48f61',
'6bc07bddfe1fa058184bab592b5a68db71c43f42662493b22417659cfbf0b701'
]
patches = ['Dakota-6.15.0-fix_lapack_detection.patch']
builddependencies = [('CMake', '3.21.1')]

View File

@ -14,7 +14,10 @@ toolchainopts = {'pic': True, 'usempi': True, 'opt': False}
sources = ['%(namelower)s-%(version)s-public-src-cli.tar.gz']
source_urls = ['https://dakota.sandia.gov/sites/default/files/distributions/public/']
checksums = ['47136b14a86143d0038735638da4578e']
checksums = [
'b6d971b7d6fe913aa64fef29cf8fcf55d0e5339f9f55fb164e3cc38716b48f61',
'6bc07bddfe1fa058184bab592b5a68db71c43f42662493b22417659cfbf0b701',
]
patches = ['Dakota-6.15.0-fix_lapack_detection.patch']
builddependencies = [('CMake', '3.21.1')]

View File

@ -0,0 +1,28 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'GSL'
version = '2.7'
homepage = 'https://www.gnu.org/software/gsl/'
description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers.
The library provides a wide range of mathematical routines such as random number generators, special functions
and least-squares fitting."""
toolchain = {'name': 'intel-compilers', 'version': '2023.2.1'}
toolchainopts = {'unroll': True, 'pic': True, 'optarch': 'march=core-avx2'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b']
sanity_check_paths = {
'files': ['bin/%s' % x for x in ['gsl-config', 'gsl-histogram', 'gsl-randist']] +
['include/gsl/gsl_types.h'] +
['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['gsl', 'gslcblas']],
'dirs': [],
}
moduleclass = 'numlib'

View File

@ -1,5 +1,5 @@
# IT4Innovations 2021
# LK
# IT4Innovations
# LK 2021
name = 'HDF5'
version = '1.12.1'
@ -15,6 +15,7 @@ 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 = ['79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca']
# AMD/intel cpu
import os

31
h/htop/htop-3.3.0.eb Normal file
View File

@ -0,0 +1,31 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'htop'
version = "3.3.0"
homepage = 'https://htop.dev'
description = """An interactive process viewer for Unix"""
toolchain = SYSTEM
github_account = 'htop-dev'
source_urls = [GITHUB_SOURCE]
sources = ['%(version)s.tar.gz']
checksums = ['1e5cc328eee2bd1acff89f860e3179ea24b85df3ac483433f92a29977b14b045']
dependencies = [
('ncurses', '6.4'),
]
preconfigopts = 'LIBS="$LIBS -ltinfo" && ./autogen.sh && '
sanity_check_paths = {
'files': ['bin/htop'],
'dirs': ['share'],
}
moduleclass = 'tools'

View File

@ -0,0 +1,57 @@
# IT4Innovations
# lK 2024
easyblock = 'CMakeMake'
name = 'libxc'
version = '6.2.2'
homepage = 'https://libxc.gitlab.io'
description = """Libxc is a library of exchange-correlation functionals for density-functional theory.
The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals."""
toolchain = {'name': 'intel-compilers', 'version': '2023.2.1'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'opt': True, 'optarch': 'march=core-avx2'}
else:
toolchainopts = {'opt': True}
source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/']
sources = [SOURCE_TAR_GZ]
checksums = [('d1b65ef74615a1e539d87a0e6662f04baf3a2316706b4e2e686da3193b26b20f',
'3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc')]
builddependencies = [
('CMake', '3.27.6'),
('Perl', '5.38.0'),
]
local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_XHOST=OFF "
# don't disable building of third and fourth derivates, since it's required by some software that depends on libxc
# (like ABINIT, which requires "3rd derivatives of energy")
# see also https://github.com/pyscf/pyscf/issues/1103
local_common_configopts += "-DDISABLE_KXC=OFF -DDISABLE_LXC=OFF"
# perform iterative build to get both static and shared libraries
configopts = [
local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF',
local_common_configopts + ' -DBUILD_SHARED_LIBS=ON',
]
# make sure that built libraries (libxc*.so*) in build directory are picked when running tests
# this is required when RPATH linking is used
pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && "
runtest = 'test'
sanity_check_paths = {
'files': ['bin/xc-info'] +
['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]],
'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/Libxc'],
}
sanity_check_commands = ['xc-info 1']
moduleclass = 'chem'

View File

@ -0,0 +1,35 @@
# IT4Innovations
# LK 2024
name = 'netCDF-Fortran'
version = '4.6.1'
homepage = 'https://www.unidata.ucar.edu/software/netcdf/'
description = """NetCDF (network Common Data Form) is a set of software libraries
and machine-independent data formats that support the creation, access, and sharing of array-oriented
scientific data."""
toolchain = {'name': 'iimpi', 'version': '2023b'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'usempi': True, 'opt': True, 'optarch': 'march=core-avx2'}
else:
toolchainopts = {'usempi': True, 'opt': True}
source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['40b534e0c81b853081c67ccde095367bd8a5eead2ee883431331674e7aa9509f']
builddependencies = [
('M4', '1.4.19'),
]
dependencies = [
('netCDF', '4.9.2'),
('bzip2', '1.0.8'),
]
# (too) parallel build fails, but single-core build is fairly quick anyway (~1min)
parallel = 1
moduleclass = 'data'

View File

@ -0,0 +1,68 @@
# IT4Innovations
# LK 2024
name = 'netCDF'
version = '4.9.2'
homepage = 'https://www.unidata.ucar.edu/software/netcdf/'
description = """NetCDF (network Common Data Form) is a set of software libraries
and machine-independent data formats that support the creation, access, and sharing of array-oriented
scientific data."""
toolchain = {'name': 'iimpi', 'version': '2023b'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'usempi': True, 'opt': True, 'optarch': 'march=core-avx2'}
else:
toolchainopts = {'usempi': True, 'opt': True}
source_urls = ['https://github.com/Unidata/netcdf-c/archive/']
sources = ['v%(version)s.tar.gz']
patches = [
'netCDF-4.9.0_skip-nasa-test.patch',
]
checksums = [
{'v4.9.2.tar.gz': 'bc104d101278c68b303359b3dc4192f81592ae8640f1aee486921138f7f88cb7'},
'19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a', # netCDF-4.9.0_skip-nasa-test.patch
]
builddependencies = [
('Autotools', '20220317'),
('CMake', '3.27.6'),
('Doxygen', '1.9.8'),
]
dependencies = [
('HDF5', '1.14.3'),
('cURL', '8.3.0'),
('Szip', '2.1.1'),
('zstd', '1.5.5'),
('bzip2', '1.0.8'),
('libxml2', '2.11.5'),
]
# disable Szip, zlib parallel I/O tests, since these can hang on some systems, e.g. generoso
# see: https://github.com/easybuilders/easybuild-easyconfigs/pull/16834
# and https://github.com/easybuilders/easybuild-easyconfigs/pull/17107#issuecomment-1432947172
# and https://github.com/easybuilders/easybuild-easyconfigs/pull/18523#issuecomment-1675313158
preconfigopts = ("sed -i -e 's|@MPIEXEC@ -n 16 ./tst_parallel3|echo \"skipped by EasyBuild\"|g'"
" -e 's|@MPIEXEC@ -n 4 ./tst_parallel5|echo \"skipped by EasyBuild\"|g'"
" -e 's|@MPIEXEC@ -n 4 ./tst_parallel_zlib|echo \"skipped by EasyBuild\"|g'"
" -e 's|@MPIEXEC@ -n 4 ./tst_parallel_compress|echo \"skipped by EasyBuild\"|g'"
" %(builddir)s/%(namelower)s-c-%(version)s/nc_test4/run_par_test.sh.in &&")
# make sure both static and shared libs are built
# and disable "remote" tests that access a unreliable external test server over internet
configopts = [
"-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF",
"-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=ON",
]
buildopts = 'CFLAGS="-O3 -fPIC"'
# some tests try to start 16 MPI ranks, so we need to allow oversubscription to avoid failing tests
pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 "
runtest = 'test'
moduleclass = 'data'

View File

@ -0,0 +1,61 @@
# IT4Innovation
# LK 202m
easyblock = 'ConfigureMake'
name = 'Octopus'
version = '14.1'
versionsuffix = '-mpi'
homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Main_Page'
description = """Octopus is a scientific program aimed at the ab initio virtual experimentation
on a hopefully ever-increasing range of system types. Electrons are described quantum-mechanically
within density-functional theory (DFT), in its time-dependent form (TDDFT) when doing simulations
in time. Nuclei are described classically as point particles.
Electron-nucleus interaction is described within the pseudopotential approximation."""
toolchain = {'name': 'intel', 'version': '2023b'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'usempi': True, 'opt': True, 'optarch': 'march=core-avx2'}
else:
toolchainopts = {'usempi': True, 'opt': True}
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && "
sources = [SOURCELOWER_TAR_GZ]
source_urls = ['https://octopus-code.org/download/%(version)s/']
checksums = ['6955f4020e69f038650a24509ff19ef35de4fd34e181539f92fa432db9b66ca7']
builddependencies = [
('Bison', '3.8.2'),
('Perl', '5.38.0'),
]
dependencies = [
('libxc', '6.2.2'),
('netCDF', '4.9.2'),
('netCDF-Fortran', '4.6.1'),
('FFTW', '3.3.10', '', ('GCC', '13.2.0')),
('GSL', '2.7'),
]
configopts = 'FC="mpiifort" FCFLAGS="-O2 -march=core-avx2" --disable-openmp --enable-mpi --enable-newuoa --disable-python --disable-gdlib '
configopts += '--with-libxc-prefix=$EBROOTLIBXC --with-gsl-prefix=$EBROOTGSL '
configopts += '--with-blas="-L$BLAS_LIB_DIR $LIBBLAS" '
configopts += '--with-blacs="$MKLROOT/lib/intel64/libmkl_blacs_intelmpi_lp64.a" '
configopts += '--with-scalapack="$MKLROOT/lib/intel64/libmkl_scalapack_lp64.a" '
configopts += '--with-netcdf-prefix=$EBROOTNETCDFMINFORTRAN '
#configopts += '--with-etsf-io-prefix=$EBROOTETSF_IO '
#configopts += '--with-pfft-prefix=$EBROOTPFFT --with-mpifftw-prefix=$EBROOTFFTW '
# approx. 8/228 checks fail
#runtest = 'MPIEXEC=`which mpirun` check'
#sanity_check_paths = {
# 'files': ["bin/octopus_mpi"],
# 'dirs': []
#}
moduleclass = 'chem'

View File

@ -0,0 +1,29 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'squashfs-tools'
version = '4.6.1'
homepage = 'http://squashfs.sourceforge.net/'
description = """Squashfs is a local_compressed read-only filesystem for Linux."""
toolchain = SYSTEM
source_urls = ['https://github.com/plougher/squashfs-tools/archive/refs/tags/']
sources = ['%(version)s.tar.gz']
checksums = ['94201754b36121a9f022a190c75f718441df15402df32c2b520ca331a107511c']
skipsteps = ['configure']
start_dir = 'squashfs-tools'
prebuildopts = 'sed -i "s|INSTALL_PREFIX = /usr/local|INSTALL_PREFIX = %(installdir)s|g" Makefile && '
sanity_check_paths = {
'files': ['bin/mksquashfs', 'bin/unsquashfs'],
'dirs': [],
}
moduleclass = 'devel'

View File

@ -0,0 +1,27 @@
# IT4Innovations
# LK 2024
easyblock = 'PythonPackage'
name = 'uncertainties'
version = '3.1.7'
homepage = 'http://uncertainties-python-package.readthedocs.io'
description = """Transparent calculations with uncertainties on the quantities involved (aka error propagation);
fast calculation of derivatives"""
toolchain = {'name': 'foss', 'version': '2023b'}
dependencies = [
('Python', '3.11.5'),
('SciPy-bundle', '2023.11'),
]
sources = [SOURCE_TAR_GZ]
checksums = ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab']
use_pip = True
download_dep_fail = True
sanity_pip_check = True
moduleclass = 'lib'