Skip to content

[Siesta] [package list]

Siesta/5.4.2-cpeGNU-25.03-rocm (Siesta-5.4.2-cpeGNU-25.03-rocm.eb)

Install with the EasyBuild-user module:

eb Siesta-5.4.2-cpeGNU-25.03-rocm.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module 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'

[Siesta] [package list]