From cbd33291460e8835fef358d94f33accf504f172a Mon Sep 17 00:00:00 2001 From: Lukas Krupcik Date: Thu, 5 May 2022 10:20:31 +0200 Subject: [PATCH] modified: d/Dakota/Dakota-6.15.0-foss-2021b.eb modified: d/Dakota/Dakota-6.15.0-intel-2021b.eb new file: e/Extrae/Extrae-3.8.3-gompi-2021a.eb new file: f/FoX/FoX-4.1.2-intel-2020b.eb new file: g/GROMACS/GROMACS-2022-fosscuda-2020b.eb new file: h/HDF5/HDF5-1.10.7-gompi-2021a.eb new file: l/libxc/libxc-5.1.3-intel-2020b.eb new file: p/PLUMED/PLUMED-2.8.0-fosscuda-2020b.eb modified: p/Paraver/Paraver-4.10.0-foss-2021a.eb new file: q/QMCPACK/QMCPACK-3.14.0-foss-2021a-Python-3.9.5.eb new file: q/QMCPACK/QMCPACK-3.14.0-intel-2020b-Python-3.8.6-test.eb new file: q/QMCPACK/QMCPACK-3.14.0-intel-2020b-Python-3.8.6.eb new file: q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2020b-forQMCPACK.eb new file: q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2020b-test.eb new file: q/QuantumESPRESSO/QuantumESPRESSO-intel-2020b-forQMCPACK-fix-UtilXlib-Makefile-tab.patch new file: s/SDE/SDE-9.0.0.eb --- d/Dakota/Dakota-6.15.0-foss-2021b.eb | 4 +- d/Dakota/Dakota-6.15.0-intel-2021b.eb | 4 +- e/Extrae/Extrae-3.8.3-gompi-2021a.eb | 32 ++++++++ f/FoX/FoX-4.1.2-intel-2020b.eb | 26 +++++++ g/GROMACS/GROMACS-2022-fosscuda-2020b.eb | 75 +++++++++++++++++++ h/HDF5/HDF5-1.10.7-gompi-2021a.eb | 26 +++++++ l/libxc/libxc-5.1.3-intel-2020b.eb | 45 +++++++++++ p/PLUMED/PLUMED-2.8.0-fosscuda-2020b.eb | 59 +++++++++++++++ p/Paraver/Paraver-4.10.0-foss-2021a.eb | 2 +- .../QMCPACK-3.14.0-foss-2021a-Python-3.9.5.eb | 64 ++++++++++++++++ ...CK-3.14.0-intel-2020b-Python-3.8.6-test.eb | 69 +++++++++++++++++ ...QMCPACK-3.14.0-intel-2020b-Python-3.8.6.eb | 70 +++++++++++++++++ ...ntumESPRESSO-7.0-intel-2020b-forQMCPACK.eb | 73 ++++++++++++++++++ .../QuantumESPRESSO-7.0-intel-2020b-test.eb | 72 ++++++++++++++++++ ...forQMCPACK-fix-UtilXlib-Makefile-tab.patch | 12 +++ s/SDE/SDE-9.0.0.eb | 37 +++++++++ 16 files changed, 665 insertions(+), 5 deletions(-) create mode 100644 e/Extrae/Extrae-3.8.3-gompi-2021a.eb create mode 100644 f/FoX/FoX-4.1.2-intel-2020b.eb create mode 100644 g/GROMACS/GROMACS-2022-fosscuda-2020b.eb create mode 100644 h/HDF5/HDF5-1.10.7-gompi-2021a.eb create mode 100644 l/libxc/libxc-5.1.3-intel-2020b.eb create mode 100644 p/PLUMED/PLUMED-2.8.0-fosscuda-2020b.eb create mode 100644 q/QMCPACK/QMCPACK-3.14.0-foss-2021a-Python-3.9.5.eb create mode 100644 q/QMCPACK/QMCPACK-3.14.0-intel-2020b-Python-3.8.6-test.eb create mode 100644 q/QMCPACK/QMCPACK-3.14.0-intel-2020b-Python-3.8.6.eb create mode 100644 q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2020b-forQMCPACK.eb create mode 100644 q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2020b-test.eb create mode 100644 q/QuantumESPRESSO/QuantumESPRESSO-intel-2020b-forQMCPACK-fix-UtilXlib-Makefile-tab.patch create mode 100644 s/SDE/SDE-9.0.0.eb diff --git a/d/Dakota/Dakota-6.15.0-foss-2021b.eb b/d/Dakota/Dakota-6.15.0-foss-2021b.eb index b6d438da..38046e3e 100644 --- a/d/Dakota/Dakota-6.15.0-foss-2021b.eb +++ b/d/Dakota/Dakota-6.15.0-foss-2021b.eb @@ -1,5 +1,5 @@ -# https://github.com/easybuilders/easybuild-easyconfigs/pull/12275/commits/4ee39c881caa7638c4c9ddd08b967608f844e90c -# JK 2022 upraveno +# based on https://github.com/easybuilders/easybuild-easyconfigs/pull/12275/commits/4ee39c881caa7638c4c9ddd08b967608f844e90c +# JK 2022 easyblock = 'CMakeMake' diff --git a/d/Dakota/Dakota-6.15.0-intel-2021b.eb b/d/Dakota/Dakota-6.15.0-intel-2021b.eb index 8ea7d788..b7caf003 100644 --- a/d/Dakota/Dakota-6.15.0-intel-2021b.eb +++ b/d/Dakota/Dakota-6.15.0-intel-2021b.eb @@ -1,5 +1,5 @@ -# https://github.com/easybuilders/easybuild-easyconfigs/pull/12275/commits/4ee39c881caa7638c4c9ddd08b967608f844e90c -# JK 2022 upraveno +# based on https://github.com/easybuilders/easybuild-easyconfigs/pull/12275/commits/4ee39c881caa7638c4c9ddd08b967608f844e90c +# JK 2022 easyblock = 'CMakeMake' diff --git a/e/Extrae/Extrae-3.8.3-gompi-2021a.eb b/e/Extrae/Extrae-3.8.3-gompi-2021a.eb new file mode 100644 index 00000000..ad0c31c6 --- /dev/null +++ b/e/Extrae/Extrae-3.8.3-gompi-2021a.eb @@ -0,0 +1,32 @@ +## +# Author: Robert Mijakovic +## +name = 'Extrae' +version = '3.8.3' + +homepage = 'https://www.bsc.es/computer-sciences/performance-tools' +description = """Extrae is the core instrumentation package developed by +the Performance Tools group at BSC. Extrae is capable of instrumenting +applications based on MPI, OpenMP, pthreads, CUDA1, OpenCL1, and StarSs1 +using different instrumentation approaches. The information gathered by +Extrae typically includes timestamped events of runtime calls, +performance counters and source code references. Besides, Extrae +provides its own API to allow the user to manually instrument his or her +application.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://ftp.tools.bsc.es/%(namelower)s'] +sources = ['%(namelower)s-%(version)s-src.tar.bz2'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Boost', '1.76.0'), + ('libunwind', '1.4.0'), + ('libxml2', '2.9.10'), + ('libdwarf', '20210305'), + ('PAPI', '6.0.0.1'), +] + +moduleclass = 'perf' diff --git a/f/FoX/FoX-4.1.2-intel-2020b.eb b/f/FoX/FoX-4.1.2-intel-2020b.eb new file mode 100644 index 00000000..456399e0 --- /dev/null +++ b/f/FoX/FoX-4.1.2-intel-2020b.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'FoX' +version = '4.1.2' + +homepage = 'http://homepages.see.leeds.ac.uk/~earawa/FoX/' +description = """FoX is an XML library written in Fortran 95. +It allows software developers to read, write and modify XML documents from Fortran applications without the +complications of dealing with multi-language development.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +source_urls = ['http://homepages.see.leeds.ac.uk/~earawa/FoX/source/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3b749138229e7808d0009a97e2ac47815ad5278df6879a9cc64351a7921ba06f'] + +sanity_check_paths = { + 'files': ['lib/libFoX_%s.a' % x for x in ['common', 'dom', 'fsys', 'sax', 'utils', 'wcml', 'wkml', 'wxml']], + 'dirs': ['finclude', 'lib', 'bin'] +} + +modextrapaths = { + 'CPATH': ['finclude'], +} + +moduleclass = 'lib' diff --git a/g/GROMACS/GROMACS-2022-fosscuda-2020b.eb b/g/GROMACS/GROMACS-2022-fosscuda-2020b.eb new file mode 100644 index 00000000..9556612a --- /dev/null +++ b/g/GROMACS/GROMACS-2022-fosscuda-2020b.eb @@ -0,0 +1,75 @@ +# IT4Innovations +# LK JK 2022 +# WIP + +name = 'GROMACS' +version = '2022' +#local_plum_ver = '2.8.0' # no support for GROMACS 2022 yet +#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'} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'openmp': True, 'usempi': True, 'optarch': 'march=core-avx2', 'pic': True} +else: + toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = [ + 'https://ftp.gromacs.org/pub/gromacs/', + 'ftp://ftp.gromacs.org/pub/gromacs/', +] +sources = [SOURCELOWER_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-2021.5_fix_threads_gpu_Gmxapitests.patch', +] + +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', +} + +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0'] + +moduleclass = 'bio' diff --git a/h/HDF5/HDF5-1.10.7-gompi-2021a.eb b/h/HDF5/HDF5-1.10.7-gompi-2021a.eb new file mode 100644 index 00000000..7253274e --- /dev/null +++ b/h/HDF5/HDF5-1.10.7-gompi-2021a.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +version = '1.10.7' + +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': 'gompi', 'version': '2021a'} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'} +else: + 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 = ['7a1a0a54371275ce2dfc5cd093775bb025c365846512961e7e5ceaecb437ef15'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/l/libxc/libxc-5.1.3-intel-2020b.eb b/l/libxc/libxc-5.1.3-intel-2020b.eb new file mode 100644 index 00000000..e6d85719 --- /dev/null +++ b/l/libxc/libxc-5.1.3-intel-2020b.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '5.1.3' + +homepage = 'https://www.tddft.org/programs/libxc' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['0350defdd6c1b165e4cf19995f590eee6e0b9db95a6b221d28cecec40f4e85cd'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('Perl', '5.32.0'), +] + +separate_build_dir = True + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=OFF" + +# perform iterative build to get both static and shared libraries +configopts = [ + local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +parallel = 1 + +# make sure that built libraries (libxc*.so*) in build directory are picked when running tests +# this is required when RPATH linking is used +pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && " + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/xc-info'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'share/cmake/Libxc'], +} + +moduleclass = 'chem' diff --git a/p/PLUMED/PLUMED-2.8.0-fosscuda-2020b.eb b/p/PLUMED/PLUMED-2.8.0-fosscuda-2020b.eb new file mode 100644 index 00000000..2496d4ba --- /dev/null +++ b/p/PLUMED/PLUMED-2.8.0-fosscuda-2020b.eb @@ -0,0 +1,59 @@ +# IT4Innovations +# LK 2021 + +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': 'fosscuda', 'version': '2020b'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['24b243c531fa83752be5e54f5f0b677164855da539bc2b2c5b00dcc9f192aa82'] + +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' diff --git a/p/Paraver/Paraver-4.10.0-foss-2021a.eb b/p/Paraver/Paraver-4.10.0-foss-2021a.eb index a5e955d2..097a8329 100644 --- a/p/Paraver/Paraver-4.10.0-foss-2021a.eb +++ b/p/Paraver/Paraver-4.10.0-foss-2021a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'foss', 'version': '2021a'} source_urls = ['https://ftp.tools.bsc.es/wxparaver/'] sources = ['wxparaver-%(version)s-src.tar.bz2'] -checksums = ['83289584040bcedf8cab1b2ae3545191c8bdef0e11ab62b06e54cbf111f2127a'] +checksums = ['85a15502f24831178730533c587320a7452b877cd58e54e5c127fb6ba6ac8f77'] dependencies = [ ('zlib', '1.2.11'), diff --git a/q/QMCPACK/QMCPACK-3.14.0-foss-2021a-Python-3.9.5.eb b/q/QMCPACK/QMCPACK-3.14.0-foss-2021a-Python-3.9.5.eb new file mode 100644 index 00000000..0b26ed71 --- /dev/null +++ b/q/QMCPACK/QMCPACK-3.14.0-foss-2021a-Python-3.9.5.eb @@ -0,0 +1,64 @@ +# IT4Innovations 2022 +# JK + +easyblock = 'CMakeMake' + +name = 'QMCPACK' +version = '3.14.0' +versionsuffix = "-Python-%(pyver)s" + +homepage = "https://qmcpack.org/" +description = """QMCPACK, is a modern high-performance open-source Quantum Monte Carlo (QMC) simulation code. Its main applications are electronic structure calculations of molecular, quasi-2D and solid-state systems. Variational Monte Carlo (VMC), diffusion Monte Carlo (DMC) and a number of other advanced QMC algorithms are implemented. Orbital space auxiliary field QMC (AFQMC) has recently been added. By directly solving the Schrodinger equation, QMC methods offer greater accuracy than methods such as density functional theory, but at a trade-off of much greater local_computational expense. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'opt': True, 'pic': True, 'usempi': True} + +source_urls = ['https://github.com/QMCPACK/qmcpack/archive/'] +sources = ['v%(version)s.tar.gz'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('libxml2', '2.9.10'), + ('lxml', '4.6.3'), + ('Boost', '1.77.0'), + ('HDF5', '1.10.7'), + ('Python', '3.9.5'), + ('h5py', '3.2.1'), + ('SciPy-bundle', '2021.05'), + ('FFTW', '3.3.9'), +# ('PySCF', '2.0.1'), +# ('mpi4pyscf', '0.3.1'), +] + +separate_build_dir = True + +configopts = ' -DENABLE_SOA=1 ' +configopts = ' -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx ' +configopts += ' -DHDF5_PREFER_PARALLEL=1 -DENABLE_PHDF5=1 ' +configopts += ' -DQMC_SYMLINK_TEST_FILES=0 ' +configopts += ' -DCMAKE_BUILD_TYPE=Release ' +configopts += ' -DQMC_OMP=ON ' +configopts += ' -DCMAKE_INSTALL_PREFIX=%(installdir)s' +configopts += ' -DINSTALL_NEXUS=ON ' +configopts += ' -DBUILD_UNIT_TESTS=ON -DBUILD_MICRO_BENCHMARKS=ON ' +configopts += ' -DBUILD_AFQMC=ON ' # FCIQMC fails + +preinstallopts = [ +# ' ctest -j128 -V short -LE unstable || true && ' # run CMake tests in parallel + ' mkdir -p %(installdir)s/nexus && ', + ' mkdir -p %(installdir)s/QMCTools && ', + ' cp -r %(builddir)s/qmcpack-%(version)s/nexus %(installdir)s/ && ', + ' cp %(builddir)s/qmcpack-%(version)s/src/QMCTools/*.py %(installdir)s/QMCTools/ && ', +] + + +modextrapaths = {'PYTHONPATH': ['nexus/lib', 'QMCTools']} + +sanity_check_paths = { + 'files': ['bin/qmcpack'], + 'dirs': ['bin'], +} + +moduleclass = 'phys' diff --git a/q/QMCPACK/QMCPACK-3.14.0-intel-2020b-Python-3.8.6-test.eb b/q/QMCPACK/QMCPACK-3.14.0-intel-2020b-Python-3.8.6-test.eb new file mode 100644 index 00000000..b9917e64 --- /dev/null +++ b/q/QMCPACK/QMCPACK-3.14.0-intel-2020b-Python-3.8.6-test.eb @@ -0,0 +1,69 @@ +# IT4Innovations 2022 +# JK + +easyblock = 'CMakeMake' + +name = 'QMCPACK' +version = '3.14.0' +versionsuffix = "-Python-%(pyver)s-test" + +homepage = "https://qmcpack.org/" +description = """QMCPACK, is a modern high-performance open-source Quantum Monte Carlo (QMC) simulation code. Its main applications are electronic structure calculations of molecular, quasi-2D and solid-state systems. Variational Monte Carlo (VMC), diffusion Monte Carlo (DMC) and a number of other advanced QMC algorithms are implemented. Orbital space auxiliary field QMC (AFQMC) has recently been added. By directly solving the Schrodinger equation, QMC methods offer greater accuracy than methods such as density functional theory, but at a trade-off of much greater local_computational expense. +""" + +toolchain = {'name': 'intel', 'version': '2020b'} +#import os +#if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: +# toolchainopts = {'opt': True, 'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'} +# prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) &&" +#else: +# toolchainopts = {'opt': True, 'pic': True, 'usempi': True} +toolchainopts = {'opt': True, 'usempi': True} + +source_urls = ['https://github.com/QMCPACK/qmcpack/archive/'] +sources = ['v%(version)s.tar.gz'] + +builddependencies = [('CMake', '3.20.1')] + +# delete GCC from the module file - hack for compilation with intel toolchain +dependencies = [ + ('libxml2', '2.9.10'), + ('Boost', '1.74.0'), + ('HDF5', '1.10.7', '', ('iimpi', '2020b')), + ('Python', '3.8.6'), + ('h5py', '3.1.0'), + ('SciPy-bundle', '2020.11'), + ('FFTW', '3.3.8'), +# ('PySCF', '2.0.1'), # does not work with intel toolchain + ('GCC', '8.3.0-2.32', '', True), # downgrade from 9.3.0 to compile 3.14.0 +] + +separate_build_dir = True + +configopts = ' -DENABLE_SOA=1 ' +configopts += ' -DCMAKE_C_COMPILER=mpiicc -DCMAKE_CXX_COMPILER=mpiicpc ' +configopts += ' -DHDF5_PREFER_PARALLEL=1 -DENABLE_PHDF5=1 ' +configopts += ' -DQMC_SYMLINK_TEST_FILES=0 ' +configopts += ' -DCMAKE_BUILD_TYPE=Release ' +configopts += ' -DQMC_OMP=ON ' +configopts += ' -DCMAKE_INSTALL_PREFIX=%(installdir)s' +configopts += ' -DINSTALL_NEXUS=ON ' +configopts += ' -DBUILD_UNIT_TESTS=ON -DBUILD_MICRO_BENCHMARKS=ON ' +configopts += ' -DBUILD_AFQMC=ON ' # FCIQMC fails + +preinstallopts = [ +# ' ctest -j128 -V -R short -LE unstable && ' # run CMake tests in parallel + ' mkdir -p %(installdir)s/nexus && ', + ' mkdir -p %(installdir)s/QMCTools && ', + ' cp -r %(builddir)s/qmcpack-%(version)s/nexus %(installdir)s/ && ', + ' cp %(builddir)s/qmcpack-%(version)s/src/QMCTools/*.py %(installdir)s/QMCTools/ && ', +] + +modextrapaths = {'PYTHONPATH': ['nexus/lib', 'QMCTools']} + +sanity_check_paths = { + 'files': ['bin/qmcpack'], + 'dirs': ['bin'], +} + +moduleclass = 'phys' diff --git a/q/QMCPACK/QMCPACK-3.14.0-intel-2020b-Python-3.8.6.eb b/q/QMCPACK/QMCPACK-3.14.0-intel-2020b-Python-3.8.6.eb new file mode 100644 index 00000000..23ab59de --- /dev/null +++ b/q/QMCPACK/QMCPACK-3.14.0-intel-2020b-Python-3.8.6.eb @@ -0,0 +1,70 @@ +# IT4Innovations 2022 +# JK + +easyblock = 'CMakeMake' + +name = 'QMCPACK' +version = '3.14.0' +versionsuffix = "-Python-%(pyver)s" + +homepage = "https://qmcpack.org/" +description = """QMCPACK, is a modern high-performance open-source Quantum Monte Carlo (QMC) simulation code. Its main applications are electronic structure calculations of molecular, quasi-2D and solid-state systems. Variational Monte Carlo (VMC), diffusion Monte Carlo (DMC) and a number of other advanced QMC algorithms are implemented. Orbital space auxiliary field QMC (AFQMC) has recently been added. By directly solving the Schrodinger equation, QMC methods offer greater accuracy than methods such as density functional theory, but at a trade-off of much greater local_computational expense. +""" + +toolchain = {'name': 'intel', 'version': '2020b'} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'opt': True, 'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'} + prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) &&" +else: + toolchainopts = {'opt': True, 'pic': True, 'usempi': True} + +source_urls = ['https://github.com/QMCPACK/qmcpack/archive/'] +sources = ['v%(version)s.tar.gz'] + +builddependencies = [('CMake', '3.20.1', '', True)] + +# odstran z module file GCC 8.3.0 - rovnak na intel +dependencies = [ + ('libxml2', '2.9.10'), + ('Boost', '1.74.0'), + ('HDF5', '1.10.7', '', ('iimpi', '2020b')), + ('Python', '3.8.6'), + ('h5py', '3.1.0'), + ('SciPy-bundle', '2020.11'), + ('FFTW', '3.3.8'), +# ('PySCF', '2.0.1'), # does not work with intel toolchain + ('GCC', '8.3.0-2.32', '', True), +] + +separate_build_dir = True + +configopts = ' -DENABLE_SOA=1 ' +configopts += ' -DCMAKE_C_COMPILER=mpiicc -DCMAKE_CXX_COMPILER=mpiicpc ' +configopts += ' -DHDF5_PREFER_PARALLEL=1 -DENABLE_PHDF5=1 ' +configopts += ' -DQMC_SYMLINK_TEST_FILES=0 ' +configopts += ' -DCMAKE_BUILD_TYPE=Release ' +configopts += ' -DQMC_OMP=ON ' +configopts += ' -DCMAKE_INSTALL_PREFIX=%(installdir)s' +configopts += ' -DINSTALL_NEXUS=ON ' +configopts += ' -DBUILD_UNIT_TESTS=ON -DBUILD_MICRO_BENCHMARKS=ON ' +configopts += ' -DBUILD_AFQMC=ON ' # FCIQMC fails + +# prekopiruje nexus knihovny o kterych install file tvrdi, ze nejsou potreba +# ale evidentne to bez nich nejede + +preinstallopts = [ + ' mkdir -p %(installdir)s/nexus && ', + ' mkdir -p %(installdir)s/QMCTools && ', + ' cp -r %(builddir)s/qmcpack-%(version)s/nexus %(installdir)s/ && ', + ' cp %(builddir)s/qmcpack-%(version)s/src/QMCTools/*.py %(installdir)s/QMCTools/ && ', +] + +modextrapaths = {'PYTHONPATH': ['nexus/lib', 'QMCTools']} + +sanity_check_paths = { + 'files': ['bin/qmcpack'], + 'dirs': ['bin'], +} + +moduleclass = 'phys' diff --git a/q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2020b-forQMCPACK.eb b/q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2020b-forQMCPACK.eb new file mode 100644 index 00000000..1e814e0e --- /dev/null +++ b/q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2020b-forQMCPACK.eb @@ -0,0 +1,73 @@ +# JK 2022 +# to get the source code, clone +# https://github.com/QMCPACK/qmcpack.git +# and run the appropriate download and patch script from +# qmcpack/external_codes/quantum_espresso/ +# +# CHANGELOG +# see https://github.com/QMCPACK/qmcpack/issues/3967 +# CMake is necessary for the pw2qmcpack +# w90 is downloaded automatically using git remote+https when using CMake +# gipaw does not build using CMake + +easyblock = 'CMakeMake' + +name = 'QuantumESPRESSO' +version = '7.0' +versionsuffix = '-forQMCPACK' + +homepage = 'https://www.quantum-espresso.org' +description = """Quantum ESPRESSO is an integrated suite of computer codes +for electronic-structure calculations and materials modeling at the nanoscale. +It is based on density-functional theory, plane waves, and pseudopotentials +(both norm-conserving and ultrasoft). +""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'openmp': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'usempi': True, 'openmp': True} + +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && " + +source_urls = [ + 'https://github.com/dceresoli/qe-gipaw/archive/', +] +sources = [ + 'qe-%(version)s-forQMCPACK.tar.gz', + {'filename': 'qe-gipaw-%(version)s.tar.gz', 'download_filename': '%(version)s.tar.gz'}, +] +checksums = [ + '7d0acd3f4da673de2b8de868ad641fe7feeb9d541ebb923706142bb9205b9915', # qe-%(version)s-forQMCPACK.tar.gz + '71b83c7ffaf98e111e2cb0b3fe6da0084c07f0f4f9e641046142924568e96802', # qe-gipaw-%(version)s.tar.gz +] + +patches = ['QuantumESPRESSO-intel-2020b-forQMCPACK-fix-UtilXlib-Makefile-tab.patch'] + +builddependencies = [ + ('git', '2.33.1', '-nodocs', ('GCCcore', '11.2.0')), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('HDF5', '1.10.7'), + ('ELPA', '2020.11.001'), + ('libxc', '5.1.3'), +] + +# explicitely enable pw2qmcpack +configopts = ' -DQE_ENABLE_PW2QMCPACK=ON ' + +# The third party packages should be installed separately and added as +# dependencies. The exception is w90, which is force built, and gipaw +# which depends on qe source +buildopts = 'all gwl xspectra couple epw' # gipaw + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'chem' diff --git a/q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2020b-test.eb b/q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2020b-test.eb new file mode 100644 index 00000000..8255631c --- /dev/null +++ b/q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2020b-test.eb @@ -0,0 +1,72 @@ +# JK 2022 +# to get the source code, clone +# https://github.com/QMCPACK/qmcpack.git +# and run the appropriate download and patch script from +# qmcpack/external_codes/quantum_espresso/ +# CMake is necessary for the pw2qmcpack +# +# This test build is to check if w90 is natural part of CMake QE build +easyblock = 'CMakeMake' + +name = 'QuantumESPRESSO' +version = '7.0' +versionsuffix = '-test' + +homepage = 'https://www.quantum-espresso.org' +description = """Quantum ESPRESSO is an integrated suite of computer codes +for electronic-structure calculations and materials modeling at the nanoscale. +It is based on density-functional theory, plane waves, and pseudopotentials +(both norm-conserving and ultrasoft). +""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'openmp': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'usempi': True, 'openmp': True} + +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && " + +#source_urls = [ +# 'https://github.com/dceresoli/qe-gipaw/archive/', +# 'https://github.com/wannier-developers/wannier90/archive/' +#] +sources = [ + 'qe-%(version)s-forQMCPACK.tar.gz', +# {'filename': 'qe-gipaw-%(version)s.tar.gz', 'download_filename': '%(version)s.tar.gz'}, +# {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, +] +checksums = [ + '7d0acd3f4da673de2b8de868ad641fe7feeb9d541ebb923706142bb9205b9915', # qe-%(version)s-forQMCPACK.tar.gz +# '71b83c7ffaf98e111e2cb0b3fe6da0084c07f0f4f9e641046142924568e96802', # qe-gipaw-%(version)s.tar.gz +# '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +patches = ['QuantumESPRESSO-intel-2020b-forQMCPACK-fix-UtilXlib-Makefile-tab.patch'] + +builddependencies = [ + ('git', '2.33.1', '-nodocs', ('GCCcore', '11.2.0')), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('HDF5', '1.10.7'), + ('ELPA', '2020.11.001'), + ('libxc', '5.1.3'), +] + +# explicitely enable pw2qmcpack +configopts = ' -DQE_ENABLE_PW2QMCPACK=ON ' + +# The third party packages should be installed separately and added as +# dependencies. The exception is w90, which is force built, and gipaw +# which depends on qe source +buildopts = 'all gwl xspectra couple epw' # gipaw w90 + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'chem' diff --git a/q/QuantumESPRESSO/QuantumESPRESSO-intel-2020b-forQMCPACK-fix-UtilXlib-Makefile-tab.patch b/q/QuantumESPRESSO/QuantumESPRESSO-intel-2020b-forQMCPACK-fix-UtilXlib-Makefile-tab.patch new file mode 100644 index 00000000..999880da --- /dev/null +++ b/q/QuantumESPRESSO/QuantumESPRESSO-intel-2020b-forQMCPACK-fix-UtilXlib-Makefile-tab.patch @@ -0,0 +1,12 @@ +diff -ru qe-7.0.orig/UtilXlib/Makefile qe-7.0/UtilXlib/Makefile +--- qe-7.0.orig/UtilXlib/Makefile 2022-04-22 10:20:18.302661000 +0200 ++++ qe-7.0/UtilXlib/Makefile 2022-04-22 10:29:42.559498000 +0200 +@@ -41,7 +41,7 @@ + + + esh5_interfaces.o : esh5_interfaces.c +- $(CC) -std=c99 $(CFLAGS) -c $< ++ $(CC) -std=c99 $(CFLAGS) -c $< + + libutil.a: $(UTIL) + $(AR) $(ARFLAGS) $@ $? diff --git a/s/SDE/SDE-9.0.0.eb b/s/SDE/SDE-9.0.0.eb new file mode 100644 index 00000000..597bbcf1 --- /dev/null +++ b/s/SDE/SDE-9.0.0.eb @@ -0,0 +1,37 @@ +# IT4Innovations 2019 + +easyblock = 'Tarball' + +name = 'SDE' +version = '9.0.0' + +homepage = 'https://software.intel.com/en-us/articles/intel-software-development-emulator' +description = """ + Intel Software Development Emulator is a pintool that enables the development of applications using instruction set extensions that are not currently implemented in hardware. +""" +toolchain = SYSTEM + +# download from +# https://downloadmirror.intel.com/684899/sde-external-9.0.0-2021-11-07-lin.tar.xz +source_urls = ['https://downloadmirror.intel.com/684899/'] +sources = ['sde-external-9.0.0-2021-11-07-lin.tar.xz'] + +dependencies = [] + +skipsteps = ['configure', 'build'] + +sanity_check_paths = { + 'files': ['sde', 'xed'], + 'dirs': [], +} + +# add the top dir to PATH +modextrapaths = { + 'PATH': '' +} + +modaliases = { + 'sde': 'sde64' +} + +moduleclass = 'tools'