diff --git a/a/arpack-ng/arpack-ng-3.8.0-intel-2020b.eb b/a/arpack-ng/arpack-ng-3.8.0-intel-2020b.eb new file mode 100644 index 00000000..b9d8ff5f --- /dev/null +++ b/a/arpack-ng/arpack-ng-3.8.0-intel-2020b.eb @@ -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' diff --git a/b/BerkeleyGW/BerkeleyGW-2.1.0-intel-2020b-Python-3.8.6.eb b/b/BerkeleyGW/BerkeleyGW-2.1.0-intel-2020b-Python-3.8.6.eb new file mode 100644 index 00000000..80c87747 --- /dev/null +++ b/b/BerkeleyGW/BerkeleyGW-2.1.0-intel-2020b-Python-3.8.6.eb @@ -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' diff --git a/b/BerkeleyGW/BerkeleyGW-2.1.0_missing_file.patch b/b/BerkeleyGW/BerkeleyGW-2.1.0_missing_file.patch new file mode 100644 index 00000000..7fa12e0d --- /dev/null +++ b/b/BerkeleyGW/BerkeleyGW-2.1.0_missing_file.patch @@ -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 diff --git a/b/BerkeleyGW/BerkeleyGW-2.1.0_tests.patch b/b/BerkeleyGW/BerkeleyGW-2.1.0_tests.patch new file mode 100644 index 00000000..c2ed8e4f --- /dev/null +++ b/b/BerkeleyGW/BerkeleyGW-2.1.0_tests.patch @@ -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 diff --git a/d/DFTB+/DFTB+-21.1-intel-2020b-Python-3.8.6.eb b/d/DFTB+/DFTB+-21.1-intel-2020b-Python-3.8.6.eb new file mode 100644 index 00000000..5db65cc7 --- /dev/null +++ b/d/DFTB+/DFTB+-21.1-intel-2020b-Python-3.8.6.eb @@ -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' diff --git a/d/DFTB+/config.cmake-MANUAL-INSTALATION.patch b/d/DFTB+/config.cmake-MANUAL-INSTALATION.patch new file mode 100644 index 00000000..fbbb2fea --- /dev/null +++ b/d/DFTB+/config.cmake-MANUAL-INSTALATION.patch @@ -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) diff --git a/d/dftd3-lib/dftd3-lib-0.9.2-GCC-10.2.0.eb b/d/dftd3-lib/dftd3-lib-0.9.2-GCC-10.2.0.eb new file mode 100644 index 00000000..e8e7d186 --- /dev/null +++ b/d/dftd3-lib/dftd3-lib-0.9.2-GCC-10.2.0.eb @@ -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' diff --git a/d/dftd3-lib/dftd3-lib-0.9.2_fix-extras-syntax.patch b/d/dftd3-lib/dftd3-lib-0.9.2_fix-extras-syntax.patch new file mode 100644 index 00000000..cc64d8b4 --- /dev/null +++ b/d/dftd3-lib/dftd3-lib-0.9.2_fix-extras-syntax.patch @@ -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 diff --git a/e/ELPA/ELPA-2019.11.001-intel-2020b.eb b/e/ELPA/ELPA-2019.11.001-intel-2020b.eb new file mode 100644 index 00000000..fefe7ac4 --- /dev/null +++ b/e/ELPA/ELPA-2019.11.001-intel-2020b.eb @@ -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' diff --git a/h/HDF5/HDF5-1.10.6-iimpi-2020b.eb b/h/HDF5/HDF5-1.10.6-iimpi-2020b.eb new file mode 100644 index 00000000..9361915b --- /dev/null +++ b/h/HDF5/HDF5-1.10.6-iimpi-2020b.eb @@ -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' diff --git a/h/h5py/h5py-2.10.0-intel-2020b-Python-3.8.6.eb b/h/h5py/h5py-2.10.0-intel-2020b-Python-3.8.6.eb new file mode 100644 index 00000000..c8f72709 --- /dev/null +++ b/h/h5py/h5py-2.10.0-intel-2020b-Python-3.8.6.eb @@ -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' diff --git a/h/hypothesis/hypothesis-6.13.1-GCC-10.2.0.eb b/h/hypothesis/hypothesis-6.13.1-GCC-10.2.0.eb new file mode 100644 index 00000000..07e856c1 --- /dev/null +++ b/h/hypothesis/hypothesis-6.13.1-GCC-10.2.0.eb @@ -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' diff --git a/i/impi/impi-2021.2.0-intel-compilers-2021.2.0.eb b/i/impi/impi-2021.2.0-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000..17b84017 --- /dev/null +++ b/i/impi/impi-2021.2.0-intel-compilers-2021.2.0.eb @@ -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' diff --git a/i/intel-compilers/intel-compilers-2021.2.0.eb b/i/intel-compilers/intel-compilers-2021.2.0.eb new file mode 100644 index 00000000..6c543722 --- /dev/null +++ b/i/intel-compilers/intel-compilers-2021.2.0.eb @@ -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' diff --git a/n/Newton-X/Newton-X-2.2-B09-intel-2020b.eb b/n/Newton-X/Newton-X-2.2-B09-intel-2020b.eb new file mode 100644 index 00000000..413f5323 --- /dev/null +++ b/n/Newton-X/Newton-X-2.2-B09-intel-2020b.eb @@ -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' diff --git a/n/Newton-X/newton-x-2.2.patch b/n/Newton-X/newton-x-2.2.patch new file mode 100644 index 00000000..2ec9ed9c --- /dev/null +++ b/n/Newton-X/newton-x-2.2.patch @@ -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 "; +- $_ = ; +- chomp;$_ =~ s/^\s*//;$_ =~ s/\s*$//; +- $instd = $_; ++ #print STDOUT "\n Please enter directory for the NEWTON-X installation \n "; ++ #$_ = ; ++ #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 ( for default): "; +- $_=; ++ $_=$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"); diff --git a/p/pkgconfig/pkgconfig-1.5.1-GCCcore-10.2.0-python.eb b/p/pkgconfig/pkgconfig-1.5.1-GCCcore-10.2.0-python.eb new file mode 100644 index 00000000..350505d9 --- /dev/null +++ b/p/pkgconfig/pkgconfig-1.5.1-GCCcore-10.2.0-python.eb @@ -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' diff --git a/p/pybind11/pybind11-2.4.3-GCC-10.2.0-Python-3.8.6.eb b/p/pybind11/pybind11-2.4.3-GCC-10.2.0-Python-3.8.6.eb new file mode 100644 index 00000000..3a9454cf --- /dev/null +++ b/p/pybind11/pybind11-2.4.3-GCC-10.2.0-Python-3.8.6.eb @@ -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' diff --git a/p/pybind11/pybind11-2.6.0-GCC-10.2.0-Python-3.8.6.eb b/p/pybind11/pybind11-2.6.0-GCC-10.2.0-Python-3.8.6.eb new file mode 100644 index 00000000..e54c1518 --- /dev/null +++ b/p/pybind11/pybind11-2.6.0-GCC-10.2.0-Python-3.8.6.eb @@ -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' diff --git a/s/Schrodinger/Schrodinger_2021-2_Linux-x86_64.eb b/s/Schrodinger/Schrodinger_2021-2_Linux-x86_64.eb new file mode 100644 index 00000000..5b70d1a7 --- /dev/null +++ b/s/Schrodinger/Schrodinger_2021-2_Linux-x86_64.eb @@ -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 ... directory containing the install files +# -m ..................... manual mode (no automatically included modules) +# -b ..................... batch install +# -s ....... installation directory +# -k ............ scratch directory +# -t .... 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' diff --git a/s/SciPy-bundle/SciPy-bundle-2020.03-intel-2020b-Python-3.8.6.eb b/s/SciPy-bundle/SciPy-bundle-2020.03-intel-2020b-Python-3.8.6.eb new file mode 100644 index 00000000..4fb21452 --- /dev/null +++ b/s/SciPy-bundle/SciPy-bundle-2020.03-intel-2020b-Python-3.8.6.eb @@ -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' diff --git a/s/SciPy-bundle/SciPy-bundle-2021.05-intel-2020b.eb b/s/SciPy-bundle/SciPy-bundle-2021.05-intel-2020b.eb new file mode 100644 index 00000000..09ff82d6 --- /dev/null +++ b/s/SciPy-bundle/SciPy-bundle-2021.05-intel-2020b.eb @@ -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'