Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{chem,numlib}[intel/2023a] WIEN2k v24.1, DFT-D3 v3.2.0, FFTW.MPI v3.3.10, ... #22133

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

PetrKralCZ
Copy link
Collaborator

@PetrKralCZ PetrKralCZ commented Jan 8, 2025

(created using eb --new-pr)
resolves vscentrum/vsc-software-stack#455

…23a.eb, FFTW.MPI-3.3.10-iimpi-2023a.eb, FFTW-3.3.10-intel-compilers-2023.1.0.eb
Copy link

github-actions bot commented Jan 8, 2025

Updated software DFT-D3-3.2.0-intel-2023a.eb

Diff against DFT-D3-3.2.0-intel-compilers-2022.2.1.eb

easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2022.2.1.eb

diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2023a.eb
index 60c33ea0a8..eac91b100f 100644
--- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2022.2.1.eb
+++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2023a.eb
@@ -7,9 +7,12 @@ homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'
 description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical
  quantum chemical methods."""
 
-toolchain = {'name': 'intel-compilers', 'version': '2022.2.1'}
+toolchain = {'name': 'intel', 'version': '2023a'}
 
 source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3']
+sources = [{'download_filename': 'dftd3.tgz', 'filename': SOURCELOWER_TGZ}]
+checksums = ['d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59']
+
 # Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version
 # numbering. Also, the authors are prone (alas) to stealth upgrades, so that two
 # tarballs with the same version number can have different checksums. For this
@@ -17,9 +20,6 @@ source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3']
 # checksum may also need updating from time to time.
 # Checksum last updated: 20 September 2018
 # Date tarball was reported to have been modified: 14 June 2016
-sources = [{'download_filename': 'dftd3.tgz', 'filename': SOURCELOWER_TGZ}]
-checksums = ['d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59']
-
 prebuildopts = "sed -i 's/OSTYPE=LINUXL/OSTYPE=LINUXI/' Makefile && "
 
 files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')]
Diff against DFT-D3-3.2.0-intel-compilers-2021.4.0.eb

easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.4.0.eb

diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2023a.eb
index 2ef036162c..eac91b100f 100644
--- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.4.0.eb
+++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2023a.eb
@@ -7,9 +7,12 @@ homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'
 description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical
  quantum chemical methods."""
 
-toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'}
+toolchain = {'name': 'intel', 'version': '2023a'}
 
 source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3']
+sources = [{'download_filename': 'dftd3.tgz', 'filename': SOURCELOWER_TGZ}]
+checksums = ['d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59']
+
 # Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version
 # numbering. Also, the authors are prone (alas) to stealth upgrades, so that two
 # tarballs with the same version number can have different checksums. For this
@@ -17,9 +20,6 @@ source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3']
 # checksum may also need updating from time to time.
 # Checksum last updated: 20 September 2018
 # Date tarball was reported to have been modified: 14 June 2016
-sources = [{'download_filename': 'dftd3.tgz', 'filename': SOURCELOWER_TGZ}]
-checksums = ['d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59']
-
 prebuildopts = "sed -i 's/OSTYPE=LINUXL/OSTYPE=LINUXI/' Makefile && "
 
 files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')]
Diff against DFT-D3-3.2.0-intel-compilers-2021.2.0.eb

easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.2.0.eb

diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2023a.eb
index 98c1e9d2d9..eac91b100f 100644
--- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.2.0.eb
+++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2023a.eb
@@ -7,9 +7,12 @@ homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'
 description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical
  quantum chemical methods."""
 
-toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'}
+toolchain = {'name': 'intel', 'version': '2023a'}
 
 source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3']
+sources = [{'download_filename': 'dftd3.tgz', 'filename': SOURCELOWER_TGZ}]
+checksums = ['d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59']
+
 # Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version
 # numbering. Also, the authors are prone (alas) to stealth upgrades, so that two
 # tarballs with the same version number can have different checksums. For this
@@ -17,9 +20,6 @@ source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3']
 # checksum may also need updating from time to time.
 # Checksum last updated: 20 September 2018
 # Date tarball was reported to have been modified: 14 June 2016
-sources = [{'download_filename': 'dftd3.tgz', 'filename': SOURCELOWER_TGZ}]
-checksums = ['d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59']
-
 prebuildopts = "sed -i 's/OSTYPE=LINUXL/OSTYPE=LINUXI/' Makefile && "
 
 files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')]
@@ -29,4 +29,6 @@ sanity_check_paths = {
     'dirs': [],
 }
 
+sanity_check_commands = ['dftd3']
+
 moduleclass = 'chem'

Updated software FFTW.MPI-3.3.10-iimpi-2023a.eb

Diff against FFTW.MPI-3.3.10-gompi-2024a.eb

easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024a.eb

diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024a.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-iimpi-2023a.eb
index 2ed420c412..edd9aa0119 100644
--- a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024a.eb
+++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-iimpi-2023a.eb
@@ -5,7 +5,7 @@ homepage = 'https://www.fftw.org'
 description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT)
 in one or more dimensions, of arbitrary input size, and of both real and complex data."""
 
-toolchain = {'name': 'gompi', 'version': '2024a'}
+toolchain = {'name': 'iimpi', 'version': '2023a'}
 toolchainopts = {'pic': True}
 
 source_urls = [homepage]
Diff against FFTW.MPI-3.3.10-gmpich-2024.06.eb

easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gmpich-2024.06.eb

diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gmpich-2024.06.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-iimpi-2023a.eb
index 4b79e9e7c2..edd9aa0119 100644
--- a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gmpich-2024.06.eb
+++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-iimpi-2023a.eb
@@ -5,7 +5,7 @@ homepage = 'https://www.fftw.org'
 description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT)
 in one or more dimensions, of arbitrary input size, and of both real and complex data."""
 
-toolchain = {'name': 'gmpich', 'version': '2024.06'}
+toolchain = {'name': 'iimpi', 'version': '2023a'}
 toolchainopts = {'pic': True}
 
 source_urls = [homepage]
Diff against FFTW.MPI-3.3.10-gompi-2024.05.eb

easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb

diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-iimpi-2023a.eb
index b6ab2a2d4f..edd9aa0119 100644
--- a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb
+++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-iimpi-2023a.eb
@@ -5,7 +5,7 @@ homepage = 'https://www.fftw.org'
 description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT)
 in one or more dimensions, of arbitrary input size, and of both real and complex data."""
 
-toolchain = {'name': 'gompi', 'version': '2024.05'}
+toolchain = {'name': 'iimpi', 'version': '2023a'}
 toolchainopts = {'pic': True}
 
 source_urls = [homepage]

Updated software FFTW-3.3.10-intel-compilers-2023.1.0.eb

Diff against FFTW-3.3.10-GCC-13.3.0.eb

easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.3.0.eb

diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.3.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-intel-compilers-2023.1.0.eb
index bf18544e70..79fb090b48 100644
--- a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.3.0.eb
+++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-intel-compilers-2023.1.0.eb
@@ -5,13 +5,22 @@ homepage = 'https://www.fftw.org'
 description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT)
 in one or more dimensions, of arbitrary input size, and of both real and complex data."""
 
-toolchain = {'name': 'GCC', 'version': '13.3.0'}
+toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'}
 toolchainopts = {'pic': True}
 
 source_urls = [homepage]
 sources = [SOURCELOWER_TAR_GZ]
 checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467']
 
+# no quad precision, requires GCC v4.6 or higher
+# see also
+# https://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html
+with_quad_prec = False
+
+# compilation fails on AMD systems when configuring with --enable-avx-128-fma,
+# because Intel compilers do not support FMA4 instructions
+use_fma4 = False
+
 runtest = 'check'
 
 moduleclass = 'numlib'
Diff against FFTW-3.3.10-GCC-13.2.0.eb

easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.2.0.eb

diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.2.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-intel-compilers-2023.1.0.eb
index 32652387f8..79fb090b48 100644
--- a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.2.0.eb
+++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-intel-compilers-2023.1.0.eb
@@ -5,13 +5,22 @@ homepage = 'https://www.fftw.org'
 description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT)
 in one or more dimensions, of arbitrary input size, and of both real and complex data."""
 
-toolchain = {'name': 'GCC', 'version': '13.2.0'}
+toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'}
 toolchainopts = {'pic': True}
 
 source_urls = [homepage]
 sources = [SOURCELOWER_TAR_GZ]
 checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467']
 
+# no quad precision, requires GCC v4.6 or higher
+# see also
+# https://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html
+with_quad_prec = False
+
+# compilation fails on AMD systems when configuring with --enable-avx-128-fma,
+# because Intel compilers do not support FMA4 instructions
+use_fma4 = False
+
 runtest = 'check'
 
 moduleclass = 'numlib'
Diff against FFTW-3.3.10-GCC-12.3.0.eb

easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-12.3.0.eb

diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-12.3.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-intel-compilers-2023.1.0.eb
index 4cc48a4800..79fb090b48 100644
--- a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-12.3.0.eb
+++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-intel-compilers-2023.1.0.eb
@@ -5,13 +5,22 @@ homepage = 'https://www.fftw.org'
 description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT)
 in one or more dimensions, of arbitrary input size, and of both real and complex data."""
 
-toolchain = {'name': 'GCC', 'version': '12.3.0'}
+toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'}
 toolchainopts = {'pic': True}
 
 source_urls = [homepage]
 sources = [SOURCELOWER_TAR_GZ]
 checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467']
 
+# no quad precision, requires GCC v4.6 or higher
+# see also
+# https://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html
+with_quad_prec = False
+
+# compilation fails on AMD systems when configuring with --enable-avx-128-fma,
+# because Intel compilers do not support FMA4 instructions
+use_fma4 = False
+
 runtest = 'check'
 
 moduleclass = 'numlib'

Updated software WIEN2k-24.1-intel-2023a.eb

Diff against WIEN2k-23.2-intel-2021b.eb

easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2-intel-2021b.eb

diff --git a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2-intel-2021b.eb b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-24.1-intel-2023a.eb
index 0dd0b641ce..5805e42863 100644
--- a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2-intel-2021b.eb
+++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-24.1-intel-2023a.eb
@@ -1,5 +1,5 @@
 name = 'WIEN2k'
-version = '23.2'
+version = '24.1'
 
 homepage = 'http://www.wien2k.at/'
 description = """The program package WIEN2k allows to perform electronic structure calculations of solids
@@ -7,32 +7,31 @@ using density functional theory (DFT). It is based on the full-potential (linear
 ((L)APW) + local orbitals (lo) method, one among the most accurate schemes for band structure calculations.
 WIEN2k is an all-electron scheme including relativistic effects and has many features."""
 
-toolchain = {'name': 'intel', 'version': '2021b'}
+toolchain = {'name': 'intel', 'version': '2023a'}
 
 sources = ['%(name)s_%(version)s.tar']
 patches = [
-    '%(name)s-%(version)s_fix_libxc_for_lapw0_mpi.patch',
-    '%(name)s-%(version)s_fix_system_stderr_redirection.patch',
+    'WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch',
+    'WIEN2k-23.2_fix_system_stderr_redirection.patch',
 ]
 checksums = [
-    '3a71565a4fb114a2f9af9a1710bd3160781a7566bb2746bef1ba8af372b4d7b0',  # WIEN2k_23.2.tar
-    '1cc480a4824d9185ad5918dfc68c47bcb7826114626c8133d573be901bbdca84',  # WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch
-    'eb3f987b1f839b9f10c315d3f7a57e181e46bc98bec3a18e5b9942689b75fcc7',
-    # WIEN2k-23.2_fix_system_stderr_redirection.patch
+    {'WIEN2k_24.1.tar': '15ccceea0fe64c2bb94b3e7252c36537c04c8fd7c0ae46367e837cedb5402713'},
+    {'WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch': '1cc480a4824d9185ad5918dfc68c47bcb7826114626c8133d573be901bbdca84'},
+    {'WIEN2k-23.2_fix_system_stderr_redirection.patch':
+     'eb3f987b1f839b9f10c315d3f7a57e181e46bc98bec3a18e5b9942689b75fcc7'},
 ]
 
-
 download_instructions = """
 WIEN2k can be ordered at http://susi.theochem.tuwien.ac.at/index.html.
 """
 
 dependencies = [
-    ('Python', '3.9.6'),
-    ('Perl', '5.34.0'),
+    ('Python', '3.11.3'),
+    ('Perl', '5.36.1'),
     ('DFT-D3', '3.2.0'),
-    ('ELPA', '2021.05.001'),
-    ('FFTW', '3.3.10'),
-    ('libxc', '5.1.6'),
+    ('ELPA', '2023.05.001'),
+    ('FFTW.MPI', '3.3.10'),
+    ('libxc', '6.2.2'),
 ]
 
 osdependencies = [
@@ -75,7 +74,7 @@ tests = [
      [
          r'^:ENE.*-4018.0',
          r'^:FGL001.*\s+[0.]+\s+[0.]+\s+[0.]+\s+total forces',
-         r'^:FGL002.*15.*total forces',
+         r'^:FGL002.*133.*total forces',
      ]),
 ]
 
Diff against WIEN2k-21.1-intel-2021b.eb

easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021b.eb

diff --git a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021b.eb b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-24.1-intel-2023a.eb
index 0a988032e8..5805e42863 100644
--- a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021b.eb
+++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-24.1-intel-2023a.eb
@@ -1,5 +1,5 @@
 name = 'WIEN2k'
-version = '21.1'
+version = '24.1'
 
 homepage = 'http://www.wien2k.at/'
 description = """The program package WIEN2k allows to perform electronic structure calculations of solids
@@ -7,18 +7,18 @@ using density functional theory (DFT). It is based on the full-potential (linear
 ((L)APW) + local orbitals (lo) method, one among the most accurate schemes for band structure calculations.
 WIEN2k is an all-electron scheme including relativistic effects and has many features."""
 
-toolchain = {'name': 'intel', 'version': '2021b'}
+toolchain = {'name': 'intel', 'version': '2023a'}
 
 sources = ['%(name)s_%(version)s.tar']
 patches = [
-    '%(name)s-%(version)s_fix_libxc_for_lapw0_mpi.patch',
-    '%(name)s-%(version)s_fix_system_stderr_redirection.patch',
+    'WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch',
+    'WIEN2k-23.2_fix_system_stderr_redirection.patch',
 ]
 checksums = [
-    '32590778440a9280322bf2dc0d63f4f42a9fc48814fa6b8b7ee2d199c94bed11',  # WIEN2k_21.1.tar
-    '1cc480a4824d9185ad5918dfc68c47bcb7826114626c8133d573be901bbdca84',  # WIEN2k-21.1_fix_libxc_for_lapw0_mpi.patch
-    # WIEN2k-21.1_fix_system_stderr_redirection.patch
-    'cdba467b0b6f2b310c2e1e2a3e6cabe75f8fd15ee0f7c14f8ef80c7e48073bdd',
+    {'WIEN2k_24.1.tar': '15ccceea0fe64c2bb94b3e7252c36537c04c8fd7c0ae46367e837cedb5402713'},
+    {'WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch': '1cc480a4824d9185ad5918dfc68c47bcb7826114626c8133d573be901bbdca84'},
+    {'WIEN2k-23.2_fix_system_stderr_redirection.patch':
+     'eb3f987b1f839b9f10c315d3f7a57e181e46bc98bec3a18e5b9942689b75fcc7'},
 ]
 
 download_instructions = """
@@ -26,17 +26,17 @@ WIEN2k can be ordered at http://susi.theochem.tuwien.ac.at/index.html.
 """
 
 dependencies = [
-    ('Python', '3.9.6'),
-    ('Perl', '5.34.0'),
+    ('Python', '3.11.3'),
+    ('Perl', '5.36.1'),
     ('DFT-D3', '3.2.0'),
-    ('ELPA', '2021.05.001'),
-    ('FFTW', '3.3.10'),
-    ('libxc', '5.1.6'),
+    ('ELPA', '2023.05.001'),
+    ('FFTW.MPI', '3.3.10'),
+    ('libxc', '6.2.2'),
 ]
 
 osdependencies = [
-    ('glibc-devel', 'libc6-dev'),  # required for libpthread.a
-    ('tcsh'),  # required by the installer
+    ('glibc-devel', 'libc6-dev'),  # required for libpthread.
+    ('tcsh')
 ]
 
 # remote = 'pbsssh'
@@ -60,17 +60,21 @@ fix_perl_shebang_for = [
     'bashtime2csh.pl_lapw',
 ]
 
+# skip running of serial/parallel benchmark, because links to download test_case.tar.gz and mpi-benchmark.tar.gz
+# from http://www.wien2k.at/reg_user/benchmark/ that are used by WIEN2k easyblock are broken...
+runtest = False
+
 tests = [
     # test case 1: NaCl
-    ('NaCl', '-b', '-i 3', [r'^:DIS.*0.1', r'^:ENE.*-1248.14']),
+    ('NaCl', '-b', '-i 100', [r'^:DIS.*0.1', r'^:ENE.*-1248.1']),
     # test case 2: TiO2
     ('TiO2',
      '-b -numk 1000 -rkmax 7.5',
      '-in1ef -cc 0.00001 -fc 0.5 -i 100',
      [
-         r'^:ENE.*-4018.07',
+         r'^:ENE.*-4018.0',
          r'^:FGL001.*\s+[0.]+\s+[0.]+\s+[0.]+\s+total forces',
-         r'^:FGL002.*15.*total forces',
+         r'^:FGL002.*133.*total forces',
      ]),
 ]
 
Diff against WIEN2k-21.1-intel-2021a.eb

easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021a.eb

diff --git a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021a.eb b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-24.1-intel-2023a.eb
index 1d4834be63..5805e42863 100644
--- a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021a.eb
+++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-24.1-intel-2023a.eb
@@ -1,5 +1,5 @@
 name = 'WIEN2k'
-version = '21.1'
+version = '24.1'
 
 homepage = 'http://www.wien2k.at/'
 description = """The program package WIEN2k allows to perform electronic structure calculations of solids
@@ -7,30 +7,37 @@ using density functional theory (DFT). It is based on the full-potential (linear
 ((L)APW) + local orbitals (lo) method, one among the most accurate schemes for band structure calculations.
 WIEN2k is an all-electron scheme including relativistic effects and has many features."""
 
-toolchain = {'name': 'intel', 'version': '2021a'}
+toolchain = {'name': 'intel', 'version': '2023a'}
 
 sources = ['%(name)s_%(version)s.tar']
 patches = [
-    '%(name)s-%(version)s_fix_libxc_for_lapw0_mpi.patch',
-    '%(name)s-%(version)s_fix_system_stderr_redirection.patch',
+    'WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch',
+    'WIEN2k-23.2_fix_system_stderr_redirection.patch',
 ]
 checksums = [
-    '32590778440a9280322bf2dc0d63f4f42a9fc48814fa6b8b7ee2d199c94bed11',  # WIEN2k_21.1.tar
-    '1cc480a4824d9185ad5918dfc68c47bcb7826114626c8133d573be901bbdca84',  # WIEN2k-21.1_fix_libxc_for_lapw0_mpi.patch
-    # WIEN2k-21.1_fix_system_stderr_redirection.patch
-    'cdba467b0b6f2b310c2e1e2a3e6cabe75f8fd15ee0f7c14f8ef80c7e48073bdd',
+    {'WIEN2k_24.1.tar': '15ccceea0fe64c2bb94b3e7252c36537c04c8fd7c0ae46367e837cedb5402713'},
+    {'WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch': '1cc480a4824d9185ad5918dfc68c47bcb7826114626c8133d573be901bbdca84'},
+    {'WIEN2k-23.2_fix_system_stderr_redirection.patch':
+     'eb3f987b1f839b9f10c315d3f7a57e181e46bc98bec3a18e5b9942689b75fcc7'},
 ]
 
+download_instructions = """
+WIEN2k can be ordered at http://susi.theochem.tuwien.ac.at/index.html.
+"""
+
 dependencies = [
-    ('Python', '3.9.5'),
-    ('Perl', '5.32.1'),
+    ('Python', '3.11.3'),
+    ('Perl', '5.36.1'),
     ('DFT-D3', '3.2.0'),
-    ('ELPA', '2021.05.001'),
-    ('FFTW', '3.3.9'),
-    ('libxc', '5.1.5'),
+    ('ELPA', '2023.05.001'),
+    ('FFTW.MPI', '3.3.10'),
+    ('libxc', '6.2.2'),
 ]
 
-osdependencies = [('glibc-devel', 'libc6-dev')]  # required for libpthread.a
+osdependencies = [
+    ('glibc-devel', 'libc6-dev'),  # required for libpthread.
+    ('tcsh')
+]
 
 # remote = 'pbsssh'
 # If using a Slurm batch system it is highly recommended to use
@@ -53,17 +60,21 @@ fix_perl_shebang_for = [
     'bashtime2csh.pl_lapw',
 ]
 
+# skip running of serial/parallel benchmark, because links to download test_case.tar.gz and mpi-benchmark.tar.gz
+# from http://www.wien2k.at/reg_user/benchmark/ that are used by WIEN2k easyblock are broken...
+runtest = False
+
 tests = [
     # test case 1: NaCl
-    ('NaCl', '-b', '-i 3', [r'^:DIS.*0.1', r'^:ENE.*-1248.14']),
+    ('NaCl', '-b', '-i 100', [r'^:DIS.*0.1', r'^:ENE.*-1248.1']),
     # test case 2: TiO2
     ('TiO2',
      '-b -numk 1000 -rkmax 7.5',
      '-in1ef -cc 0.00001 -fc 0.5 -i 100',
      [
-         r'^:ENE.*-4018.07',
+         r'^:ENE.*-4018.0',
          r'^:FGL001.*\s+[0.]+\s+[0.]+\s+[0.]+\s+total forces',
-         r'^:FGL002.*15.*total forces',
+         r'^:FGL002.*133.*total forces',
      ]),
 ]
 

Comment on lines +14 to +15
'WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch',
'WIEN2k-23.2_fix_system_stderr_redirection.patch',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For 21.1 and 23.2 the version number of the patch was updated with each version of WIEN2k even though the patches themselves did not change. Maybe it's a good idea to either stick with this convention, or possibly change it retroactively? In any case it does not make much sense to have a mismatch between the version number in the patch and the easyconfig.

Copy link
Member

@boegel boegel Jan 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As long as the patch still applies, there's no reason to introduce a copy of the patch.

We use that approach pretty consistently across easyconfig files...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, you're right, I guess it is the older configs that should be updated in a separate PR instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

WIEN2k 24.1
3 participants