Skip to content

[QuantumESPRESSO] [package list]

QuantumESPRESSO/7.5-cpeGNU-25.03-CPU (QuantumESPRESSO-7.5-cpeGNU-25.03-CPU.eb)

Install with the EasyBuild-user module:

eb QuantumESPRESSO-7.5-cpeGNU-25.03-CPU.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider QuantumESPRESSO/7.5-cpeGNU-25.03-CPU.

EasyConfig:

easyblock = 'CMakeMake'

name =          'QuantumESPRESSO'
version =       '7.5'
versionsuffix = '-CPU'

homepage = 'https://www.quantum-espresso.org'

whatis = [
    'Description: QuantumESPRESSO is a suite of codes for electronic structure calculations based on DFT, plane wave and pseudopotentials'    
]

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': 'cpeGNU', 'version': '25.03'}
toolchainopts = {'usempi': True, 'openmp': True}

# Details taken from https://github.com/easybuilders/easybuild-easyconfigs/blob/develop/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.5-foss-2025b.eb
# Check hashes inside external/submodule_commit_hash_records when making file for new version
# _lapack_hash = '12d825396fcef1e0a1b27be9f119f9e554621e55'   # should not use this one I guess
_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'},
    {'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', '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 = [
    ('buildtools', '', '%(toolchain_version)s', True),
]

dependencies = [
    ('cray-hdf5-parallel', EXTERNAL_MODULE),
    ('cray-fftw',          EXTERNAL_MODULE),
    ('ELPA',               '2025.06.001', '-CPU'),
    ('libxc',              '7.0.0', '-FHC'),
]

local_submodules = [
    'mbd', 'devxlib', 'fox', 'd3q', 'qe-gipaw', 'pw2qmcpack', 'wannier90'
]

local_plugins = [
    'gipaw', 
    'd3q', 
    'pw2qmcpack'
]

preconfigopts = ''
for local_submod in local_submodules:
    preconfigopts += f'mv %(builddir)s/{local_submod} %(builddir)s/qe-{version}/external && '

configopts = ' '.join([
    '-DQE_ENABLE_MPI=ON',
    '-DQE_ENABLE_OPENMP=ON',
    '-DQE_ENABLE_CUDA=OFF',
    '-DQE_ENABLE_OPENACC=OFF',
    '-DQE_ENABLE_SCALAPACK=ON',
    '-DSCALAPACK_LIBRARIES="-lm"',
    '-DQE_ENABLE_FOX=ON',
    '-DQE_ENABLE_HDF5=ON',
    '-DQE_ENABLE_LIBXC=ON',
    '-DQE_ENABLE_ELPA=ON',
    '-DQE_ENABLE_PLUGINS="%s"' % ';'.join(local_plugins),
    '-DQE_CLOCK_SECONDS=ON',
    '-DBUILD_SHARED_LIBS=OFF',
])

# Uncomment the next line for debug purposes.
#maxparallel = 1

postinstallcmds = [
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cd %(start_dir)s && cp License README.md %(installdir)s/share/licenses/%(name)s',
]

sanity_check_paths = {
    'files': ['bin/pw.x'],
    'dirs':  [''],
}

moduleclass = 'chem'

[QuantumESPRESSO] [package list]