new file: g/GROMACS/GROMACS-2021-fosscuda-2020b-PLUMED-2.7.2.eb

new file:   g/GROMACS/GROMACS-2021-intel-2020b-PLUMED-2.7.2.eb
	new file:   g/GROMACS/GROMACS-4.5.5-intel-2020b.eb
	new file:   p/PLUMED/PLUMED-2.7.2-foss-2020b.eb
	new file:   p/PLUMED/PLUMED-2.7.2-fosscuda-2020b.eb
	new file:   p/Python/Python-3.8.6-GCC-10.2.0-CUDA-11.4.1-NetKet.eb
This commit is contained in:
Lukas Krupcik 2021-11-24 10:39:39 +01:00
parent f8afb4d5c6
commit e55388650f
6 changed files with 343 additions and 0 deletions

@ -0,0 +1,78 @@
# IT4Innovations
# LK 2021
name = 'GROMACS'
version = '2021'
local_plum_ver = '2.7.2'
versionsuffix = '-PLUMED-%s' % local_plum_ver
homepage = 'https://www.gromacs.org'
description = """
GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the
Newtonian equations of motion for systems with hundreds to millions of
particles.
This is a GPU enabled build, containing both MPI and threadMPI builds.
It also contains the gmxapi extension for the single precision MPI build.
"""
toolchain = {'name': 'fosscuda', 'version': '2020b'}
toolchainopts = {'openmp': True, 'usempi': True}
source_urls = [
'https://ftp.gromacs.org/pub/gromacs/',
'ftp://ftp.gromacs.org/pub/gromacs/',
]
sources = ['gromacs-%(version)s-plumed.tar.gz']
patches = [
'GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch',
'GROMACS-2019_increase_test_timeout_for_GPU.patch',
'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch',
'GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch',
]
checksums = [
'775fee053e128699b4ec5be659d6cbb7', # gromacs-2021-plumed.tar.gz
# GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch
'406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275',
# GROMACS-2019_increase_test_timeout_for_GPU.patch
'0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234',
# GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch
'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49',
# GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch
'89fbb7e2754de45573632c74f53563bb979df9758c949238a35865391d6b53fb',
]
builddependencies = [
('CMake', '3.18.4'),
('scikit-build', '0.11.1'),
]
dependencies = [
('Python', '3.8.6'),
('SciPy-bundle', '2020.11'),
('networkx', '2.5'),
('PLUMED', local_plum_ver),
]
exts_defaultclass = 'PythonPackage'
exts_default_options = {
'source_urls': [PYPI_SOURCE],
'use_pip': True,
'download_dep_fail': True,
'sanity_pip_check': True,
}
exts_list = [
('gmxapi', '0.2.0', {
'preinstallopts': "export GMXTOOLCHAINDIR=%(installdir)s/share/cmake/gromacs_mpi && ",
'checksums': ['3954bf123da12fc60bcfaeed8263f5e2d3e16e5136c2bb5c8207b20fa7406788'],
}),
]
modextrapaths = {
'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages',
}
moduleclass = 'bio'

@ -0,0 +1,34 @@
# IT4Innovations 2020
# LK
name = 'GROMACS'
version = '2021'
local_plum_ver = '2.7.2'
versionsuffix = '-PLUMED-%s' % local_plum_ver
homepage = 'http://www.gromacs.org'
description = """
GROMACS is a versatile package to perform molecular dynamics,
i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.
This is a GPU enabled build, containing both MPI and threadMPI binaries.
"""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'openmp': True, 'usempi': True}
source_urls = [
'https://ftp.gromacs.org/pub/gromacs/',
'ftp://ftp.gromacs.org/pub/gromacs/',
]
sources = [SOURCELOWER_TAR_GZ]
builddependencies = [
('CMake', '3.18.4'),
]
dependencies = [
('PLUMED', local_plum_ver, '-Python-3.8.6'),
]
moduleclass = 'bio'

@ -0,0 +1,46 @@
## JK 2021
# Based on
##
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University
# Authors:: Wiktor Jurkowski <wiktor.jurkowski@uni.lu>, Fotis Georgatos <fotis.georgatos@uni.lu>, \
# George Tsouloupas <g.tsouloupas@cyi.ac.cy>, Kenneth Hoste
# License:: MIT/GPL
# $Id$
#
# This work implements a part of the HPCBIOS project and is a component of the policy:
# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html
#
# Version 5.1.4
# Author: Adam Huffman
# The Francis Crick Institute
##
easyblock = 'ConfigureMake'
name = 'GROMACS'
version = '4.5.5'
homepage = 'http://www.gromacs.org'
description = """GROMACS is a versatile package to perform molecular dynamics,
i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles."""
toolchain = {'name': 'intel', 'version': '2020b'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'openmp': True, 'usempi': True, 'optarch': 'march=core-avx2'}
else:
toolchainopts = {'openmp': True, 'usempi': True}
source_urls = ['ftp://ftp.gromacs.org/pub/gromacs/', 'https://ftp.gromacs.org/pub/gromacs/']
sources = [SOURCELOWER_TAR_GZ]
builddependencies = [
('CMake', '3.18.4'), #'-GCCcore-10.2.0', True),
('libxml2', '2.9.10'), #'-GCCcore-10.2.0', True),
]
dependencies = [('Boost', '1.74.0'), #'-GCC-10.2.0', True),
('FFTW', '3.3.8', '', True),
]
moduleclass = 'bio'

@ -0,0 +1,59 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'PLUMED'
version = '2.7.2'
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': '2020b'}
toolchainopts = {'usempi': 'True'}
source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/']
sources = [SOURCE_TGZ]
checksums = ['6069bc134f74cb15dd63e27e3587a15a31a9ddd9e7eebdd717da898f31512645']
dependencies = [
('zlib', '1.2.11'),
('GSL', '2.6'),
('Python', '3.8.6'),
('SciPy-bundle', '2020.11'),
('Boost', '1.74.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'

@ -0,0 +1,59 @@
# IT4Innovations
# LK 2021
easyblock = 'ConfigureMake'
name = 'PLUMED'
version = '2.7.2'
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': 'fosscuda', 'version': '2020b'}
toolchainopts = {'usempi': 'True'}
source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/']
sources = [SOURCE_TGZ]
checksums = ['6069bc134f74cb15dd63e27e3587a15a31a9ddd9e7eebdd717da898f31512645']
dependencies = [
('zlib', '1.2.11'),
('GSL', '2.6'),
('Python', '3.8.6'),
('SciPy-bundle', '2020.11'),
('Boost', '1.74.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'

@ -0,0 +1,67 @@
# IT4Innovations
# LK 2021
name = 'Python'
version = '3.8.6'
versionsuffix = '-NetKet'
homepage = 'https://python.org/'
description = """Python is a programming language that lets you work more quickly and integrate your systems
more effectively."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/']
sources = [SOURCE_TGZ]
checksums = ['313562ee9986dc369cd678011bdfd9800ef62fbf7b1496228a18f86b36428c21']
builddependencies = [
('UnZip', '6.0'),
]
dependencies = [
('binutils', '2.35'),
('bzip2', '1.0.8'), # required for bz2 package in Python stdlib
('zlib', '1.2.11'),
('libreadline', '8.0'),
('ncurses', '6.2'),
('SQLite', '3.33.0'),
('XZ', '5.2.5'),
('GMP', '6.2.0'), # required for pycrypto
('libffi', '3.3'),
('CUDA', '11.4.1', '', True),
# OS dependency should be preferred if the os version is more recent then this version,
# it's nice to have an up to date openssl for security reasons
# Python 3.7 requires OpenSSL >= 1.0.2, uncomment line below if OS version is too old (e.g. CentOS 6)
# ('OpenSSL', '1.1.1h'),
]
osdependencies = [OS_PKG_OPENSSL_DEV]
install_pip = True
exts_default_options = {
'download_dep_fail': True,
'sanity_pip_check': True,
'source_urls': [PYPI_SOURCE],
'use_pip': True,
}
# order is important!
# package versions updated 13 October 2020
exts_list = [
('setuptools', '50.3.0', {
'source_tmpl': '%(name)s-%(version)s.zip',
'checksums': ['39060a59d91cf5cf403fa3bacbb52df4205a8c3585e0b9ba4b30e0e19d4c4b18'],
}),
('wheel', '0.35.1', {
'checksums': ['99a22d87add3f634ff917310a3d87e499f19e663413a52eb9232c447aa646c9f'],
}),
('pip', '20.2.3', {
'checksums': ['30c70b6179711a7c4cf76da89e8a0f5282279dfb0278bec7b94134be92543b6d'],
}),
]
moduleclass = 'lang'