new file: a/arpack-ng/arpack-ng-3.8.0-intel-2020b.eb

new file:   b/BerkeleyGW/BerkeleyGW-2.1.0-intel-2020b-Python-3.8.6.eb
	new file:   b/BerkeleyGW/BerkeleyGW-2.1.0_missing_file.patch
	new file:   b/BerkeleyGW/BerkeleyGW-2.1.0_tests.patch
	new file:   d/DFTB+/DFTB+-21.1-intel-2020b-Python-3.8.6.eb
	new file:   d/DFTB+/config.cmake-MANUAL-INSTALATION.patch
	new file:   d/dftd3-lib/dftd3-lib-0.9.2-GCC-10.2.0.eb
	new file:   d/dftd3-lib/dftd3-lib-0.9.2_fix-extras-syntax.patch
	new file:   e/ELPA/ELPA-2019.11.001-intel-2020b.eb
	new file:   h/HDF5/HDF5-1.10.6-iimpi-2020b.eb
	new file:   h/h5py/h5py-2.10.0-intel-2020b-Python-3.8.6.eb
	new file:   h/hypothesis/hypothesis-6.13.1-GCC-10.2.0.eb
	new file:   i/impi/impi-2021.2.0-intel-compilers-2021.2.0.eb
	new file:   i/intel-compilers/intel-compilers-2021.2.0.eb
	new file:   n/Newton-X/Newton-X-2.2-B09-intel-2020b.eb
	new file:   n/Newton-X/newton-x-2.2.patch
	new file:   p/pkgconfig/pkgconfig-1.5.1-GCCcore-10.2.0-python.eb
	new file:   p/pybind11/pybind11-2.4.3-GCC-10.2.0-Python-3.8.6.eb
	new file:   p/pybind11/pybind11-2.6.0-GCC-10.2.0-Python-3.8.6.eb
	new file:   s/Schrodinger/Schrodinger_2021-2_Linux-x86_64.eb
	new file:   s/SciPy-bundle/SciPy-bundle-2020.03-intel-2020b-Python-3.8.6.eb
	new file:   s/SciPy-bundle/SciPy-bundle-2021.05-intel-2020b.eb
This commit is contained in:
Lukas Krupcik 2021-06-16 07:42:30 +02:00
parent 0c4c927907
commit 747221f326
22 changed files with 942 additions and 0 deletions

View File

@ -0,0 +1,38 @@
# IT$Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'arpack-ng'
version = "3.8.0"
homepage = 'https://github.com/opencollab/arpack-ng'
description = """ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'pic': True, 'usempi': True}
github_account = 'opencollab'
source_urls = [GITHUB_SOURCE]
sources = ['%(version)s.tar.gz']
checksums = ['ada5aeb3878874383307239c9235b716a8a170c6d096a6625bfd529844df003d']
builddependencies = [
('Autotools', '20200321'),
('pkg-config', '0.29.2'),
]
dependencies = [
('Eigen', '3.3.8')
]
preconfigopts = "sh bootstrap && "
configopts = '--enable-mpi --with-pic --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"'
sanity_check_paths = {
'files': ["lib64/libarpack.la", "lib64/libarpack.%s" % SHLIB_EXT,
"lib64/libparpack.la", "lib64/libparpack.%s" % SHLIB_EXT],
'dirs': []
}
moduleclass = 'numlib'

View File

@ -0,0 +1,37 @@
# IT4Innovations 2021
# LK
name = 'BerkeleyGW'
version = '2.1.0'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://www.berkeleygw.org'
description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle
properties and the optical responses of a large variety of materials from bulk periodic crystals to
nanostructures such as slabs, wires and molecules."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'usempi': True, 'openmp': True, 'precise': True}
source_urls = ['https://berkeley.box.com/shared/static/']
sources = [{'download_filename': 'ze3azi5vlyw7hpwvl9i5f82kaiid6g0x.gz', 'filename': SOURCE_TAR_GZ}]
patches = [
'BerkeleyGW-2.1.0_missing_file.patch',
'BerkeleyGW-2.1.0_tests.patch',
]
checksums = [
'31f3b643dd937350c3866338321d675d4a1b1f54c730b43ad74ae67e75a9e6f2', # BerkeleyGW-2.1.0.tar.gz
'3689262976b873d65ffce4c89a5dc8ef5731914a5b71eadacba244750fc6b7ae', # BerkeleyGW-2.1.0_missing_file.patch
'340bb854ae78cf5a1ce7b277f1c16dc3140ef9dbc39715082097b632858ef633', # BerkeleyGW-2.1.0_tests.patch
]
dependencies = [
('ELPA', '2019.11.001'),
('Python', '3.8.6'),
('h5py', '2.10.0', versionsuffix),
]
# two tests failing (Si-EPM_subspace_cplx) with the intel toolchain, a few more if on skylake
runtest = False
moduleclass = 'phys'

View File

@ -0,0 +1,13 @@
* manual.html is missing from the distribution
author: Miguel Dias Costa (National University of Singapore)
--- Makefile.orig 2018-06-18 12:12:48.081168468 +0800
+++ Makefile 2018-06-18 12:13:02.795191541 +0800
@@ -124,7 +124,7 @@
# install cannot work on a whole directory
cp -rf examples $(INSTDIR)/share/BerkeleyGW/
cp -rf testsuite $(INSTDIR)/share/BerkeleyGW/
- install manual.html $(INSTDIR)/share/BerkeleyGW/
+ #install manual.html $(INSTDIR)/share/BerkeleyGW/
else
$(error Error: Please define installation prefix INSTDIR via 'make install INSTDIR='.)
endif

View File

@ -0,0 +1,42 @@
* enable parallel tests
* allow test scripts to inherit environment
* slightly raise tolerance in one test
author: Miguel Dias Costa (National University of Singapore)
--- Makefile.orig 2019-07-23 17:40:16.489733901 +0800
+++ Makefile 2019-07-23 17:40:33.656497133 +0800
@@ -157,7 +157,7 @@
endif
check: all
- cd testsuite && $(MAKE) check
+ cd testsuite && $(MAKE) check && $(MAKE) check-parallel
check-save: all
cd testsuite && $(MAKE) check-save
--- testsuite/run_testsuite.sh.orig 2019-07-25 14:48:12.000000000 +0800
+++ testsuite/run_testsuite.sh 2019-07-25 14:47:50.000000000 +0800
@@ -1,4 +1,4 @@
-#!/bin/bash -l
+#!/bin/bash
#
# Copyright (C) 2005-2009 Heiko Appel, David Strubbe
#
--- MeanField/Utilities/mf_convert_wrapper.sh.orig 2019-07-26 09:52:27.648341000 +0800
+++ MeanField/Utilities/mf_convert_wrapper.sh 2019-07-26 09:52:39.922114228 +0800
@@ -1,4 +1,4 @@
-#!/bin/bash -l
+#!/bin/bash
# David Strubbe, October 2010
# Wrapper for mf_convert.x
--- testsuite/GaAs-EPM/GaAs.test.orig 2019-07-26 10:45:19.798520000 +0800
+++ testsuite/GaAs-EPM/GaAs.test 2019-07-26 10:45:37.753775275 +0800
@@ -32,7 +32,7 @@
Output : WFN.out
Input : WFN.in PIPE
-Precision : 8e-15
+Precision : 9e-15
match ; Eigenvalue 1 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 1); -0.2710614199849328
match ; Eigenvalue 10 at k-pt 1 ; GREP(WFN.out, "kpoint 1", 2, 10); 1.2565373697755460
match ; Eigenvalue 18 at k-pt 2 ; GREP(WFN.out, "kpoint 2", 2, 18); 2.1322637363008994

View File

@ -0,0 +1,74 @@
# IT4Innovations 2021
# LK
easyblock = 'CMakeMake'
name = 'DFTB+'
version = '21.1'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://www.dftb-plus.info'
description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package.
It is based on the Density Functional Tight Binding (DFTB) method, containing
almost all of the useful extensions which have been developed for the DFTB
framework so far. Using DFTB+ you can carry out quantum mechanical simulations
like with ab-initio density functional theory based packages, but in an
approximate way gaining typically around two order of magnitude in speed."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'lowopt': True, 'optarch': False}
local_external_dir = '%%(builddir)s/dftbplus-%%(version)s/external/%s/origin/'
local_external_extract = 'mkdir -p %s && tar -C %s' % (local_external_dir, local_external_dir)
local_external_extract += ' --strip-components=1 -xzf %%s'
sources = [
{
# DFTB+ source code
'source_urls': ['https://github.com/dftbplus/dftbplus/archive'],
'download_filename': '%(version)s.tar.gz',
'filename': SOURCE_TAR_GZ,
},
{
# Slater-Koster (slakos) data for testing
'source_urls': ['https://github.com/dftbplus/testparams/archive'],
'download_filename': 'd0ea16df2b56d14c7c3dc9329a8d3bac9fea50a0.tar.gz',
'filename': 'slakos-data-%(version)s.tar.gz',
'extract_cmd': local_external_extract % ('slakos', 'slakos'),
},
]
builddependencies = [
('CMake', '3.18.4'),
]
dependencies = [
('Python', '3.8.6'),
('SciPy-bundle', '2020.03', versionsuffix),
('arpack-ng', '3.8.0'),
('dftd3-lib', '0.9.2', '', ('GCC', '10.2.0')),
]
# Link to Arpack
local_makeopts = ' WITH_ARPACK=1 ARPACK_LIBS="-L$EBROOTARPACKMINNG/lib -larpack" ARPACK_NEEDS_LAPACK=1'
# Use DFTD3 from EB
local_makeopts += ' WITH_DFTD3=1 COMPILE_DFTD3=0 DFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"'
local_makeopts += ' DFTD3_LIBS="-L$EBROOTDFTD3MINLIB/lib -ldftd3"'
buildopts = local_makeopts
#runtest = 'test' + local_makeopts
installopts = 'INSTALLDIR="%(installdir)s"'
sanity_check_paths = {
'files': ['bin/' + x for x in ['dftb+', 'dp_bands', 'dp_dos', 'gen2cif', 'gen2xyz', 'makecube',
'modes', 'repeatgen', 'straingen', 'waveplot', 'xyz2gen']],
'dirs': ['lib/python%(pyshortver)s/site-packages']
}
sanity_check_commands = [('python', '-c "import dptools"')]
modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}
moduleclass = 'phys'

View File

@ -0,0 +1,133 @@
#
# Global architecture independent build settings
#
#set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build type (Release|RelWithDebInfo|Debug|MinSizeRel)")
# CMAKE_BUILD_TYPE is commented out in order to allow for multi-configuration builds. It will
# automatically default to RelWithDebInfo if used in a single configuration build. Uncomment or
# override it only if you want a non-default single configuration build.
option(WITH_OMP "Whether OpenMP thread parallisation should be enabled" TRUE)
option(WITH_MPI "Whether DFTB+ should support MPI-parallelism" FALSE)
# If you build an MPI-parallised binary, consider to set WITH_OMP (OpenMP thread parallelisaton) to
# FALSE unless you want hybrid parallelisation (for experts only).
option(WITH_ELSI "Whether DFTB+ with MPI-parallelism should use the ELSI libraries" FALSE)
# Works only with MPI-parallel build.
option(WITH_GPU "Whether DFTB+ should support GPU-acceleration via the MAGMA-library" FALSE)
option(WITH_TRANSPORT "Whether transport via libNEGF should be included." TRUE)
# Works only when building static libraries (see option BUILD_SHARED_LIBS)
option(WITH_POISSON "Whether the Poisson-solver should be included" ${WITH_TRANSPORT})
# The Poisson-solver is mostly used in transport calculations only. Enable this option
# if you want to use it in a non-transport build. Note, the Poisson-solver is not
# multi-instance safe and is therefore not allowed, if WITH_API (see below) is on.
option(WITH_SOCKETS "Whether socket communication should be allowed for" FALSE)
option(WITH_ARPACK "Whether the ARPACK library should be included (needed for TD-DFTB)" TRUE)
# Works only with non-MPI (serial) build, needed for Casida linear response
option(WITH_DFTD3 "Whether the DFTD3 library should be included" TRUE)
# NOTE: Due to the license of the DFTD3 library, the combined code must be distributed under the
# GPLv3 license (as opposed to the LGPLv3 license of the DFTB+ package)
option(WITH_MBD "Whether DFTB+ should be built with many-body-dispersion support" FALSE)
option(WITH_PLUMED "Whether metadynamics via the PLUMED2 library should be allowed for" FALSE)
option(WITH_API "Whether public API should be included and the DFTB+ library installed" FALSE)
# Turn this on, if you want to use the DFTB+ library to integrate DFTB+ into other software
# packages. (Otherwise only a stripped down version of the library without the public API is built.)
# This will also install necessary include and module files and further libraries needed to link the
# DFTB+ library.
option(INSTANCE_SAFE_BUILD "Whether build should support concurrent DFTB+ instances" FALSE)
# Turn this on, if you want to create multiple concurrent DFTB+ instances **within one process** via
# the API. This option will ensure that only components without writable global variables are
# included in the build, so that multiple instances can safely coexist. There are components
# (e.g. Poisson, DFTD-D3, ARPACK) which can not be included if this option is on. Note, this option
# is not relevant for the standalone DFTB+ binary, only for the API (if WITH_API had been turned
# on).
option(WITH_PYTHON "Whether the Python components of DFTB+ should be tested and installed" TRUE)
option(BUILD_SHARED_LIBS "Whether the libraries built should be shared" FALSE)
# Turn this on, if the DFTB+ library (and other compiled libraries) should be shared libraries and
# dynamically linked to their applications. This results in smaller applications, but the libraries
# must be present at run-time (and the correct LD_LIBRARY_PATH environment variable must be set, so
# that they can be found by the operating system). If you want use the DFTB+ library from other
# software packages (see WITH_API option above), they may also require a shared library (e.g.
# calling DFTB+ functions from Python or Julia).
#
# Test environment settings
#
set(TEST_MPI_PROCS "1" CACHE STRING "Nr. of MPI processes used for testing")
set(TEST_OMP_THREADS "1" CACHE STRING "Nr. of OpenMP-threads used for testing")
# Command line used to launch the test code.
# The escaped variables (\${VARIABLE}) will be substituted by the corresponding CMake variables.
if(WITH_MPI)
set(TEST_RUNNER_TEMPLATE "env OMP_NUM_THREADS=\${TEST_OMP_THREADS} mpiexec -n \${TEST_MPI_PROCS}"
CACHE STRING "How to run the tests")
else()
set(TEST_RUNNER_TEMPLATE "env OMP_NUM_THREADS=\${TEST_OMP_THREADS}" CACHE STRING
"How to run the tests")
set(MODES_RUNNER_TEMPLATE "env OMP_NUM_THREADS=\${TEST_OMP_THREADS}" CACHE STRING
"How to run the modes code for tests")
endif()
# Turn it on to include the unit tests (needes FyTest)
option(WITH_UNIT_TESTS "Whether the unit tests should be built" FALSE)
#
# Installation options
#
set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/_install" CACHE STRING
"Directory to install the compiled code into")
set(INSTALL_INCLUDEDIR "dftbplus" CACHE PATH
"Name of the project specific sub-folder within the install folder for include files")
set(INSTALL_MODULEDIR "${INSTALL_INCLUDEDIR}/modfiles" CACHE PATH
"Installation directory for Fortran module files (within the install folder for include files)")
set(PKGCONFIG_LANGUAGE "Fortran" CACHE STRING
"Compiler and Linker language to assume when creating the pkg-config export file (C or Fortran)")
# The pkg-config export file (lib/pkgconfig/dftbplus.pc) contains the compiler and linker options
# needed to link the DFTB+ library to an application. (It can be queried with the pkg-config tool.)
# Depending on the language setting ("C" or "Fortran") you would get the flags for the case of using
# that compiler for the linking.
#
# Advanced options (e.g. for developers and packagers)
#
#set(TOOLCHAIN "gnu" CACHE STRING "Prefix of the toolchain file to be read from the sys/ folder")
# Uncomment and set it if you want to override the automatic, compiler based toolchain file
# selection.
set(HYBRID_CONFIG_METHODS "Submodule;Find;Fetch" CACHE STRING
"Configuration methods to try in order to satisfy hybrid dependencies")
#
# This list can be used to control how hybrid dependencies (external dependencies which can
# optionally be built during the build process) are configured. The listed methods are applied in
# the specified order. Following methods are available:
#
# Submodule: Use the source in external/*/origin and build the dependency as part of the build
# process. If the source is not present, try to retrieve it via the 'git submodule' command
# (provided the source tree is a git repository and git is available)
#
# Find: Find the dependency as an already installed package in the system.
#
# Fetch: Fetch the source into the build folder and build the dependency as part of the build
# process (works also in cases where the source tree is not a Git repository)

View File

@ -0,0 +1,38 @@
# IT4Innovations 2021
# LK
easyblock = 'MakeCp'
name = 'dftd3-lib'
version = '0.9.2'
homepage = 'https://github.com/dftbplus/dftd3-lib'
description = """This is a repackaged version of the DFTD3 program by S. Grimme and his coworkers.
The original program (V3.1 Rev 1) was downloaded at 2016-04-03. It has been
converted to free format and encapsulated into modules."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
toolchainopts = {'pic': True}
github_account = 'dftbplus'
source_urls = [GITHUB_SOURCE]
sources = ['%(version)s.tar.gz']
patches = ['dftd3-lib-%(version)s_fix-extras-syntax.patch']
parallel = 1
buildopts = 'FC="$FC" FCFLAGS="$FCFLAGS" LNFLAGS="$LDFLAGS"'
files_to_copy = [
(['prg/dftd3', 'test/testapi'], 'bin'),
(['lib/libdftd3.a'], 'lib'),
(['lib/*.mod', 'prg/*.mod'], 'include'),
(['doc/man.pdf', 'CHANGELOG.rst', 'LICENSE', 'README.rst'], 'share'),
]
sanity_check_paths = {
'files': ['bin/dftd3', 'bin/testapi', 'lib/libdftd3.a'],
'dirs': ['include', 'share'],
}
moduleclass = 'chem'

View File

@ -0,0 +1,22 @@
Fix syntax of extras.f90
Author: Alex Domingo (Vrije Universiteit Brussel)
--- prg/extras.f90.orig 2020-04-07 15:53:37.579346000 +0200
+++ prg/extras.f90 2020-04-07 15:53:47.270025090 +0200
@@ -285,7 +285,7 @@
close(11)
write(*,*) 'checksum (Edisp) ',check
- if (abs(check-etot).gt.1.d-3)stop'something is weired in adisp'
+ if (abs(check-etot).gt.1.d-3) stop 'something is weired in adisp'
inquire(file='fragment',exist=ex)
if (.not.ex) return
@@ -1746,7 +1746,7 @@
close(11)
write(*,*) 'checksum (Edisp) ',check
- if (abs(check-etot).gt.1.d-3)stop'something is weired in adisp'
+ if (abs(check-etot).gt.1.d-3) stop 'something is weired in adisp'
deallocate(dist,li)
return

View File

@ -0,0 +1,28 @@
# IT4Innovations 2021
# LK
name = 'ELPA'
version = '2019.11.001'
homepage = 'http://elpa.rzg.mpg.de'
description = """Eigenvalue SoLvers for Petaflop-Applications ."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'openmp': True, 'usempi': True}
source_urls = ['http://elpa.mpcdf.mpg.de/html/Releases/%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
preconfigopts = "export FC='mpiifort' && "
preconfigopts += "export CC='mpicc' && "
preconfigopts += 'export FCFLAGS="-O3 -xAVX2" && '
preconfigopts += 'export CFLAGS="-O3 -march=native -mavx2 -mfma -funsafe-loop-optimizations -funsafe-math-optimizations -ftree-vect-loop-version -ftree-vectorize" && '
preconfigopts += 'export SCALAPACK_LDFLAG=S"-L$MKLROOT/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread " && '
preconfigopts += 'export SCALAPACK_FCFLAGS="-I$MKL_HOME/include/intel64/lp64" && '
configopts = '--enable-option-checking=fatal'
builddependencies = [
('Autotools', '20200321'),
]
moduleclass = 'math'

View File

@ -0,0 +1,24 @@
# IT4Innovations 2021
# LK
name = 'HDF5'
version = '1.10.6'
homepage = 'https://portal.hdfgroup.org/display/support'
description = """HDF5 is a data model, library, and file format for storing and managing data.
It supports an unlimited variety of datatypes, and is designed for flexible
and efficient I/O and for high volume and complex data."""
toolchain = {'name': 'iimpi', 'version': '2020b'}
toolchainopts = {'pic': True, 'usempi': True}
source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa']
dependencies = [
('zlib', '1.2.11'),
('Szip', '2.1.1'),
]
moduleclass = 'data'

View File

@ -0,0 +1,40 @@
# IT4Innovations 2021
# LK
easyblock = 'PythonPackage'
name = 'h5py'
version = '2.10.0'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://www.h5py.org/'
description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library,
version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous
amounts of data."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'usempi': True}
source_urls = [PYPI_SOURCE]
sources = [SOURCE_TAR_GZ]
#patches = ['h5py-%(version)s_avoid-mpi-init.patch']
#checksums = [
# '84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d', # h5py-2.10.0.tar.gz
# '6bacb71f5d9fbd7bd9a01018d7fe21b067a2317f33c4a7c21fde9cd404c1603f', # h5py-2.10.0_avoid-mpi-init.patch
#]
builddependencies = [('pkgconfig', '1.5.1', versionsuffix)]
dependencies = [
('Python', '3.8.6'),
('SciPy-bundle', '2020.03', versionsuffix),
('HDF5', '1.10.6', '', ('iimpi', '2020b')),
]
use_pip = False
download_dep_fail = True
# to really use mpi enabled hdf5 we now seem to need a configure step, which is the reason we can't use pip
prebuildopts = 'python setup.py configure --mpi --hdf5=$EBROOTHDF5 && '
moduleclass = 'data'

View File

@ -0,0 +1,25 @@
# IT4Innovations 2021
# LK
easyblock = 'PythonPackage'
name = 'hypothesis'
version = '6.13.1'
homepage = "https://github.com/HypothesisWorks/hypothesis"
description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized
by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets
you find more bugs in your code with less work."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
sources = [SOURCE_TAR_GZ]
checksums = ['074e27e514b305ba0b0c6bc0037faad1abbe2ea641ab4a8ec90e12a5e3238009']
dependencies = [('Python', '3.8.6')]
use_pip = True
download_dep_fail = True
sanity_pip_check = True
moduleclass = 'tools'

View File

@ -0,0 +1,29 @@
# IT4Innovatios 2021
# LK
name = 'impi'
version = '2021.2.0'
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html'
description = "Intel MPI Library, compatible with MPICH ABI"
toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'}
# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html
source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17729/']
sources = ['l_mpi_oneapi_p_%(version)s.215_offline.sh']
checksums = ['d0d4cdd11edaff2e7285e38f537defccff38e37a3067c02f4af43a3629ad4aa3']
dependencies = [('UCX', '1.10.0')]
modextravars = {
'I_MPI_OFI_PROVIDER': 'MLX',
'FI_PROVIDER': 'verbs',
'I_MPI_CC' : 'icc',
'I_MPI_CXX': 'icpc',
'I_MPI_F77': 'ifort',
'I_MPI_F90': 'ifort',
'I_MPI_FC': 'ifort',
}
moduleclass = 'mpi'

View File

@ -0,0 +1,45 @@
# IT4Innovatios 2021
# LK
name = 'intel-compilers'
version = '2021.2.0'
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html'
description = "Intel C, C++ & Fortran compilers (classic and oneAPI)"
toolchain = SYSTEM
# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html
sources = [
{
'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17749/'],
'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.118_offline.sh',
},
{
'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17756/'],
'filename': 'l_fortran-compiler_p_%(version)s.136_offline.sh',
},
]
checksums = [
# l_dpcpp-cpp-compiler_p_2021.2.0.118_offline.sh
'5d01cbff1a574c3775510cd97ffddd27fdf56d06a6b0c89a826fb23da4336d59',
'a62e04a80f6d2f05e67cd5acb03fa58857ee22c6bd581ec0651c0ccd5bdec5a1', # l_fortran-compiler_p_2021.2.0.136_offline.sh
]
local_gccver = '10.3.0'
dependencies = [
('GCCcore', local_gccver),
('binutils', '2.36.1', '', ('GCCcore', local_gccver)),
]
modextravars = {
'CC': 'icc',
'CXX': 'icpc',
'F90': 'ifort',
'F77': 'ifort',
'FC': 'ifort',
'OPTFLAGS': '-O3 -xHost -ip',
'DEBUGFLAGS': '-O0 -g'
}
moduleclass = 'compiler'

View File

@ -0,0 +1,35 @@
# IT4Innovations 2021
# LK
easyblock = 'PackedBinary'
name = 'Newton-X'
version = '2.2-B09'
homepage = 'https://sourceforge.net/projects/actc'
description = "ACTC converts independent triangles into triangle strips or fans."
toolchain = {'name': 'intel', 'version': '2020b'}
#source_urls = [https://amubox.univ-amu.fr/s/aBMnEq7dXeZPm2H/download]
sources = ['nx-2.2-b09.tgz']
patches = ['newton-x-2.2.patch']
dependencies = [
['GSL', '2.6'],
]
install_cmd = 'NX-2.2-B09/install/installnx.pl ifort $EBROOTGSL %(installdir)s 0'
sanity_check_paths = {
'files': [ 'bin/tplot', 'bin/moldyn.pl', 'bin/plot', 'source/lib/nx_la.pm'],
'dirs': ['bin', 'batch', 'docs', 'install', 'source', 'test-nx'],
}
modextrapaths = {
'NX': 'bin',
'LIBRARY_PATH': 'source/lib',
'LD_LIBRARY_PATH': 'source/lib'
}
moduleclass = 'chem'

View File

@ -0,0 +1,70 @@
--- NX-2.2-B09/install/installnx.pl.orig 2020-03-06 12:35:13.000000000 +0100
+++ NX-2.2-B09/install/installnx.pl 2021-06-08 07:41:44.615480573 +0200
@@ -22,7 +22,7 @@
# 1) Select compiler
#$comp = "ifort";
- $comp = "gfortran";
+ $comp = "$ARGV[0]";
# 2) Choose the BLAS/LAPACK variables (_OD will be used for cioverlap_od only)
if($comp eq "ifort"){
@@ -44,8 +44,8 @@
}
# 3) Choose GSL paths:
- $idgsl="/usr/include/gsl"; # Headers
- $ldgsl="/usr/lib"; # Libraries
+ $idgsl="$ARGV[1]/include/gsl"; # Headers
+ $ldgsl="$ARGV[1]/lib"; # Libraries
# 4) If necessary (usually it isn't), change the flags for the selected compiler (_OD will be used for cioverlap_od only)
if ($comp eq "ifort"){
@@ -98,13 +98,14 @@
#================================================================
#
sub create_dir{
- print STDOUT "\n Please enter directory for the NEWTON-X installation \n ";
- $_ = <STDIN>;
- chomp;$_ =~ s/^\s*//;$_ =~ s/\s*$//;
- $instd = $_;
+ #print STDOUT "\n Please enter directory for the NEWTON-X installation \n ";
+ #$_ = <STDIN>;
+ #chomp;$_ =~ s/^\s*//;$_ =~ s/\s*$//;
+ $instd = $ARGV[2];
if (!-s $instd){
- $create_d=simple_question("\n This directory seems not to exist - create it? (y/n) ","y");
+ #$create_d=simple_question("\n This directory seems not to exist - create it? (y/n) ","y");
+ $create_d = "y";
if ($create_d eq "y"){
system("mkdir -p $instd");
if (-s $instd){
@@ -140,7 +141,7 @@
print STDOUT " [4] Time-dependent overlaps I (CIOVERLAP)\n";
print STDOUT " [5] Time-dependent overlaps II (CIOVERLAP_OD)\n";
print STDOUT " Enter comma separated list or dash separated range (<ENTER> for default): ";
- $_=<STDIN>;
+ $_=$ARGV[3];
chomp;$_ =~ s/^\s*//;$_ =~ s/\s*$//;
@list=make_num_sequence($_);
if (($_ eq "") or ($_ eq "0")){
@@ -358,12 +359,12 @@
#
sub copy_nx{
print_STDOUT(" Copying files ");
- copyfiles("$original_dir/../","source",$instd,1);
- copyfiles("$original_dir/../","docs",$instd,1);
- copyfiles("$original_dir/../","test-nx",$instd,1);
- copyfiles("$original_dir/../","batch",$instd,1);
- copyfiles("$original_dir/../","install",$instd,1);
- copyfiles("$original_dir/../","README.install",$instd,1);
+ copyfiles("$original_dir/NX-2.2-B09/","source",$instd,1);
+ copyfiles("$original_dir/NX-2.2-B09/","docs",$instd,1);
+ copyfiles("$original_dir/NX-2.2-B09/","test-nx",$instd,1);
+ copyfiles("$original_dir/NX-2.2-B09/","batch",$instd,1);
+ copyfiles("$original_dir/NX-2.2-B09/","install",$instd,1);
+ copyfiles("$original_dir/NX-2.2-B09/","README.install",$instd,1);
# Create bin directory
if (!-e $bin){
system("mkdir $bin");

View File

@ -0,0 +1,30 @@
# IT4Innovations 2021
# LK
easyblock = 'PythonPackage'
name = 'pkgconfig'
version = '1.5.1'
versionsuffix = '-Python-3.8.6'
homepage = 'https://github.com/matze/pkgconfig'
description = """pkgconfig is a Python module to interface with the pkg-config command line tool"""
toolchain = {'name': 'GCCcore', 'version': '10.2.0'}
source_urls = [PYPI_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['97bfe3d981bab675d5ea3ef259045d7919c93897db7d3b59d4e8593cba8d354f']
builddependencies = [('binutils', '2.35')]
dependencies = [
('Python', '3.8.6'),
('pkg-config', '0.29.2'),
]
use_pip = True
download_dep_fail = True
sanity_pip_check = True
moduleclass = 'devel'

View File

@ -0,0 +1,30 @@
# IT4Innovations 2021
# LK
name = 'pybind11'
version = '2.4.3'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://pybind11.readthedocs.io'
description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa,
mainly to create Python bindings of existing C++ code."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
source_urls = ['https://github.com/pybind/pybind11/archive/']
sources = ['v%(version)s.tar.gz']
patches = ['%(name)s-%(version)s-fix-get-include.patch']
checksums = [
'1eed57bc6863190e35637290f97a20c81cfe4d9090ac0a24f3bbf08f265eb71d', # v2.4.3.tar.gz
'b03550f05dcff97eeb3d7f4cd393b0584341ac7a310c89ee120f95e54fdc3125', # pybind11-2.4.3-fix-get-include.patch
]
builddependencies = [
('CMake', '3.18.4'),
('Eigen', '3.3.8'),
]
dependencies = [('Python', '3.8.6')]
configopts = "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python"
moduleclass = 'lib'

View File

@ -0,0 +1,26 @@
# IT4Innovations 2021
# LK
name = 'pybind11'
version = '2.6.0'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://pybind11.readthedocs.io'
description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa,
mainly to create Python bindings of existing C++ code."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
source_urls = ['https://github.com/pybind/pybind11/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['90b705137b69ee3b5fc655eaca66d0dc9862ea1759226f7ccd3098425ae69571']
builddependencies = [
('CMake', '3.18.4'),
('Eigen', '3.3.8'),
]
dependencies = [('Python', '3.8.6')]
configopts = "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python"
moduleclass = 'lib'

View File

@ -0,0 +1,40 @@
# IT4Innovations 2021
# LK
easyblock='Binary'
name = "Schrodinger"
version = "2021-2"
versionsuffix = "_Linux-x86_64"
homepage = 'http://www.schrodinger.com/'
description = """ Schrödinger aims to provide integrated software solutions and services
that truly meet its customers needs. We want to empower researchers around the world to
achieve their goals of improving human health and quality of life through advanced local_computational
techniques that transform the way chemists design local_compounds and materials. """
toolchain = SYSTEM
#Schrodinger_Suites_2021-2_Linux-x86_64.tar
sources = ['%(name)s_Suites_%(version)s%(versionsuffix)s.tar']
# -d <distribution-dir>... directory containing the install files
# -m ..................... manual mode (no automatically included modules)
# -b ..................... batch install
# -s <SCHRODINGER> ....... installation directory
# -k <tmpdir> ............ scratch directory
# -t <thirdparty-dir> .... install directory for third-party modules
install_cmd = 'tar xfv Schrodinger_Suites_%(version)s%(versionsuffix)s.tar && '
install_cmd += 'cd Schrodinger_Suites_%(version)s%(versionsuffix)s && '
install_cmd += './INSTALL -d . -s %(installdir)s -k %(builddir)s -t %(installdir)s/thirdparty -b *'
modextrapaths = {'SCHRODINGER': ''}
modextravars = {'SCHROD_LICENSE_FILE': '/apps/licenses/Schrodinger/license.dat'}
sanity_check_paths = {
'files': ["maestro", "desmond" ],
'dirs': ["thirdparty"]
}
moduleclass = 'chem'

View File

@ -0,0 +1,58 @@
# IT4Innovations 2021
# LK
easyblock = 'PythonBundle'
name = 'SciPy-bundle'
version = '2020.03'
versionsuffix = '-Python-3.8.6'
homepage = 'https://python.org/'
description = "Bundle of Python packages for scientific software"
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'pic': True, 'lowopt': True}
dependencies = [
('Python', '3.8.6'),
('pybind11', '2.6.0', '-GCC-10.2.0-Python-3.8.6', True), # required by scipy
]
use_pip = True
exts_default_options = {'source_urls': [PYPI_SOURCE]}
# order is important!
exts_list = [
('numpy', '1.18.3', {
'patches': ['numpy-1.18.2-mkl.patch'],
'source_tmpl': '%(name)s-%(version)s.zip',
'checksums': [
'e46e2384209c91996d5ec16744234d1c906ab79a701ce1a26155c9ec890b8dc8', # numpy-1.18.2.zip
'ea25ad5c0148c1398d282f0424e642fb9815a1a80f4512659b018e2adc378bcf', # numpy-1.18.2-mkl.patch
],
}),
('scipy', '1.4.1', {
'patches': ['scipy-1.4.1-fix-pthread.patch'],
'checksums': [
'dee1bbf3a6c8f73b6b218cb28eed8dd13347ea2f87d572ce19b289d6fd3fbc59', # scipy-1.4.1.tar.gz
'4e2162a93caddce63a1aa2dfb6c181774a4f6615950e1d60c54bb4308fee3bb3', # scipy-1.4.1-fix-pthread.patch
],
}),
('mpi4py', '3.0.3', {
'checksums': ['012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f'],
}),
('pandas', '1.0.3', {
'checksums': ['32f42e322fb903d0e189a4c10b75ba70d90958cc4f66a1781ed027f1a1d14586'],
}),
('mpmath', '1.1.0', {
'checksums': ['fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6'],
}),
('deap', '1.3.1', {
'checksums': ['11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f'],
}),
]
sanity_pip_check = True
moduleclass = 'lang'

View File

@ -0,0 +1,65 @@
# IT4Innovations 2021
# LK
easyblock = 'PythonBundle'
name = 'SciPy-bundle'
version = '2021.05'
homepage = 'https://python.org/'
description = "Bundle of Python packages for scientific software"
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'pic': True, 'lowopt': True}
builddependencies = [('hypothesis', '6.13.1', '', ('GCC', '10.2.0'))]
dependencies = [
('Python', '3.8.6'),
('pybind11', '2.6.0'), # required by scipy
]
use_pip = True
# order is important!
exts_list = [
('numpy', '1.20.3', {
'sources': [SOURCE_ZIP],
'patches': [
'numpy-1.20.3_skip-ppc-long-complex-test.patch',
'numpy-1.20.3_xfail-test-nan.patch',
],
'checksums': [
'e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69', # numpy-1.20.3.zip
# numpy-1.20.3_skip-ppc-long-complex-test.patch
'2f9a12e3a352b39076db84a7622fc8f4796abd3cb7f97f71958a495e864659a4',
'f0ce961f7d79551598e23050d92f46e827e300f6a7e5a6112e58efcc10385d4d', # numpy-1.20.3_xfail-test-nan.patch
],
}),
('scipy', '1.6.3', {
'checksums': ['a75b014d3294fce26852a9d04ea27b5671d86736beb34acdfc05859246260707'],
}),
('mpi4py', '3.0.3', {
'checksums': ['012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f'],
}),
('numexpr', '2.7.3', {
'checksums': ['43616529f9b7d1afc83386f943dc66c4da5e052f00217ba7e3ad8dd1b5f3a825'],
}),
('Bottleneck', '1.3.2', {
'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'],
}),
('pandas', '1.2.4', {
'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """,
'checksums': ['649ecab692fade3cbfcf967ff936496b0cfba0af00a55dfaacd82bdda5cb2279'],
}),
('mpmath', '1.2.1', {
'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'],
}),
('deap', '1.3.1', {
'checksums': ['11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f'],
}),
]
sanity_pip_check = True
moduleclass = 'lang'