Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions easybuild/easyconfigs/c/CP2K/CP2K-2024.3-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name = 'CP2K'
version = '2024.3'

homepage = 'https://www.cp2k.org/'
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': 'foss', 'version': '2024a'}
toolchainopts = {'pic': True, 'openmp': True}

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

builddependencies = [
('flex', '2.6.4'),
('Bison', '3.8.2'),
]

dependencies = [
('Libint', '2.9.0', '-lmax-6-cp2k'),
('libxc', '6.2.2'),
('libvori', '220621'),
('FFTW', '3.3.10'),
('PLUMED', '2.9.3'),
]

if ARCH == 'x86_64':
# LIBXSMM is not supported supported on ARM with GCC 12.2.0 and 12.3.0
# see https://www.cp2k.org/dev:compiler_support
dependencies += [
('libxsmm', '1.17'),
]

type = 'psmp'

# regression test reports handful of failures,
# we're assuming those are OK to ignore...
ignore_regtest_fails = True

moduleclass = 'chem'
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# #
# This easyconfig is based on the easy config written originally by Robert Mijakovic <robert.mijakovic@lxp.lu>
# Author: Ben Czaja (SURF)
# #
name = 'Libint'
version = '2.9.0'
local_lmax = 6
# custom configuration, to be used as dependency for CP2K
versionsuffix = '-lmax-%s-cp2k' % local_lmax

homepage = 'https://github.com/evaleev/libint'
description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body
matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory."""

toolchain = {'name': 'GCC', 'version': '13.3.0'}
toolchainopts = {'pic': True, 'cstd': 'c++11'}

source_urls = ['https://github.com/evaleev/%(namelower)s/archive']
sources = ['v%(version)s.tar.gz']
patches = [
'Libint-2.9.0_remove-test-eri.patch',
]
checksums = [
{'v2.9.0.tar.gz': '4929b2f2d3e53479270be052e366e8c70fa154a7f309e5c2c23b7d394159687d'},
{'Libint-2.9.0_remove-test-eri.patch': '9d18dbf23818dc4150c80bbcc1510f5c98da19a661bed60c5e46a2384319ceb7'},
]

builddependencies = [
('Autotools', '20231222'),
('GMP', '6.3.0'),
('Boost', '1.85.0'),
('Eigen', '3.4.0'),
('Python', '3.12.3'),
('CMake', '3.29.3'),
]

# configure options as required by CP2K,
# see Jenkinsfile in https://github.com/cp2k/libint-cp2k
local_eri_max_am = '%s,%s' % (local_lmax, local_lmax - 1)
local_eri23_max_am = '%s,%s' % (local_lmax + 2, local_lmax + 1)

libint_compiler_configopts = '--enable-eri=1 --enable-eri2=1 --enable-eri3=1 --with-max-am=%s ' % local_lmax
libint_compiler_configopts += '--with-eri-max-am=%s ' % local_eri_max_am
libint_compiler_configopts += '--with-eri2-max-am=%s ' % local_eri23_max_am
libint_compiler_configopts += '--with-eri3-max-am=%s ' % local_eri23_max_am
libint_compiler_configopts += '--enable-generic-code --disable-unrolling'

with_fortran = True

moduleclass = 'chem'
16 changes: 16 additions & 0 deletions easybuild/easyconfigs/l/Libint/Libint-2.9.0_remove-test-eri.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Disable Fortran ERI tests as those have very strict error tolerances. This patch is updated from Libint-2.6.0_remove-test-eri.patch
# See https://github.com/evaleev/libint/issues/188
# Author: Ben Czaja (SURF) based on orginal patch from Alex Domingo (Vrije Universiteit Brussel)
# Updated for v2.9.0 by maxim-masterov (SURF)
diff -Nru libint-2.9.0.orig/export/cmake/CMakeLists.txt.export libint-2.9.0/export/cmake/CMakeLists.txt.export
--- libint-2.9.0.orig/export/cmake/CMakeLists.txt.export 2024-10-15 15:36:02.806588000 +0200
+++ libint-2.9.0/export/cmake/CMakeLists.txt.export 2024-10-15 15:37:37.562090555 +0200
@@ -568,7 +568,7 @@
PROPERTIES FIXTURES_REQUIRED LIBINT2_FORTRAN_EXAMPLE_EXEC)

if (LIBINT_HAS_CXX_API)
- add_executable(fortran_test-libint2 EXCLUDE_FROM_ALL fortran/test.cc fortran/test-eri.cc $<TARGET_OBJECTS:libint_f>)
+ add_executable(fortran_test-libint2 EXCLUDE_FROM_ALL fortran/test.cc $<TARGET_OBJECTS:libint_f>)
target_link_libraries(fortran_test-libint2 libint2_cxx libint_f)
target_include_directories(fortran_test-libint2 PRIVATE $<TARGET_PROPERTY:libint_f,Fortran_MODULE_DIRECTORY>)
add_test(libint2/fortran_test/build "${CMAKE_COMMAND}" --build ${PROJECT_BINARY_DIR} --target fortran_test-libint2)
28 changes: 28 additions & 0 deletions easybuild/easyconfigs/l/libvori/libvori-220621-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
easyblock = 'CMakeMake'

name = 'libvori'
version = '220621'

homepage = 'https://brehm-research.de/libvori.php'
description = """C++ library implementing the Voronoi integration as well as the compressed bqb
file format. The present version of libvori is a very early development
version, which is hard-coded to work with the CP2k program package."""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}

source_urls = ['https://brehm-research.de/files/']
sources = [SOURCE_TAR_GZ]
checksums = ['1cfa98c564814bddacf1c0e7f11582137d758668f6307e6eb392c72317984c14']

builddependencies = [
('CMake', '3.29.3'),
('binutils', '2.42'),
]


sanity_check_paths = {
'files': ['lib/%(name)s.a'],
'dirs': ['lib'],
}

moduleclass = 'lib'
27 changes: 27 additions & 0 deletions easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
easyblock = 'ConfigureMake'

name = 'libxsmm'
version = '1.17'

homepage = 'https://github.com/hfp/libxsmm'
description = """LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications
targeting Intel Architecture (x86)."""

toolchain = {'name': 'GCC', 'version': '13.3.0'}

source_urls = ['https://github.com/hfp/%(name)s/archive/']
sources = ['%(version)s.tar.gz']
checksums = ['8b642127880e92e8a75400125307724635ecdf4020ca4481e5efe7640451bb92']

# install both static and dynamic version
installopts = ['PREFIX=%(installdir)s', 'PREFIX=%(installdir)s STATIC=0']

skipsteps = ['configure']
maxparallel = 1

sanity_check_paths = {
'files': ['bin/libxsmm_gemm_generator', 'include/libxsmm.h', 'lib/libxsmm.a', 'lib/libxsmm.%s' % SHLIB_EXT],
'dirs': ['share']
}

moduleclass = 'math'