diff --git a/d/DFT-D4/DFT-D4-3.2.0-remove_module_id.patch b/d/DFT-D4/DFT-D4-3.2.0-remove_module_id.patch new file mode 100644 index 00000000..85a7da6c --- /dev/null +++ b/d/DFT-D4/DFT-D4-3.2.0-remove_module_id.patch @@ -0,0 +1,26 @@ +# The separate mod directory isn't helpful for a EB install since we install a unique version per compiler anyway. +# The pkg-config file can just include one path anyway +# so separating out the (compiler specific) mod files won't help either way. +# Author: mikael.ohman@chalmers.se +--- meson.build.orig 2021-05-10 23:11:21.509151845 +0200 ++++ meson.build 2021-05-10 23:32:55.890484048 +0200 +@@ -79,17 +79,16 @@ + dftd4_header, + ) + +- module_id = meson.project_name() / fc_id + '-' + fc.version() + meson.add_install_script( + find_program(files('config'/'install-mod.py')), +- get_option('includedir') / module_id, ++ get_option('includedir'), + ) + + pkg = import('pkgconfig') + pkg.generate( + dftd4_lib, + description: 'Generally Applicable Atomic-Charge Dependent London Dispersion Correction', +- subdirs: ['', module_id], ++ subdirs: [''], + ) + + asciidoc = find_program('asciidoctor', required: false) diff --git a/d/DFT-D4/DFT-D4-3.6.0-intel-2022b-Python-3.10.8.eb b/d/DFT-D4/DFT-D4-3.6.0-intel-2022b-Python-3.10.8.eb new file mode 100644 index 00000000..38c53a60 --- /dev/null +++ b/d/DFT-D4/DFT-D4-3.6.0-intel-2022b-Python-3.10.8.eb @@ -0,0 +1,46 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'MesonNinja' + +name = 'DFT-D4' +version = '3.6.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dftd4' +description = """Generally Applicable Atomic-Charge Dependent London Dispersion Correction.""" + +toolchain = {'name': 'intel', 'version': '2022b'} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2', 'pic': True} +else: + toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://github.com/dftd4/dftd4/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = ['DFT-D4-3.2.0-remove_module_id.patch'] +checksums = [ + '0e3e8d5f9e9e5414b9979967c074c953706053832e551d922c27599e7324bace', # v3.6.0.tar.gz + '8c3c81338cb57972580e4cf3db307aa2e44b8b3f6d1ba7ae24fa9d807490a93b', # DFT-D4-3.2.0-remove_module_id.patch +] + +builddependencies = [ + ('Ninja', '1.11.1'), + ('Meson', '0.64.0'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +configopts = '-Dpython=true -Dfortran_link_args=-qopenmp -Dapi_v2=true' + +sanity_check_paths = { + 'files': ['bin/dftd4', 'lib/libdftd4.a', 'lib/libdftd4.%s' % SHLIB_EXT, 'include/dftd4.mod'], + 'dirs': [], +} + +sanity_check_commands = ["dftd4 --version"] + +moduleclass = 'chem' diff --git a/d/DFTB+/DFTB+-21.1-intel-2020b-Python-3.8.6-karolina.eb b/d/DFTB+/DFTB+-21.1-intel-2020b-Python-3.8.6-karolina.eb index e619bf9d..35ca47cd 100644 --- a/d/DFTB+/DFTB+-21.1-intel-2020b-Python-3.8.6-karolina.eb +++ b/d/DFTB+/DFTB+-21.1-intel-2020b-Python-3.8.6-karolina.eb @@ -44,6 +44,11 @@ sources = [ 'extract_cmd': local_external_extract % ('slakos', 'slakos'), }, ] +checksums = [ + '31d5a488843a05d8589a375307a2832c1fc938f9f7d830c45a062726659e7b0a', + '9b64193368a13ae7c238399da8be2b3730a0f3273f9bf6c8054b2ff57d748823' +] + builddependencies = [ ('CMake', '3.18.4'), diff --git a/d/DFTB+/DFTB+-21.2-intel-2020b-TB.eb b/d/DFTB+/DFTB+-21.2-intel-2020b-TB.eb index d39235d5..aee4f2aa 100644 --- a/d/DFTB+/DFTB+-21.2-intel-2020b-TB.eb +++ b/d/DFTB+/DFTB+-21.2-intel-2020b-TB.eb @@ -47,6 +47,10 @@ sources = [ builddependencies = [ ('CMake', '3.18.4'), ] +checksums = [ + 'e73aa698ff951b59f7fe2ea027b292bae16abf545c9fdbb11b5b5127f04a3c10', + '9b64193368a13ae7c238399da8be2b3730a0f3273f9bf6c8054b2ff57d748823' +] dependencies = [ # ('Python', '3.8.6'), diff --git a/f/Forge/Forge-23.0.2.eb b/f/Forge/Forge-23.0.2.eb new file mode 100644 index 00000000..009c67f3 --- /dev/null +++ b/f/Forge/Forge-23.0.2.eb @@ -0,0 +1,49 @@ +# IT4Innovations +# !!! --include-easyblocks /apps/easybuild/it4i-easyblocks/easyblocks/a/allineabase.py !!! +# LK 2023 + +easyblock = 'AllineaBase' + +name = 'Forge' +version = "23.0.2" + +homepage = 'http://www.allinea.com/products/develop-allinea-forge' +description = """Allinea Forge is the local_complete toolsuite for software development +- with everything needed to debug, profile, optimize, edit and build C, C++ +and FORTRAN applications on Linux for high performance - from single threads through +to local_complex parallel HPC codes with MPI, OpenMP, threads or CUDA. +""" + +toolchain = SYSTEM + +source_urls = [ + # Use manually downloaded sources + # http://content.allinea.com/downloads/allinea-reports-latest-Redhat-6.0-x86_64.tar + # and rename it to format %(namelower)s-%(version)s.tar, so + # forge-7.0.4.tar. +] +sources = ['linaro-forge-%(version)s-linux-x86_64.tar'] +checksums = ['565f0c073c6c8cbb06c062ca414e3f6ff8c6ca6797b03d247b030a9fbc55a5b1'] + +skipsteps = ['configure', 'build'] + +postinstallcmds = [ + 'ln -s /apps/licenses/Arm/Licence %(installdir)s/licences/Licence.16312', + 'ln -s /apps/licenses/PerformanceReports/Licence %(installdir)s/licences/Licence.16313', +] + +sanity_check_paths = { + 'files': [ + 'bin/ddt-client', + 'bin/map', + 'bin/ddt', + #'bin/ddt-debugger', + #'bin/ddt-debugger-ll', + #'bin/ddt-debugger-mps', + 'bin/ddt-mpirun', + 'bin/forge', + 'bin/make-profiler-libraries'], + 'dirs': ['lib'], +} + +moduleclass = 'debugger' diff --git a/l/LAPACK/LAPACK-3.10.0-GCC-12.2.0.eb b/l/LAPACK/LAPACK-3.10.0-GCC-12.2.0.eb new file mode 100644 index 00000000..07830611 --- /dev/null +++ b/l/LAPACK/LAPACK-3.10.0-GCC-12.2.0.eb @@ -0,0 +1,19 @@ +# IT4Innovations +# LK 2023 + +name = 'LAPACK' +version = '3.10.0' + +homepage = 'https://www.netlib.org/lapack/' +description = """LAPACK is written in Fortran90 and provides routines for solving systems of + simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue + problems, and singular value problems.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Reference-LAPACK/lapack/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['328c1bea493a32cac5257d84157dc686cc3ab0b004e2bea22044e0a59f6f8a19'] + +moduleclass = 'numlib' diff --git a/p/PyTorch/PyTorch-1.11.0-fosscuda-2020b.eb b/p/PyTorch/PyTorch-1.11.0-fosscuda-2020b.eb index b195ac4d..daee76ef 100644 --- a/p/PyTorch/PyTorch-1.11.0-fosscuda-2020b.eb +++ b/p/PyTorch/PyTorch-1.11.0-fosscuda-2020b.eb @@ -35,7 +35,7 @@ patches = [ 'PyTorch-1.11.0_disable_failing_jit_cuda_fuser_tests.patch', ] checksums = [ - None, # can't add proper SHA256 checksum, because source tarball is created locally after recursive 'git clone' + 'c5bf5b9e24f3884335c9e30878a763ec31e1ed429904d966c07265b86a16ba7b', # can't add proper SHA256 checksum, because source tarball is created locally after recursive 'git clone' 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch '89ac7a8e9e7df2e64cf8404fe3a279f5e9b759fee41c9de3aaff9c22f385c2c6', # PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch @@ -70,7 +70,7 @@ dependencies = [ ('protobuf', '3.14.0'), ('protobuf-python', '3.14.0'), ('pybind11', '2.6.0'), - ('SciPy-bundle', '2020.11'), +# ('SciPy-bundle', '2020.11'), ('typing-extensions', '3.7.4.3'), ('PyYAML', '5.3.1'), ('MPFR', '4.1.0'), diff --git a/v/VASP/VASP-6.2.0-intel-2020b.eb b/v/VASP/VASP-6.2.0-intel-2020b.eb index e8b9f879..1204b99a 100644 --- a/v/VASP/VASP-6.2.0-intel-2020b.eb +++ b/v/VASP/VASP-6.2.0-intel-2020b.eb @@ -25,6 +25,14 @@ sources = ['%(namelower)s.%(version)s.tgz'] prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && ' +# DFTD4 +prebuildopts += 'echo "#DFTD4"' +prebuildopts += 'echo "CPP_OPTIONS += -DDFTD4 " >> makefile.include && ' +prebuildopts += 'echo "DFTD4_ROOT ?= /path/to/your/dft4/installation" >> makefile.include && ' +prebuildopts += 'echo "LLIBS += -L$(DFTD4_ROOT)/build -ldftd4" >> makefile.include && ' +prebuildopts += 'echo "INCS += -I$(DFTD4_ROOT)/libdftd4.a.p" >> makefile.include && ' + + # Makefile uses LIBS as a list of folders prebuildopts += 'unset LIBS && ' diff --git a/v/VASP/VASP-6.4.2-intel-2022b-DFT-D4.eb b/v/VASP/VASP-6.4.2-intel-2022b-DFT-D4.eb new file mode 100644 index 00000000..3364ef9f --- /dev/null +++ b/v/VASP/VASP-6.4.2-intel-2022b-DFT-D4.eb @@ -0,0 +1,70 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'MakeCp' + +name = 'VASP' +version = '6.4.2' +versionsuffix = "-DFT-D4" + +homepage = 'http://www.vasp.at' +docurls = 'https://www.vasp.at/wiki/index.php/The_VASP_Manual' +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 an academic license from University of Vienna. Follow the instructions at https://www.vasp.at/index.php/faqs. + +Please send us a list of authorized users and their IDs for which you need access (use only http://support.it4i.cz/rt). We are responsible for verifying your licenses.""" + +toolchain = {'name': 'intel', 'version': '2022b'} + +# 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'] +patches = ['VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch'] +checksums = [ + {'vasp.%(version)s.tgz': 'b704637f7384673f91adfbc803edc5cc7fe736d9623453461f7cdc29b123410e'}, + {'VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch': + 'dfc717642ae2ce9b04ed78439fc4d1072dc0d08df4aca2da881b944f2e75625e'}, +] + +# use serial compilation of W90, see https://www.vasp.at/wiki/index.php/Makefile.include#Wannier90_.28optional.29 +# Important: In case of Wannier90 3.x, you should compile a serial version by removing COMMS=mpi in the make.inc of Wannier90. +dependencies = [ + ('HDF5', '1.14.0'), + ('Wannier90', '3.1.0', '-serial'), + ('DFT-D4', '3.6.0', '-Python-3.10.8'), +] + +prebuildopts = 'cp arch/makefile.include.intel ./makefile.include && ' + +# DFTD4 +prebuildopts += 'echo "" >> makefile.include &&' +prebuildopts += 'echo "#DFTD4" >> makefile.include && ' +prebuildopts += 'echo "CPP_OPTIONS += -DDFTD4 " >> makefile.include && ' +prebuildopts += 'echo "DFTD4_ROOT ?= $EBROOTDFTMIND4 " >> makefile.include && ' +prebuildopts += 'echo "LLIBS += $( shell pkg-config --libs dftd4) -ldftd4 " >> makefile.include && ' +prebuildopts += 'echo "INCS += $( shell pkg-config ---flags dftd4)" >> makefile.include && ' + +# AMD/Intel CPU switch - We set xHost by default; change it to -march=core-avx2 when necessary +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + prebuildopts += 'sed -i "s|-xHOST|-march=core-avx2|" makefile.include && ' + prebuildopts += 'sed -i "s|-march=xHost|-march=core-avx2|" makefile.include && ' + +# VASP uses LIBS as a list of folders +prebuildopts += 'unset LIBS && ' + +buildopts = 'std gam ncl ' + +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 = 'chem' diff --git a/w/Wannier90/Wannier90-3.1.0-intel-2022b-serial.eb b/w/Wannier90/Wannier90-3.1.0-intel-2022b-serial.eb new file mode 100644 index 00000000..e076adfc --- /dev/null +++ b/w/Wannier90/Wannier90-3.1.0-intel-2022b-serial.eb @@ -0,0 +1,39 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '3.1.0' +versionsuffix = '-serial' + +homepage = 'http://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'intel', 'version': '2022b'} +toolchainopts = {'usempi': True} + +github_account = 'wannier-developers' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +patches = ['Wannier90_3x_ignore_makeinc.patch'] +checksums = [ + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz + '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch +] + +buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" ' +buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' + +# compile serial version for use with VASP per +# https://www.vasp.at/wiki/index.php/Makefile.include#Wannier90_.28optional.29 +#buildopts += 'COMMS=mpi' + +files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')] + +sanity_check_paths = { + 'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'], + 'dirs': [] +} + +moduleclass = 'chem'