-
Notifications
You must be signed in to change notification settings - Fork 768
{math,data,chem}[lfoss/2025b] Add files for compiling QE with lfoss TC 2025b #24516
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
Draft
Crivella
wants to merge
6
commits into
easybuilders:develop
Choose a base branch
from
Crivella:feature-QE-lfoss_2025b
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.
+249
−0
Draft
Changes from 4 commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
6ad1e52
Add files for compiling QE with lfoss TC 2025b
Crivella b8e2eb9
Remove test CMD until tested
Crivella b63c447
Problem with CMake 4
Crivella f1e1625
Update easybuild/easyconfigs/e/ELPA/ELPA-2025.06.001-lfoss-2025b.eb
Crivella b65b6ab
Test removing `lld_undefined_version` and `optarch=GENERIC`
Crivella c23e7b7
Merge branch 'develop' of https://github.com/easybuilders/easybuild-e…
boegel 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
57 changes: 57 additions & 0 deletions
57
easybuild/easyconfigs/e/ELPA/ELPA-2025.06.001-lfoss-2025b.eb
This file contains hidden or 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,57 @@ | ||
| # # | ||
| # This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild | ||
| # | ||
| # Authors:: Inge Gutheil <[email protected]>, Alan O'Cais <[email protected]> | ||
| # License:: MIT/GPL | ||
| # | ||
| # # | ||
|
|
||
| name = 'ELPA' | ||
| version = '2025.06.001' | ||
|
|
||
| homepage = 'https://elpa.mpcdf.mpg.de/' | ||
| description = "Eigenvalue SoLvers for Petaflop-Applications." | ||
|
|
||
| toolchain = {'name': 'lfoss', 'version': '2025b'} | ||
| toolchainopts = { | ||
| 'openmp': True, 'usempi': True, | ||
| # libtool when run in `--mode=link` will prune the `-Wl,` prefix causing an unknown argument: '--undefined-version' | ||
| # when running mpifort with `flang` | ||
| 'lld_undefined_version': False, | ||
| # libtool runs a flang command to determine which flags to use. When `-march=native` is used this causes | ||
| # undesired output to be picked up by libtool, eg `-lwp` that then gets added to the link line and errors out due | ||
| # to an unknown library. Setting `optarch` to `GENERIC` avoids passing `-march=native`. | ||
| 'optarch': 'GENERIC', | ||
| } | ||
|
|
||
| source_urls = ['https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/new_release_%s/' % version] | ||
| sources = ['elpa-new_release_%(version)s.tar.gz'] | ||
| patches = [ | ||
| '%(name)s-2023.05.001_fix_hardcoded_perl_path.patch', | ||
| '%(name)s-2023.05.001_fix_AVX512_support.patch', | ||
| ] | ||
| checksums = [ | ||
| {'elpa-new_release_2025.06.001.tar.gz': '3246df23c0e3320a9127da9eb55b604361532027d0b1a84111c4e0d05e687588'}, | ||
| {'ELPA-2023.05.001_fix_hardcoded_perl_path.patch': | ||
| '0548105065777a2ed07dde306636251c4f96e555a801647564de37d1ddd7b0b5'}, | ||
| {'ELPA-2023.05.001_fix_AVX512_support.patch': 'ecf08b64fe1da432a218040fa45d4ecfbb3269d58cb018b12da5a2d854bf96be'}, | ||
| ] | ||
|
|
||
| builddependencies = [ | ||
| ('Autotools', '20250527'), | ||
| ('Python', '3.13.5'), | ||
| ('Perl', '5.40.2'), | ||
| ] | ||
|
|
||
| preconfigopts = './autogen.sh && export LDFLAGS="-lm $LDFLAGS" && autoreconf && ' | ||
|
|
||
| # See https://github.com/marekandreas/elpa/blob/master/documentation/INSTALL.md?plain=1#L600 | ||
| prebuildopts = 'sed -i \'s:\\\\$wl:-Wl,:g\' libtool && ' | ||
|
|
||
| # When building in parallel, the file test_setup_mpi.mod is sometimes | ||
| # used before it is built, leading to an error. This must be a bug in | ||
| # the makefile affecting parallel builds. | ||
| maxparallel = 1 | ||
|
|
||
|
|
||
| moduleclass = 'math' | ||
This file contains hidden or 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,54 @@ | ||
| easyblock = 'CMakeMake' | ||
|
|
||
| name = 'HDF5' | ||
| # Note: Odd minor releases are only RCs and should not be used. | ||
| version = '1.14.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': 'lompi', 'version': '2025b'} | ||
| toolchainopts = {'pic': True, 'usempi': True} | ||
|
|
||
| source_urls = ['https://github.com/HDFGroup/hdf5/archive'] | ||
| sources = ['hdf5_%(version)s.tar.gz'] | ||
| checksums = ['09ee1c671a87401a5201c06106650f62badeea5a3b3941e9b1e2e1e08317357f'] | ||
|
|
||
| builddependencies = [('CMake', '4.0.3')] | ||
|
|
||
| dependencies = [ | ||
| ('libaec', '1.1.4'), | ||
| ('Perl', '5.40.2'), | ||
| ('zlib', '1.3.1'), | ||
| ] | ||
|
|
||
| preconfigopts = 'export LDFLAGS="$LDFLAGS -pthread" && ' | ||
| preconfigopts += 'export RUNPARALLEL="mpirun -np $${NPROCS:=3}" && ' | ||
| configopts = ' '.join([ | ||
| '-DHDF5_BUILD_CPP_LIB=ON', | ||
| '-DHDF5_BUILD_FORTRAN=ON', | ||
| '-DHDF5_ENABLE_THREADSAFE=ON', | ||
| '-DALLOW_UNSUPPORTED=ON', # fortran+threadsafe requires unsupported | ||
| '-DHDF5_ENABLE_PARALLEL=ON', | ||
| ]) | ||
| # h5redeploy is shipped in 1.14.6 but not installed by CMake. This will be removed in a future HDF5 release. | ||
| postinstallcmds = [ | ||
| "cp ../hdf5*/bin/h5redeploy.in %(installdir)s/bin/h5redeploy && chmod +x %(installdir)s/bin/h5redeploy", | ||
| ] | ||
|
|
||
| _extra_binaries = ["h5perf", "h5pcc", "h5pfc", "ph5diff"] | ||
| _h5binaries = ["c++", "copy", "debug", "diff", "dump", "import", "jam", "ls", "mkgrp", "perf_serial", "redeploy", | ||
| "repack", "repart", "stat", "unjam"] | ||
| _binaries = ["h5%s" % x for x in _h5binaries] + _extra_binaries | ||
| _libs = ["libhdf5%s.%s" % (lib, SHLIB_EXT) for lib in ['', '_cpp', '_fortran', '_hl_cpp', '_hl', '_hl_fortran']] | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': [f"bin/{x}" for x in _binaries] + [f"lib/{lib}" for lib in _libs], | ||
| 'dirs': ['include'], | ||
| } | ||
|
|
||
| modextravars = {'HDF5_DIR': ''} | ||
|
|
||
| moduleclass = 'data' |
48 changes: 48 additions & 0 deletions
48
easybuild/easyconfigs/l/libxc/libxc-7.0.0-llvm-compilers-20.1.8.eb
This file contains hidden or 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,48 @@ | ||
| easyblock = 'CMakeMake' | ||
|
|
||
| name = 'libxc' | ||
| version = '7.0.0' | ||
|
|
||
| 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': 'llvm-compilers', 'version': '20.1.8'} | ||
|
|
||
| source_urls = ['https://gitlab.com/%(name)s/%(name)s/-/archive/%(version)s/'] | ||
| sources = [SOURCE_TAR_GZ] | ||
| checksums = ['8d4e343041c9cd869833822f57744872076ae709a613c118d70605539fb13a77'] | ||
|
|
||
| builddependencies = [ | ||
| ('CMake', '3.31.8'), | ||
| ('Perl', '5.40.2'), | ||
| ] | ||
|
|
||
| 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'] for y in ['a', SHLIB_EXT]], | ||
| 'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/Libxc'], | ||
| } | ||
|
|
||
| sanity_check_commands = ['xc-info 1'] | ||
|
|
||
| moduleclass = 'chem' |
99 changes: 99 additions & 0 deletions
99
easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-lfoss-2025b.eb
This file contains hidden or 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,99 @@ | ||
| name = 'QuantumESPRESSO' | ||
| version = '7.5' | ||
|
|
||
| homepage = 'https://www.quantum-espresso.org' | ||
| description = '''Quantum ESPRESSO is an integrated suite of computer codes | ||
| for electronic-structure calculations and materials modeling at the nanoscale. | ||
| It is based on density-functional theory, plane waves, and pseudopotentials | ||
| (both norm-conserving and ultrasoft). | ||
| ''' | ||
|
|
||
| toolchain = {'name': 'lfoss', 'version': '2025b'} | ||
|
|
||
| toolchainopts = { | ||
| 'usempi': True, | ||
| 'openmp': True, | ||
| } | ||
|
|
||
| # Check hashes inside external/submodule_commit_hash_records when making file for new version | ||
| _lapack_hash = '12d825396fcef1e0a1b27be9f119f9e554621e55' | ||
| _mbd_hash = '89a3cc199c0a200c9f0f688c3229ef6b9a8d63bd' | ||
| _devxlib_hash = 'a6b89ef77b1ceda48e967921f1f5488d2df9226d' | ||
| _fox_hash = '3453648e6837658b747b895bb7bef4b1ed2eac40' | ||
| # Different from the one at tag qe-7.5, see https://github.com/anharmonic/d3q/issues/30 | ||
| # Compiling on top of 168313d9 results in an undefined reference to `zgemm3m_` requires the commit after to work | ||
| _d3q_hash = 'fba772c180a8956227f0df077b841ec3039c610a' | ||
| _qe_gipaw_hash = '717e55c36f28c512d232321adb10d5a66d3e1072' | ||
| _qmcpack_hash = 'f72ab25fa4ea755c1b4b230ae8074b47d5509c70' | ||
| _w90_hash = '1d6b187374a2d50b509e5e79e2cab01a79ff7ce1' | ||
|
|
||
| sources = [ | ||
| { | ||
| 'filename': 'q-e-qe-%(version)s.tar.gz', | ||
| 'extract_cmd': 'mkdir -p %(builddir)s/qe-%(version)s && tar xzvf %s --strip-components=1 -C $_', | ||
| 'source_urls': ['https://gitlab.com/QEF/q-e/-/archive/qe-%(version)s'], | ||
| }, | ||
| ] | ||
| checksums = [ | ||
| {'q-e-qe-7.5.tar.gz': '7e1f7a9a21b63192f5135218bee20a5321b66582e4756536681b76e9c59b3cc8'}, | ||
| {'lapack-12d82539.tar.xz': '88aea5bca5e730e99fda0a5b9d677d6036c7dd82874e0deaed5cccef1f880111'}, | ||
| {'mbd-89a3cc19.tar.xz': 'd026bf0e9334874670a23cd854f445baac003d4f099afa46bab667bc67abb450'}, | ||
| {'devxlib-a6b89ef7.tar.xz': '0a9b7e5350f44017a2390c85176d1683c6ecec0e4b716a59d727f7650f16e807'}, | ||
| {'d3q-fba772c1.tar.xz': '184e1e171c34e4f30952c082c39c3fdab2b7a25b2f7cd19e522b55f45ac1215b'}, | ||
| {'fox-3453648e.tar.xz': 'c8c55cdf9eb2709aebac86a58f936480ee66438dffd3d65c6a35ca7771c031b3'}, | ||
| {'qe-gipaw-717e55c3.tar.xz': '10e1ec9cda0e5480f708c08ff65b216f7611b0378a225133116c5884b3424a33'}, | ||
| {'pw2qmcpack-f72ab25f.tar.xz': 'bc9513c4901ec2469d56b8a6b66f56878cb13e3bc7fbcdc5dba0ca6dad880ab9'}, | ||
| {'wannier90-1d6b1873.tar.xz': '351531aaf3434a9aac92d39ee40df5eb949aa27d14fcb93518bf08444478cd2a'}, | ||
| ] | ||
|
|
||
| _github_repos = [ | ||
| ('github', 'Reference-LAPACK', 'lapack', _lapack_hash, 'lapack'), | ||
| ('github', 'libmbd', 'libmbd', _mbd_hash, 'mbd'), | ||
| ('gitlab', 'max-centre/components', 'devicexlib', _devxlib_hash, 'devxlib'), | ||
| ('github', 'anharmonic', 'd3q', _d3q_hash, 'd3q'), | ||
| ('github', 'pietrodelugas', 'fox', _fox_hash, 'fox'), | ||
| ('github', 'dceresoli', 'qe-gipaw', _qe_gipaw_hash, 'qe-gipaw'), | ||
| ('github', 'QMCPACK', 'pw2qmcpack', _qmcpack_hash, 'pw2qmcpack'), | ||
| ('github', 'wannier-developers', 'wannier90', _w90_hash, 'wannier90'), | ||
| ] | ||
|
|
||
| for _provider, _owner, _repo, _commit, _name in _github_repos: | ||
| sources.append({ | ||
| 'filename': '%s-%s.tar.xz' % (_name, _commit[:8]), | ||
| 'git_config': { | ||
| 'url': f'https://{_provider}.com/{_owner}', | ||
| 'repo_name': _repo, | ||
| 'commit': _commit, | ||
| 'clone_into': _name, | ||
| }, | ||
| }) | ||
|
|
||
| builddependencies = [ | ||
| ('M4', '1.4.20'), | ||
| ('CMake', '3.31.8'), | ||
| ('pkgconf', '2.4.3'), | ||
| ] | ||
| dependencies = [ | ||
| ('HDF5', '1.14.6'), | ||
| ('ELPA', '2025.06.001'), | ||
| ('libxc', '7.0.0'), | ||
| ] | ||
|
|
||
| # Disabled because of | ||
| # https://gitlab.com/QEF/q-e/-/issues/667 | ||
| # https://github.com/anharmonic/d3q/issues/15 | ||
| build_shared_libs = False | ||
| with_scalapack = True | ||
| with_fox = True | ||
| with_gipaw = True | ||
| # Will hit a error: loc(".../7.5/lfoss-2023b/qe-7.5/external/d3q/src/d3_shuffle.f90":190:1): | ||
| # .../LLVM/20.1.5/GCCcore-13.2.0/llvm-project-20.1.5.src/flang/lib/Lower/CallInterface.cpp:1115: | ||
| # not yet implemented: VOLATILE in procedure interface | ||
| with_d3q = False | ||
| with_qmcpack = True | ||
|
|
||
| test_suite_threshold = 0.98 | ||
| test_suite_max_failed = 5 # Allow for some flaky tests (failed due to strict thresholds) | ||
| test_suite_allow_failures = [] | ||
|
|
||
| moduleclass = 'chem' |
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.