Skip to content

[CP2K] [package list]

CP2K/2024.1-cpeGNU-23.09-rocm (CP2K-2024.1-cpeGNU-23.09-rocm.eb)

Install with the EasyBuild-user module:

eb CP2K-2024.1-cpeGNU-23.09-rocm.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider CP2K/2024.1-cpeGNU-23.09-rocm.

EasyConfig:

# contributed by Luca Marsella (CSCS)
# modified for LUMI-G by Peter Larsson
# Updated to version 2024.1 by Radim Janalik (CSCS)
#
#DOC CP2K 2024.1 release compiled with AMD GPU support enabled for CP2K 
#DOC itself and several of the libraries (SpFFT, SpLA). Cray Programming 
#DOC Environment 23.09.
easyblock = 'MakeCp'

local_ELPA_version         = '2023.05.001'
local_Libint_CP2K_version  = '2.6.0'
local_libvori_version      = '220621'
local_libxc_version        = '6.2.2'
local_libxsmm_version      = '1.17'
local_spglib_version       = '1.16.3'
local_COSMA_version        = '2.6.6'
local_SPLA_version         = '1.5.5'
local_SpFFT_version        = '1.0.6'
local_GSL_version          = '2.7.1'

name = 'CP2K'
version = '2024.1'
versionsuffix = '-rocm'

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

source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s']
sources = [SOURCELOWER_TAR_BZ2]
checksums = ['a7abf149a278dfd5283dc592a2c4ae803b37d040df25d62a5e35af5c4557668f']
patches = [
    ('LUMIG-20241.psmp', '%(builddir)s/%(namelower)s-%(version)s/arch')
]

builddependencies = [
    ('buildtools', '%(toolchain_version)s', '', True),
]

dependencies = [
    ('cray-fftw',   EXTERNAL_MODULE),
    ('cray-hdf5',   EXTERNAL_MODULE),
    ('rocm',        EXTERNAL_MODULE),
    ('ELPA',        local_ELPA_version,  '-CPU'),
    ('COSMA',       local_COSMA_version, versionsuffix),
    ('SPLA',        local_SPLA_version,  versionsuffix),
    ('SpFFT',       local_SpFFT_version, versionsuffix),
    ('GSL',         local_GSL_version,   '-OpenMP'),
    ('Libint-CP2K', local_Libint_CP2K_version),
    ('libvori',     local_libvori_version),
    ('libxc',       local_libxc_version),
    ('libxsmm',     local_libxsmm_version),
    ('spglib',      local_spglib_version),
]

buildopts = "ARCH=LUMIG-20241 VERSION=psmp"

files_to_copy = [
    (['./arch/LUMIG-20241.psmp'], 'arch'),
    (['./exe/LUMIG-20241/*'], 'bin'),
    (['./data'], '.'),
    (['./tests'], '.'),
    (['./tools'], '.')
]

sanity_check_paths = {
    'files': ['arch/LUMIG-20241.psmp', 'bin/%(namelower)s.psmp'],
    'dirs': ['data', 'tests'],
}

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

moduleclass = 'chem'

[CP2K] [package list]