-
Notifications
You must be signed in to change notification settings - Fork 710
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
PetrKralCZ
wants to merge
1
commit into
easybuilders:develop
Choose a base branch
from
PetrKralCZ:20250108143049_new_pr_WIEN2k241
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
34 changes: 34 additions & 0 deletions
34
easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2023a.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
easyblock = 'MakeCp' | ||
|
||
name = 'DFT-D3' | ||
version = '3.2.0' | ||
|
||
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', '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 | ||
# reason, it is suggested to manually download and rename the tarball. The | ||
# 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 | ||
prebuildopts = "sed -i 's/OSTYPE=LINUXL/OSTYPE=LINUXI/' Makefile && " | ||
|
||
files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')] | ||
|
||
sanity_check_paths = { | ||
'files': ['bin/dftd3'], | ||
'dirs': [], | ||
} | ||
|
||
sanity_check_commands = ['dftd3'] | ||
|
||
moduleclass = 'chem' |
19 changes: 19 additions & 0 deletions
19
easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-iimpi-2023a.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
name = 'FFTW.MPI' | ||
version = '3.3.10' | ||
|
||
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': 'iimpi', 'version': '2023a'} | ||
toolchainopts = {'pic': True} | ||
|
||
source_urls = [homepage] | ||
sources = ['fftw-%(version)s.tar.gz'] | ||
checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] | ||
|
||
dependencies = [('FFTW', '3.3.10')] | ||
|
||
runtest = 'check' | ||
|
||
moduleclass = 'numlib' |
26 changes: 26 additions & 0 deletions
26
easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-intel-compilers-2023.1.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name = 'FFTW' | ||
version = '3.3.10' | ||
|
||
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': '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' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
name = 'WIEN2k' | ||
version = '24.1' | ||
|
||
homepage = 'http://www.wien2k.at/' | ||
description = """The program package WIEN2k allows to perform electronic structure calculations of solids | ||
using density functional theory (DFT). It is based on the full-potential (linearized) augmented plane-wave | ||
((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': '2023a'} | ||
|
||
sources = ['%(name)s_%(version)s.tar'] | ||
patches = [ | ||
'WIEN2k-23.2_fix_libxc_for_lapw0_mpi.patch', | ||
'WIEN2k-23.2_fix_system_stderr_redirection.patch', | ||
] | ||
checksums = [ | ||
{'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.11.3'), | ||
('Perl', '5.36.1'), | ||
('DFT-D3', '3.2.0'), | ||
('ELPA', '2023.05.001'), | ||
('FFTW.MPI', '3.3.10'), | ||
('libxc', '6.2.2'), | ||
] | ||
|
||
osdependencies = [ | ||
('glibc-devel', 'libc6-dev'), # required for libpthread. | ||
('tcsh') | ||
] | ||
|
||
# remote = 'pbsssh' | ||
# If using a Slurm batch system it is highly recommended to use | ||
# 'srun -n_NP_ _EXEC_' for wien_mpirun | ||
wien_mpirun = 'mpirun -np _NP_ _EXEC_' | ||
use_remote = False | ||
mpi_remote = False | ||
wien_granularity = True | ||
taskset = 'no' | ||
|
||
# Change as needed, these are the defaults | ||
# nmatmax = 19000 | ||
# nume = 6000 | ||
|
||
fix_perl_shebang_for = [ | ||
'iniel_pressure_in2reader.pl_lapw', | ||
'iniel_pressure_reader.pl_lapw', | ||
'setrmt_lapw', | ||
'elast_setup_input.pl_lapw', | ||
'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 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.0', | ||
r'^:FGL001.*\s+[0.]+\s+[0.]+\s+[0.]+\s+total forces', | ||
r'^:FGL002.*133.*total forces', | ||
]), | ||
] | ||
|
||
moduleclass = 'chem' |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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...
There was a problem hiding this comment.
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.