Siesta/5.4.2-cpeGNU-25.03-rocm (Siesta-5.4.2-cpeGNU-25.03-rocm.eb)
Install with the EasyBuild-user module:
To access module help after installation and get reminded for which stacks and partitions the module is installed, usemodule spider Siesta/5.4.2-cpeGNU-25.03-rocm.
EasyConfig:
# Updated from 4.1.5 for LUMI/24.03 to 5.4.2 for LUMI/25.03 by Tor Skovsgaard (DeiC)
#
#DOC Checksums for Siesta seem to be a bit unreliable. If you get a checksum error,
#DOC you may want to use the `--ignore-checksums` option of EasyBuild. It looks like
#DOC sometimes changes happen in the repository without changing the version number.
#DOC
#DOC Siesta 5.4.2 for LUMI/25.03 sometimes fails finding libfdf when building.
#DOC Rerunning the easybuild install usually fixes this. This could be a timing-related
#DOC error but it is also a strange thing as a good installation process shouldn't be
#DOC looking for other software anymore in the install phase, but do so in the configure
#DOC phase.
easyblock = 'CMakeMake'
local_METIS_version = '5.1.0'
local_ELPA_version = '2025.06.001'
local_SCALAPACK_version = '5.1'
local_libxc_version = '7.0.0'
name = 'Siesta'
version = '5.4.2'
versionsuffix = '-rocm'
homepage = 'https://siesta-project.org/siesta/'
whatis = [
'Description: SIESTA is both a method and its computer program implementation, to perform ' +
'efficient electronic structure calculations and ab initio molecular dynamics ' +
'simulations of molecules and solids.'
]
description = """
SIESTA is both a method and its computer program implementation, to perform
efficient electronic structure calculations and ab initio molecular dynamics
simulations of molecules and solids.
"""
docurls = [
'Web-based documentation on https://docs.siesta-project.org/'
]
toolchain = {'name': 'cpeGNU', 'version': '25.03'}
toolchainopts = {'usempi': True, 'precise': True, 'openmp': False}
# https://gitlab.com/siesta-project/siesta/-/releases/5.4.2/downloads/siesta-5.4.2.tar.gz
source_urls = ['https://gitlab.com/siesta-project/siesta/-/releases/%(version)s/downloads/']
sources = [SOURCELOWER_TAR_GZ]
patches = [
('arch_make_5.4.2.patch', 1),
]
checksums = [
{'siesta-5.4.2.tar.gz': '9cd855bd2702b69785588931aa06e4c1b1036f11b5ef7b01ecc29a7218a38d3f'},
{'arch_make_5.4.2.patch': '21cd8d60793752764069014c7718a78971730b4f1a08468c3eed518a5ff41fc5'},
]
dependencies = [
('cray-hdf5', EXTERNAL_MODULE),
('cray-netcdf', EXTERNAL_MODULE),
('cray-parallel-netcdf', EXTERNAL_MODULE),
('cray-fftw', EXTERNAL_MODULE),
('METIS', local_METIS_version),
('ELPA', local_ELPA_version, versionsuffix),
('libxc', local_libxc_version, '-FHC'),
]
configopts = ' '.join( [
'-DSIESTA_WITH_IPO=ON',
'-DSIESTA_WITH_MPI=ON',
'-DMPI_Fortran_COMPILER=ftn',
'-DBLAS_LIBRARY=NONE',
'-DLAPACK_LIBRARY=NONE',
'-DSCALAPACK_LIBRARY=NONE',
])
postinstallcmds = [
'mkdir -p %(installdir)s/share/licenses/%(name)s && cd ../siesta-%(version)s/ && ' +
'cp COPYING AUTHORS NOTICE.txt README.md %(installdir)s/share/licenses/%(name)s'
]
sanity_check_paths = {
'files': ['bin/siesta'],
'dirs': ['bin'],
}
moduleclass = 'phys'