From 65da49443dd47a68835e239817aaf62d5f17ddab Mon Sep 17 00:00:00 2001 From: Jakub Kropacek Date: Tue, 7 Feb 2023 13:40:28 +0100 Subject: [PATCH] new file: b/Boost/Boost-1.68.0-intel-2017c-serial.eb new file: g/GROMACS/GROMACS-2018.1-intel-2017c-double-PLUMED.eb new file: g/GSL/GSL-2.5-intel-2017c.eb new file: h/HyperQueue/HyperQueue-0.14.0.eb new file: i/intel/intel-2017c.eb new file: n/NECI/NECI-20220711-foss-2022a.eb modified: o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb new file: p/PLUMED/PLUMED-2.4.2-intel-2017c.eb new file: q/QMCPACK/QMCPACK-3.16.0-foss-2022a-Python-3.10.4.eb new file: q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a-forQMCPACK.eb --- b/Boost/Boost-1.68.0-intel-2017c-serial.eb | 28 +++++++ ...ROMACS-2018.1-intel-2017c-double-PLUMED.eb | 37 ++++++++++ g/GSL/GSL-2.5-intel-2017c.eb | 26 +++++++ h/HyperQueue/HyperQueue-0.14.0.eb | 28 +++++++ i/intel/intel-2017c.eb | 27 +++++++ n/NECI/NECI-20220711-foss-2022a.eb | 55 ++++++++++++++ o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb | 1 + p/PLUMED/PLUMED-2.4.2-intel-2017c.eb | 46 ++++++++++++ ...QMCPACK-3.16.0-foss-2022a-Python-3.10.4.eb | 65 +++++++++++++++++ ...ntumESPRESSO-7.1-intel-2022a-forQMCPACK.eb | 73 +++++++++++++++++++ 10 files changed, 386 insertions(+) create mode 100644 b/Boost/Boost-1.68.0-intel-2017c-serial.eb create mode 100644 g/GROMACS/GROMACS-2018.1-intel-2017c-double-PLUMED.eb create mode 100644 g/GSL/GSL-2.5-intel-2017c.eb create mode 100644 h/HyperQueue/HyperQueue-0.14.0.eb create mode 100644 i/intel/intel-2017c.eb create mode 100644 n/NECI/NECI-20220711-foss-2022a.eb create mode 100644 p/PLUMED/PLUMED-2.4.2-intel-2017c.eb create mode 100644 q/QMCPACK/QMCPACK-3.16.0-foss-2022a-Python-3.10.4.eb create mode 100644 q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a-forQMCPACK.eb diff --git a/b/Boost/Boost-1.68.0-intel-2017c-serial.eb b/b/Boost/Boost-1.68.0-intel-2017c-serial.eb new file mode 100644 index 00000000..65c4c213 --- /dev/null +++ b/b/Boost/Boost-1.68.0-intel-2017c-serial.eb @@ -0,0 +1,28 @@ +# IT4Innovations 2018 + +name = 'Boost' +version = '1.68.0' +versionsuffix = '-serial' + +homepage = 'http://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'intel', 'version': '2017c'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] + + +dependencies = [ + ('bzip2', '1.0.6', '', True), + ('zlib', '1.2.11', '', True), +] + +configopts = '--with-libraries=serialization' +configopts = '--without-libraries=python' + +# also build boost_mpi +boost_mpi = True + +moduleclass = 'devel' diff --git a/g/GROMACS/GROMACS-2018.1-intel-2017c-double-PLUMED.eb b/g/GROMACS/GROMACS-2018.1-intel-2017c-double-PLUMED.eb new file mode 100644 index 00000000..18dce9d9 --- /dev/null +++ b/g/GROMACS/GROMACS-2018.1-intel-2017c-double-PLUMED.eb @@ -0,0 +1,37 @@ +# IT4Innovations 2023 + +name = 'GROMACS' +version = '2018.1' +versionsuffix = '-double-PLUMED' + +homepage = 'http://www.gromacs.org' +description = """GROMACS is a versatile package to perform molecular dynamics, + i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" + +toolchain = {'name': 'intel', 'version': '2017c'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['http://ftp.gromacs.org/pub/gromacs/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4d3533340499323fece83b4a2d4251fa856376f2426c541e00b8e6b4c0d705cd'] + +#preconfigopts = 'plumed patch -p -e gromacs-2016.5 &&' +#preconfigopts = 'plumed patch -p --runtime &&' + +configopts = ' -DGMX_GPU=OFF -DBUILD_SHARED_LIBS=OFF -DGMX_PREFER_STATIC_LIBS=ON -DGMX_DOUBLE=ON -DGMX_SIMD=AVX2_256 -DGMX_BUILD_OWN_FFTW=ON -DGMX_MPI=ON' + +builddependencies = [ + ('CMake', '3.13.1', '', True), +] + +dependencies = [ + ('Boost', '1.68.0', '-serial'), + ('PLUMED', '2.4.2') +] + +sanity_check_paths = { + 'files': ['bin/gmx_mpi_d'], + 'dirs': [''], +} + +moduleclass = 'bio' diff --git a/g/GSL/GSL-2.5-intel-2017c.eb b/g/GSL/GSL-2.5-intel-2017c.eb new file mode 100644 index 00000000..add04328 --- /dev/null +++ b/g/GSL/GSL-2.5-intel-2017c.eb @@ -0,0 +1,26 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'GSL' +version = '2.5' + +homepage = 'http://www.gnu.org/software/gsl/' + +description = """ + The GNU Scientific Library (GSL) is a numerical library for C and C++ + programmers. The library provides a wide range of mathematical routines + such as random number generators, special functions and least-squares fitting. +""" + +toolchain = {'name': 'intel', 'version': '2017c'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [ + ('binutils', '2.27', '-GCCcore-6.3.0', True), +] + +moduleclass = 'numlib' diff --git a/h/HyperQueue/HyperQueue-0.14.0.eb b/h/HyperQueue/HyperQueue-0.14.0.eb new file mode 100644 index 00000000..aa49a864 --- /dev/null +++ b/h/HyperQueue/HyperQueue-0.14.0.eb @@ -0,0 +1,28 @@ +# IT4Innovations 2023 +# JK + +easyblock = 'PackedBinary' + +name = 'HyperQueue' +version = '0.14.0' + +homepage = 'https://it4innovations.github.io/hyperqueue/' +description = """HyperQueue lets you build a computation plan consisting of a large amount of tasks + and then execute it transparently over a system like SLURM/PBS. It dynamically groups jobs into SLURM/PBS jobs + and distributes them to fully utilize allocated notes. + You thus do not have to manually aggregate your tasks into SLURM/PBS jobs.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/It4innovations/hyperqueue/releases/download/v%(version)s/'] +sources = ['hq-v%(version)s-linux-x64.tar.gz'] +checksums = ['ae387ffa4251f42809781455dbacf524c48e23548be5d611a275cc01d060ba76'] + +sanity_check_paths = { + 'files': ['hq'], + 'dirs': [], +} + +sanity_check_commands = ['hq --version'] + +moduleclass = 'devel' diff --git a/i/intel/intel-2017c.eb b/i/intel/intel-2017c.eb new file mode 100644 index 00000000..0330a66c --- /dev/null +++ b/i/intel/intel-2017c.eb @@ -0,0 +1,27 @@ +# IT4Innovations 2018 + +easyblock = 'Toolchain' + +name = 'intel' +version = '2017c' + +homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-local_compiler/' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_compver = '2017.8.262' +local_gccver = '6.3.0' +local_binutilsver = '2.27' +local_gccsuff = '-GCC-%s-%s' % (local_gccver, local_binutilsver) + +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', local_binutilsver, '-GCCcore-%s' % local_gccver), + ('icc', local_compver, local_gccsuff), + ('ifort', local_compver, local_gccsuff), + ('impi', '2017.4.239', '', ('iccifort', '%s%s' % (local_compver, local_gccsuff))), + ('imkl', '2017.4.239', '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/n/NECI/NECI-20220711-foss-2022a.eb b/n/NECI/NECI-20220711-foss-2022a.eb new file mode 100644 index 00000000..e6ed7f0a --- /dev/null +++ b/n/NECI/NECI-20220711-foss-2022a.eb @@ -0,0 +1,55 @@ +# IT4Innovations 2023 +# JK + +easyblock = 'CMakeMakeCp' +name = 'NECI' +version = '20220711' +_commit = 'd7a9e87ed6a4a29479dc25fbf36a7bb556c3f5a3' + +homepage = 'https://github.com/ghb24/NECI_STABLE' +description = """Standalone NECI codebase designed for FCIQMC and other stochastic quantum +chemistry methods.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +sources = [{ + 'git_config': { + 'url': 'https://github.com/ghb24', + 'repo_name': 'NECI_STABLE', + 'recursive': True, + 'commit': _commit, + }, + 'filename': SOURCE_TAR_GZ, +}] +patches = ['NECI-20220711_fix-cmake-print-summary.patch'] +checksums = [ + {'NECI-20220711.tar.gz': '334647c618dd202ff2a960e537c298a3d5bea0f46971886cb2c89feae37e823f'}, + {'NECI-20220711_fix-cmake-print-summary.patch': 'e189f1b3991b28502dbd8285a04784e7e422d0a9e01e3f28025d0458b479af2d'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +dependencies = [ + ('HDF5', '1.12.2'), +] + +# enable support for HDF5 +configopts = "-DENABLE_HDF5=ON" + +test_cmd = 'ctest' +runtest = '-j' + +files_to_copy = ['bin', 'lib', (['modules'], 'include')] + +_binaries = ['dneci', 'kdneci', 'kmneci', 'kneci', 'mneci', 'neci'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + ['lib/lib%s.a' % x for x in _binaries], + 'dirs': ['include'], +} + +moduleclass = 'chem' diff --git a/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb b/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb index 9b33bedb..7c5530ca 100644 --- a/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.1-GCC-10.2.0.eb @@ -13,6 +13,7 @@ toolchain = {'name': 'GCC', 'version': '10.2.0'} source_urls = ['https://github.com/open-mpi/ompi/archive/refs/tags/'] sources = ['v%(version)s.tar.gz'] +checksums = ['fbddebd47b30c17dd009559157cf7edf5ee8debcf6ba576a84c979618855889f'] dependencies = [ ('hwloc', '2.2.0'), diff --git a/p/PLUMED/PLUMED-2.4.2-intel-2017c.eb b/p/PLUMED/PLUMED-2.4.2-intel-2017c.eb new file mode 100644 index 00000000..128c1283 --- /dev/null +++ b/p/PLUMED/PLUMED-2.4.2-intel-2017c.eb @@ -0,0 +1,46 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.4.2' + +homepage = 'http://www.plumed-code.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': 'intel', 'version': '2017c'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/archive/'] +sources = ['v%(version)s.tar.gz'] + +dependencies = [ + ('zlib', '1.2.11', '', True), + ('GSL', '2.5'), + ('libmatheval', '1.1.11', '', True), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = ' --exec-prefix=%(installdir)s --enable-gsl' +prebuildopts = 'source sourceme.sh && ' + +sanity_check_paths = { + 'files': [ + 'bin/plumed', + 'lib/libplumedKernel.%s' % + SHLIB_EXT, + 'lib/libplumed.%s' % + SHLIB_EXT], + 'dirs': ['lib/plumed']} + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', +} + +moduleclass = 'chem' diff --git a/q/QMCPACK/QMCPACK-3.16.0-foss-2022a-Python-3.10.4.eb b/q/QMCPACK/QMCPACK-3.16.0-foss-2022a-Python-3.10.4.eb new file mode 100644 index 00000000..9fce37e5 --- /dev/null +++ b/q/QMCPACK/QMCPACK-3.16.0-foss-2022a-Python-3.10.4.eb @@ -0,0 +1,65 @@ +# IT4Innovations 2023 +# JK + +easyblock = 'CMakeMake' + +name = 'QMCPACK' +version = '3.16.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': '2022a'} +toolchainopts = {'opt': True, 'pic': True, 'usempi': True} + +source_urls = ['https://github.com/QMCPACK/qmcpack/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0d415e23eb62069b0d3ecc50b5e2df5d921c7c7ad2d996a1fccb2f28b3aaf904'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('libxml2', '2.9.13'), + ('lxml', '4.9.1'), + ('Boost', '1.79.0'), + ('HDF5', '1.12.2'), + ('Python', '3.10.4'), + ('h5py', '3.7.0'), + ('SciPy-bundle', '2022.05'), +# ('PySCF', '2.1.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 +#configopts += '-DQMC_COMPLEX=1' + +preinstallopts = [ +# ' ctest -j32 -V 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/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a-forQMCPACK.eb b/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a-forQMCPACK.eb new file mode 100644 index 00000000..2387f542 --- /dev/null +++ b/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a-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.1' +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': '2022a'} + +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.tar.gz', + {'filename': 'qe-gipaw-%(version)s.tar.gz', 'download_filename': '%(version)s.tar.gz'}, +] +checksums = [ + {'qe-7.1.tar.gz': 'feacdbc67d084d55df464f989a916f20dfe11a50ccfda782573cdeed4fab3d3a'}, + {'qe-gipaw-7.1.tar.gz': '486b60f38fad7363f81d346adc69de004692f50c9f6be59eee5152a717ca1513'}, +] + +#patches = ['QuantumESPRESSO-intel-2020b-forQMCPACK-fix-UtilXlib-Makefile-tab.patch'] + +builddependencies = [ + ('git', '2.36.0', '-nodocs', ('GCCcore', '11.3.0')), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('ELPA', '2021.11.001'), + ('libxc', '5.2.3'), +] + +# pw2qmcpack has native support since 7.1 +configopts = '-DQE_ENABLE_PLUGINS=pw2qmcpack ' + +# 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'