Skip to content

{chem}[NVHPC/25.3] QuantumESPRESSO v7.5#24960

Closed
PetrKralCZ wants to merge 2 commits intoeasybuilders:developfrom
PetrKralCZ:20251223081424_new_pr_QuantumESPRESSO75
Closed

{chem}[NVHPC/25.3] QuantumESPRESSO v7.5#24960
PetrKralCZ wants to merge 2 commits intoeasybuilders:developfrom
PetrKralCZ:20251223081424_new_pr_QuantumESPRESSO75

Conversation

@PetrKralCZ
Copy link
Collaborator

@PetrKralCZ PetrKralCZ commented Dec 23, 2025

(created using eb --new-pr)
This is basically the easyconfig from #14908
with updated version and NVHPC/25.3 used as a toolchain.
The build succeeds like this but I am not really sure about the hardcoded local_CUDA_... staff and the commented out dependencies.

@github-actions
Copy link

github-actions bot commented Dec 23, 2025

Updated software QuantumESPRESSO-7.5-NVHPC-25.3.eb

Diff against QuantumESPRESSO-7.5-lfoss-2025b.eb

easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-lfoss-2025b.eb

diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-lfoss-2025b.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-NVHPC-25.3.eb
index 6ad8a6dd97..205d5b60c0 100644
--- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-lfoss-2025b.eb
+++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-NVHPC-25.3.eb
@@ -1,99 +1,68 @@
+easyblock = 'ConfigureMake'
 name = 'QuantumESPRESSO'
 version = '7.5'
-
+# local_NVHPC_ver = '22.1'
+# versionsuffix = '-NVHPC-%s' % local_NVHPC_ver
 homepage = 'https://www.quantum-espresso.org'
-description = '''Quantum ESPRESSO  is an integrated suite of computer codes
+description = """Untested GPU build of Quantum ESPRESSO. 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,
-}
+"""
+local_CUDA_driver_version = '11.0'
+local_CUDA_cc = '70'
+local_CUDA_rt_version = '11.4.1'
 
-# 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'
+toolchain = {'name': 'NVHPC', 'version': '25.3'}
 
-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'],
-    },
+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'},
+sources = [
+    'q-e-qe-%(version)s.tar.gz',
 ]
+checksums = ['7e1f7a9a21b63192f5135218bee20a5321b66582e4756536681b76e9c59b3cc8']
 
-_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'),
-]
+# dependencies = [
+# Commenting ELPA and  libxc out for  now as the  toolchain  specific
+# version is not ready. QE will build   successfully witout them, but
+# probably missing  out on some  optimizations. This is only to allow
+# for a gradual support of the buggy NVHPC compilers
+#    ('ELPA', '2021.05.001','', True),
+#    ('libxc', '5.1.5', '', True)
+# ]
 
-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'),
-]
+# The third party packages like gipaw are disabled for now. To enable,
+# one  needs to perhaps customize the quantumespresso.py     easyblock
+# or create their own. Currently, I opted out  of the customized block
+# as it requires work to support more toolchains  due to the way it is
+# written. Now, this builds all QE suite.
+# buildopts = 'all gwl xspectra couple epw gipaw w90'
+
+configopts = 'CC=nvc '
+configopts += 'F90=nvfortran '
+configopts += 'MPIF90=mpif90 '
+
+# Reset  the  compiler  flags  as  the  ones  set  by easyconfig (thru
+# environment.py)  cause  the  build  to  break  at  some  point.  The
+# configure skips   -Mpreprocess flag if the CFLAGS and   FFLAGS   are
+# preset.  The  consequently  breaks  the  build,  hence,  the   reset
+configopts += 'F90FLAGS='' '
+configopts += 'CFLAGS='' '
+configopts += 'FFLAGS='' '
 
-# 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
+configopts += '--with-cuda-runtime=%s ' % local_CUDA_driver_version
+configopts += '--with-cuda-cc=%s' % local_CUDA_cc
 
-test_suite_threshold = 0.98
-test_suite_max_failed = 5  # Allow for some flaky tests (failed due to strict thresholds)
-test_suite_allow_failures = []
+buildopts = 'all'
+
+# parallel build tends to fail
+max_parallel = 1
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['bin'],
+}
 
 moduleclass = 'chem'
Diff against QuantumESPRESSO-7.5-foss-2025b.eb

easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-foss-2025b.eb

diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-foss-2025b.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-NVHPC-25.3.eb
index c3f68e1336..205d5b60c0 100644
--- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-foss-2025b.eb
+++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-NVHPC-25.3.eb
@@ -1,97 +1,68 @@
+easyblock = 'ConfigureMake'
 name = 'QuantumESPRESSO'
 version = '7.5'
-
+# local_NVHPC_ver = '22.1'
+# versionsuffix = '-NVHPC-%s' % local_NVHPC_ver
 homepage = 'https://www.quantum-espresso.org'
-description = '''Quantum ESPRESSO  is an integrated suite of computer codes
+description = """Untested GPU build of Quantum ESPRESSO. 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': 'foss', 'version': '2025b'}
-
-toolchainopts = {
-    'usempi': True,
-    'openmp': True,
-}
+"""
+local_CUDA_driver_version = '11.0'
+local_CUDA_cc = '70'
+local_CUDA_rt_version = '11.4.1'
 
-# 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'
+toolchain = {'name': 'NVHPC', 'version': '25.3'}
 
-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'],
-    },
+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'},
+sources = [
+    'q-e-qe-%(version)s.tar.gz',
 ]
+checksums = ['7e1f7a9a21b63192f5135218bee20a5321b66582e4756536681b76e9c59b3cc8']
 
-_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'),
-]
+# dependencies = [
+# Commenting ELPA and  libxc out for  now as the  toolchain  specific
+# version is not ready. QE will build   successfully witout them, but
+# probably missing  out on some  optimizations. This is only to allow
+# for a gradual support of the buggy NVHPC compilers
+#    ('ELPA', '2021.05.001','', True),
+#    ('libxc', '5.1.5', '', True)
+# ]
 
-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'),
-    ('Python', '3.13.5'),  # required for tests
-]
-dependencies = [
-    ('HDF5', '1.14.6'),
-    ('ELPA', '2025.06.001'),
-    ('libxc', '7.0.0'),
-]
+# The third party packages like gipaw are disabled for now. To enable,
+# one  needs to perhaps customize the quantumespresso.py     easyblock
+# or create their own. Currently, I opted out  of the customized block
+# as it requires work to support more toolchains  due to the way it is
+# written. Now, this builds all QE suite.
+# buildopts = 'all gwl xspectra couple epw gipaw w90'
+
+configopts = 'CC=nvc '
+configopts += 'F90=nvfortran '
+configopts += 'MPIF90=mpif90 '
+
+# Reset  the  compiler  flags  as  the  ones  set  by easyconfig (thru
+# environment.py)  cause  the  build  to  break  at  some  point.  The
+# configure skips   -Mpreprocess flag if the CFLAGS and   FFLAGS   are
+# preset.  The  consequently  breaks  the  build,  hence,  the   reset
+configopts += 'F90FLAGS='' '
+configopts += 'CFLAGS='' '
+configopts += 'FFLAGS='' '
 
-# 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
-with_d3q = True
-with_qmcpack = True
+configopts += '--with-cuda-runtime=%s ' % local_CUDA_driver_version
+configopts += '--with-cuda-cc=%s' % local_CUDA_cc
 
-test_suite_threshold = 0.98
-test_suite_max_failed = 5  # Allow for some flaky tests (failed due to strict thresholds)
-test_suite_allow_failures = []
+buildopts = 'all'
+
+# parallel build tends to fail
+max_parallel = 1
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['bin'],
+}
 
 moduleclass = 'chem'
Diff against QuantumESPRESSO-7.5-foss-2025a.eb

easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-foss-2025a.eb

diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-foss-2025a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-NVHPC-25.3.eb
index fe1c39910e..205d5b60c0 100644
--- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-foss-2025a.eb
+++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-NVHPC-25.3.eb
@@ -1,97 +1,68 @@
+easyblock = 'ConfigureMake'
 name = 'QuantumESPRESSO'
 version = '7.5'
-
+# local_NVHPC_ver = '22.1'
+# versionsuffix = '-NVHPC-%s' % local_NVHPC_ver
 homepage = 'https://www.quantum-espresso.org'
-description = '''Quantum ESPRESSO  is an integrated suite of computer codes
+description = """Untested GPU build of Quantum ESPRESSO. 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': 'foss', 'version': '2025a'}
-
-toolchainopts = {
-    'usempi': True,
-    'openmp': True,
-}
+"""
+local_CUDA_driver_version = '11.0'
+local_CUDA_cc = '70'
+local_CUDA_rt_version = '11.4.1'
 
-# 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'
+toolchain = {'name': 'NVHPC', 'version': '25.3'}
 
-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'],
-    },
+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'},
+sources = [
+    'q-e-qe-%(version)s.tar.gz',
 ]
+checksums = ['7e1f7a9a21b63192f5135218bee20a5321b66582e4756536681b76e9c59b3cc8']
 
-_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'),
-]
+# dependencies = [
+# Commenting ELPA and  libxc out for  now as the  toolchain  specific
+# version is not ready. QE will build   successfully witout them, but
+# probably missing  out on some  optimizations. This is only to allow
+# for a gradual support of the buggy NVHPC compilers
+#    ('ELPA', '2021.05.001','', True),
+#    ('libxc', '5.1.5', '', True)
+# ]
 
-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.19'),
-    ('CMake', '3.31.3'),
-    ('pkgconf', '2.3.0'),
-    ('Python', '3.13.1'),  # required for tests
-]
-dependencies = [
-    ('HDF5', '1.14.6'),
-    ('ELPA', '2025.01.002'),
-    ('libxc', '7.0.0'),
-]
+# The third party packages like gipaw are disabled for now. To enable,
+# one  needs to perhaps customize the quantumespresso.py     easyblock
+# or create their own. Currently, I opted out  of the customized block
+# as it requires work to support more toolchains  due to the way it is
+# written. Now, this builds all QE suite.
+# buildopts = 'all gwl xspectra couple epw gipaw w90'
+
+configopts = 'CC=nvc '
+configopts += 'F90=nvfortran '
+configopts += 'MPIF90=mpif90 '
+
+# Reset  the  compiler  flags  as  the  ones  set  by easyconfig (thru
+# environment.py)  cause  the  build  to  break  at  some  point.  The
+# configure skips   -Mpreprocess flag if the CFLAGS and   FFLAGS   are
+# preset.  The  consequently  breaks  the  build,  hence,  the   reset
+configopts += 'F90FLAGS='' '
+configopts += 'CFLAGS='' '
+configopts += 'FFLAGS='' '
 
-# 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
-with_d3q = True
-with_qmcpack = True
+configopts += '--with-cuda-runtime=%s ' % local_CUDA_driver_version
+configopts += '--with-cuda-cc=%s' % local_CUDA_cc
 
-test_suite_threshold = 0.98
-test_suite_max_failed = 5  # Allow for some flaky tests (failed due to strict thresholds)
-test_suite_allow_failures = []
+buildopts = 'all'
+
+# parallel build tends to fail
+max_parallel = 1
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['bin'],
+}
 
 moduleclass = 'chem'

@PetrKralCZ PetrKralCZ marked this pull request as draft December 23, 2025 07:15
@PetrKralCZ
Copy link
Collaborator Author

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

@PetrKralCZ: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=24960 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_24960 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9278

Test results coming soon (I hope)...

Details

- notification for comment with ID 3685532259 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@PetrKralCZ
Copy link
Collaborator Author

Test report by @PetrKralCZ
SUCCESS
Build succeeded for 1 out of 1 (total: 30 mins 45 secs) (1 easyconfigs in total)
node4011.donphan.os - Linux RHEL 9.6, x86_64, Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz, 1 x NVIDIA NVIDIA A2, 580.95.05, Python 3.9.21
See https://gist.github.com/PetrKralCZ/10e5d5cf2359b836a5a568b44a82a824 for a full test report.

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 3 out of 3 (total: 1 hour 4 mins 4 secs) (1 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.23
See https://gist.github.com/boegelbot/5e2cc1745a89e518ba578d7123938de0 for a full test report.

@@ -0,0 +1,68 @@
easyblock = 'ConfigureMake'
Copy link
Member

Choose a reason for hiding this comment

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

I'll look into getting rid of this, so the custom easyblock we have for QuantumESPRESSO is being used

Comment on lines +12 to +14
local_CUDA_driver_version = '11.0'
local_CUDA_cc = '70'
local_CUDA_rt_version = '11.4.1'
Copy link
Collaborator

Choose a reason for hiding this comment

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

Any reason why we force CUDA 11.4.1 and sm_70?

@Crivella
Copy link
Contributor

@pavelToman
Copy link
Collaborator

Closed this one in favor of #25125

@pavelToman pavelToman closed this Jan 22, 2026
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.

6 participants