Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
40 changes: 40 additions & 0 deletions easybuild/easyconfigs/c/CP2K/CP2K-2022.1-foss-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
##
# Author: Robert Mijakovic <[email protected]>
##
name = 'CP2K'
version = '2022.1'

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': '2022a'}
toolchainopts = {'pic': True, 'openmp': True}

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

# https://github.com/cp2k/cp2k/releases/download/v2022.1/cp2k-2022.1.tar.bz2
dependencies = [
('Libint', '2.6.0', '-lmax-6-cp2k'),
('libxc', '5.2.3'),
('libxsmm', '1.17'),
('FFTW', '3.3.10'),
('PLUMED', '2.8.0'),
]

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

type = 'psmp'

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

moduleclass = 'chem'
39 changes: 39 additions & 0 deletions easybuild/easyconfigs/c/CP2K/CP2K-9.1-foss-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
##
# Author: Robert Mijakovic <[email protected]>
##
name = 'CP2K'
version = '9.1'

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': '2022a'}
toolchainopts = {'pic': True, 'openmp': True}

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

dependencies = [
('Libint', '2.6.0', '-lmax-6-cp2k'),
('libxc', '5.2.3'),
('libxsmm', '1.17'),
('FFTW', '3.3.10'),
('PLUMED', '2.8.0'),
]

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

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,52 @@
##
# Author: Robert Mijakovic <[email protected]>
##
name = 'Libint'
version = '2.6.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': '11.3.0'}
toolchainopts = {'pic': True, 'cstd': 'c++11'}

source_urls = ['https://github.com/evaleev/libint/archive']
sources = ['v%(version)s.tar.gz']
patches = [
'Libint-%(version)s_fix-LIBINT2-MAX-AM-default1.patch',
'Libint-2.6.0_remove-test-eri.patch',
]
checksums = [
'4ae47e8f0b5632c3d2a956469a7920896708e9f0e396ec10071b8181e4c8d9fa', # v2.6.0.tar.gz
# Libint-2.6.0_fix-LIBINT2-MAX-AM-default1.patch
'e5445c89639d113be7726c2bc1164d2f6ea75e76abbb1c94acd55c508693d5ab',
# Libint-2.6.0_remove-test-eri.patch
'e47868901250078adeb35b80ab866ba8063ad9756881d1b557cb925334df653b',
]

builddependencies = [
('Autotools', '20220317'),
('GMP', '6.2.1'),
('Boost', '1.79.0'),
('Eigen', '3.4.0'),
('Python', '3.10.4'),
]

# 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'
27 changes: 27 additions & 0 deletions easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-11.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': '11.3.0'}

source_urls = ['https://github.com/hfp/libxsmm/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'
60 changes: 60 additions & 0 deletions easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.0-foss-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
easyblock = 'ConfigureMake'

name = 'PLUMED'
version = '2.8.0'

homepage = 'https://www.plumed.org'
description = """PLUMED is an open source library for free energy calculations in molecular systems which
works together with some of the most popular molecular dynamics engines. Free energy calculations can be
performed as a function of many order parameters with a particular focus on biological problems, using
state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD.
The software, written in C++, can be easily interfaced with both fortran and C/C++ codes.
"""

toolchain = {'name': 'foss', 'version': '2022a'}
toolchainopts = {'usempi': 'True'}

source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/']
sources = [SOURCE_TGZ]
checksums = ['24b243c531fa83752be5e54f5f0b677164855da539bc2b2c5b00dcc9f192aa82']

builddependencies = [
('xxd', '8.2.4220'),
]

dependencies = [
('zlib', '1.2.12'),
('GSL', '2.7'),
('Python', '3.10.4'),
('SciPy-bundle', '2022.05'),
('Boost', '1.79.0'),
]

preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" '
configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python '
configopts += '--enable-boost_graph --enable-boost_serialization '
configopts += '--enable-asmjit '
prebuildopts = 'source sourceme.sh && '

# make sure that ld.gold linker is used
# required to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564"
# (problem with intel build but maintain consistency between easyconfigs)
buildopts = 'LD_RO="ld.gold -r -o"'

# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed
preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" '

sanity_check_paths = {
'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT],
'dirs': [],
}

sanity_check_commands = ["python -c 'import plumed'"]

modextrapaths = {
'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT,
'PLUMED_ROOT': 'lib/plumed',
'PYTHONPATH': 'lib/plumed/python',
}

moduleclass = 'chem'
39 changes: 39 additions & 0 deletions easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Last contribution from the NIHR Biomedical Research Centre
# Guy's and St Thomas' NHS Foundation Trust and King's College London
# uploaded by J. Sassmannshausen

easyblock = 'MakeCp'

name = 'xxd'
version = '8.2.4220'

homepage = 'https://www.vim.org'
description = """xxd is part of the VIM package and this will only install xxd, not vim!
xxd converts to/from hexdumps of binary files."""

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

source_urls = ['https://github.com/vim/vim/archive/refs/tags']
sources = ['v%(version)s.tar.gz']
checksums = [
'8b0406834b4f03af8bc6dedbf4c69977f7b9df6905182623842d7c4f3065c604', # v8.2.4220.tar.gz
]

builddependencies = [
('binutils', '2.38'),
]

start_dir = 'src/xxd'

files_to_copy = [
(['xxd'], 'bin'),
]

sanity_check_paths = {
'files': ['bin/xxd'],
'dirs': [],
}

sanity_check_commands = ["xxd -h 2>&1 | grep -A 4 '^Usage:'"]

moduleclass = 'tools'