Skip to content

[CP2K] [package list]

CP2K/2026.2-cpeGNU-26.03-CPU (CP2K-2026.2-cpeGNU-26.03-CPU.eb)

Install with the EasyBuild-user module:

eb CP2K-2026.2-cpeGNU-26.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 CP2K/2026.2-cpeGNU-26.03-CPU.

EasyConfig:

# contributed by Luca Marsella (CSCS)
# modified for LUMI-G by Peter Larsson
# Updated to version 2024.2 by Radim Janalik (CSCS)
# Updated to toolchain 25.03 by Tor SKovsgaard (DeiC)
# Updated to 26.03 by Kurt Lust
#
#DOC CP2K 2026.2 release built with the CMake build system and shared libraries.
#
easyblock = 'CMakeMake'

# Dependencies from the central stack
local_GSL_version =          '2.8'           # https://ftp.gnu.org/gnu/gsl/
# Dependencies from the user-installable recipes
local_ELPA_version =         '2026.02.002'   # Moved to contrib
local_Libint_CP2K_version  = '2.13.1'        # Not always the newest as CP2K testers use an even older version...
local_libvori_version =      '220621'        # https://brehm-research.de/libvori.php
local_libxc7_version =       '7.0.0'         # https://gitlab.com/libxc/libxc/-/releases
local_libxsmm2_version =     '2.0.0'         # https://github.com/libxsmm/libxsmm/releases
local_libxs_version =        '1.0.0'         # https://github.com/hfp/libxs/releases
local_DBCSR_version =        '2.10.0'        # https://github.com/cp2k/dbcsr/releases
local_spglib_version =       '2.7.0'         # https://github.com/spglib/spglib/tags
local_COSMA28_version =      '2.8.4'         # https://github.com/eth-cscs/COSMA/releases
local_PLUMED2_10_version =   '2.10.1'        # https://github.com/plumed/plumed2/releases

name =           'CP2K'
version =        '2026.2'
version_suffix = '-CPU'

local_archfile_version = ''.join(version.split('.'))

homepage = 'http://www.cp2k.org/'

whatis = [
    'Description: CP2K is a program to perform atomistic and molecular '
    'simulations of solid state, liquid, molecular and biological systems.'
]

description = """
CP2K is a freely available (GPL) program, written in Fortran 95, to
perform atomistic and molecular simulations of solid state, liquid,
molecular and biological systems. It provides a general framework for
different methods such as e.g. density functional theory (DFT) using a
mixed Gaussian and plane waves approach (GPW), and classical pair and
many-body potentials.
"""

toolchain = {'name': 'cpeGNU', 'version': '26.03'}
toolchain_opts = {'openmp': True, 'usempi': True}

source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s']
sources =     [SOURCELOWER_TAR_BZ2]
checksums =   ['f9bd86f580f57a53a0768c0045d1417f9f9a1d66d851ed7f662f496200043373']

patches = [
    (f'LUMIC-{local_archfile_version}.psmp', '%(builddir)s/%(namelower)s-%(version)s/arch')
]

build_deps = [
    ('buildtools', '%(toolchain_version)s', '', SYSTEM),
]

deps = [
    ('cray-fftw',          EXTERNAL_MODULE),
    ('cray-hdf5-parallel', EXTERNAL_MODULE),
    ('ELPA',        local_ELPA_version,        version_suffix),
    ('COSMA',       local_COSMA28_version,     f'{version_suffix}-shared'),
    ('GSL',         local_GSL_version,         '-OpenMP'),
    ('Libint-CP2K', local_Libint_CP2K_version, '-lmax-6'),
    ('libvori',     local_libvori_version),
    ('libxc',       local_libxc7_version,       '-FHC'),
    ('libxsmm',     local_libxsmm2_version),
    ('libxs',       local_libxs_version),
    ('DBCSR',       local_DBCSR_version,       '-OpenMP-MPI'),
    ('spglib',      local_spglib_version,      '-OpenMP'),
    ('PLUMED',      local_PLUMED2_10_version,  '-noPython'),
]

configure_opts = ' '.join([
    '-DBUILD_SHARED_LIBS=ON',
    '-DCP2K_BLAS_VENDOR=SCI',
    '-DCP2K_SCALAPACK_VENDOR=SCI',
    '-DCP2K_USE_EVERYTHING=OFF', # We prefer to turn on dependencies rather than turn off.
    '-DCP2K_USE_MPI=ON',
    '-DCP2K_USE_FFTW3=ON',
    '-DCP2K_USE_HDF5=ON',
    '-DCP2K_USE_LIBINT2=ON',
    '-DCP2K_USE_LIBXC=ON',
    '-DCP2K_USE_LIBXS=ON',
    '-DCP2K_USE_LIBXSMM=ON',
    '-DCP2K_USE_SPGLIB=ON',
    '-DCP2K_USE_VORI=ON',
    '-DCP2K_USE_COSMA=ON',
    '-DCP2K_USE_ELPA=ON',
    '-DCP2K_USE_PLUMED=ON',
])

post_install_cmds = [
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cd ../%(namelower)s-%(version)s && cp LICENSE README.md %(installdir)s/share/licenses/%(name)s',   
]

sanity_check_paths = {
    'files': ['bin/%(namelower)s.psmp', f'lib/libcp2k.{SHLIB_EXT}.{version}', 'include/cp2k/libcp2k.h'],
    'dirs':  [],
}

sanity_check_cmds = [
    'pkg-config --validate libcp2k',
    f'pkg-config --exact-version={version} libcp2k',
    # Check if all shared libraries are found.
    'ldd cp2k.psmp | grep -q "not found"; [ $? -eq 1 ]',
]

# set custom CP2K_DATA_DIR
env_mod_extra_vars = {
    'CP2K_DATA_DIR': '%(installdir)s/data'
}

env_mod_category = 'chem'

[CP2K] [package list]