From bba2619fcc7877b37a57c2875a4072faca21bc42 Mon Sep 17 00:00:00 2001 From: Lukas Krupcik Date: Thu, 13 Jul 2023 11:51:31 +0200 Subject: [PATCH] new file: a/Amber/Amber-22.0-foss-2021b-AmberTools-23.0.eb new file: h/HyperQueue/HyperQueue-0.16.0.eb new file: l/LAMMPS/LAMMPS-23Jun2022-foss-2021b-kokkos-SNAP.eb --- .../Amber-22.0-foss-2021b-AmberTools-23.0.eb | 99 ++++++++++ h/HyperQueue/HyperQueue-0.16.0.eb | 28 +++ ...LAMMPS-23Jun2022-foss-2021b-kokkos-SNAP.eb | 170 ++++++++++++++++++ 3 files changed, 297 insertions(+) create mode 100644 a/Amber/Amber-22.0-foss-2021b-AmberTools-23.0.eb create mode 100644 h/HyperQueue/HyperQueue-0.16.0.eb create mode 100644 l/LAMMPS/LAMMPS-23Jun2022-foss-2021b-kokkos-SNAP.eb diff --git a/a/Amber/Amber-22.0-foss-2021b-AmberTools-23.0.eb b/a/Amber/Amber-22.0-foss-2021b-AmberTools-23.0.eb new file mode 100644 index 00000000..86f18673 --- /dev/null +++ b/a/Amber/Amber-22.0-foss-2021b-AmberTools-23.0.eb @@ -0,0 +1,99 @@ +# IT4Innovations +# LK 2023 + +name = 'Amber' +local_amber_ver = 22 +local_ambertools_ver = 23 +# Patch levels from https://ambermd.org/AmberPatches.php and https://ambermd.org/ATPatches.php +patchlevels = (3, 0) # (AmberTools, Amber) +version = '%s.%s' % (local_amber_ver, patchlevels[1]) +versionsuffix = '-AmberTools-%s.%s' % (local_ambertools_ver, patchlevels[0]) + +homepage = 'https://ambermd.org/amber.html' +description = """Amber (originally Assisted Model Building with Energy Refinement) is software for performing + molecular dynamics and structure prediction.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True} + +sources = [ + '%%(name)s%s.tar.bz2' % local_amber_ver, + {'filename': 'AmberTools%s.tar.bz2' % local_ambertools_ver, 'alt_location': 'AmberTools'}, +] +patches = [ + {'name': 'AmberTools-20_cmake-locate-netcdf.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-20_fix_xblas_missing_make_dependency.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_CMake-FlexiBLAS.patch', 'alt_location': 'AmberTools'}, + # {'name': 'AmberTools-21_fix_DGESVD_workspace_query.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_incorrect_dvout_call.patch', 'alt_location': 'AmberTools'}, + # {'name': 'AmberTools-21_fix_incorrect_mexit_calls.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_more_blas_argument_problems.patch', 'alt_location': 'AmberTools'}, + # {'name': 'AmberTools-21_fix_multiple_definition.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_potential_use_before_init.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_rism_argument_mismatch.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-22_fix_test_missing_cuda_dir.patch', 'alt_location': 'AmberTools'}, + #{'name': 'AmberTools-22_fix_missing_error_check_on_test_run.patch', 'alt_location': 'AmberTools'}, + 'Amber-22_reduce_precision_of_kmmd_test.patch', + 'Amber-22_remove_undeclared_redundant_variable.patch', +] +checksums = [ + '3c887ccbad690fc76ff0b120a3448eae023c08e76582aac07900d4a9708ebd16', # Amber22.tar.bz2 + 'debb52e6ef2e1b4eaa917a8b4d4934bd2388659c660501a81ea044903bf9ee9d', # AmberTools23.tar.bz2 + '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0', # AmberTools-20_cmake-locate-netcdf.patch + # AmberTools-20_fix_missing_MPI_LIBRARY_error.patch + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc', + # AmberTools-20_fix_xblas_missing_make_dependency.patch + 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65', + '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36', # AmberTools-21_CMake-FlexiBLAS.patch + # AmberTools-21_fix_DGESVD_workspace_query.patch + #'560c73e9d8bd159c609098c63a0256cdee78f49e524d06ea94d16d3146f69bcd', + '1054d4007f5c79126a41582e1e80514267cf406416ed6c471574cd708b16319b', # AmberTools-21_fix_incorrect_dvout_call.patch + #'d1de8c596119dcedbb809515816f0c98762306c469e9caf2c0b878d9b0a1095f', # AmberTools-21_fix_incorrect_mexit_calls.patch + # AmberTools-21_fix_more_blas_argument_problems.patch + 'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c', + #'ce30eeaba9feea53aa115e4b0dcc5be943b8a55abe322480c807ca7ea963d83b', # AmberTools-21_fix_multiple_definition.patch + # AmberTools-21_fix_potential_use_before_init.patch + '377e645b5bd2c91ebb4d0b6fbca0407a94289e5ddc5b1e7ed0cb0b0724ad2139', + # AmberTools-21_fix_rism_argument_mismatch.patch + '14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1', + # AmberTools-21_fix_xray_fftpack_arg_mismatch.patch + '99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f', + 'fb1ab74314d7816169bb9f3f527b78085654aae2825c52cebf50a5760401b737', # AmberTools-22_fix_test_missing_cuda_dir.patch + # AmberTools-22_fix_missing_error_check_on_test_run.patch + #'a86eee60bd65c16a849469e303cb99dfc207cbadd2ae9e70b9ff580ced785475', + 'b5855866c63c2ee860a5e6ad6f618ac4dab7072f5caae95769d4b2457d616a8e', # Amber-22_reduce_precision_of_kmmd_test.patch + # Amber-22_remove_undeclared_redundant_variable.patch + 'b94900c2178dd6dbf2824b17074980a3e5e6e71b38c0b2b30e1f147e4e1ac8cb', +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('make', '4.3'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # mpi4py required for MMPBSA + ('Perl', '5.34.0'), + ('Boost', '1.77.0'), + ('libreadline', '8.1'), + ('matplotlib', '3.4.3'), + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('PnetCDF', '1.12.3'), + ('Tkinter', '3.9.6'), + ('X11', '20210802'), +] + +# All tests are expected to pass or be skipped +runtest = True + +static = False + +moduleclass = 'chem' diff --git a/h/HyperQueue/HyperQueue-0.16.0.eb b/h/HyperQueue/HyperQueue-0.16.0.eb new file mode 100644 index 00000000..4bae43d5 --- /dev/null +++ b/h/HyperQueue/HyperQueue-0.16.0.eb @@ -0,0 +1,28 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'PackedBinary' + +name = 'HyperQueue' +version = '0.16.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 = ['b832fb3ba6c18855d253789d0125aa1581ec2fc9586ca98cbeadb9dc6ae153ba'] + +sanity_check_paths = { + 'files': ['hq'], + 'dirs': [], +} + +sanity_check_commands = ['hq --version'] + +moduleclass = 'devel' diff --git a/l/LAMMPS/LAMMPS-23Jun2022-foss-2021b-kokkos-SNAP.eb b/l/LAMMPS/LAMMPS-23Jun2022-foss-2021b-kokkos-SNAP.eb new file mode 100644 index 00000000..279c19e6 --- /dev/null +++ b/l/LAMMPS/LAMMPS-23Jun2022-foss-2021b-kokkos-SNAP.eb @@ -0,0 +1,170 @@ +# IT4Innovations +# LK 2023 + +name = 'LAMMPS' +version = '23Jun2022' +versionsuffix = '-kokkos-SNAP' + +homepage = 'https://www.lammps.org' +description = """LAMMPS is a classical molecular dynamics code, and an acronym +for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has +potentials for solid-state materials (metals, semiconductors) and soft matter +(biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be +used to model atoms or, more generically, as a parallel particle simulator at +the atomic, meso, or continuum scale. LAMMPS runs on single processors or in +parallel using message-passing techniques and a spatial-decomposition of the +simulation domain. The code is designed to be easy to modify or extend with new +functionality. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} +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} + + +# 'https://github.com/lammps/lammps/archive/' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['stable_%(version)s_update1.tar.gz'] +checksums = ['58e3b2b984f8935bb0db5631e143be2826c45ffd48844f7c394f36624a3e17a2'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('pkg-config', '0.29.2'), + ('archspec', '0.1.3'), +] +dependencies = [ + ('Python', '3.9.6'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('netCDF', '4.8.1'), + ('GSL', '2.7'), + ('zlib', '1.2.11'), + ('gzip', '1.10'), + ('cURL', '7.78.0'), + ('HDF5', '1.12.1'), + ('tbb', '2020.3'), + ('PCRE', '8.45'), + ('libxml2', '2.9.10'), + ('FFmpeg', '4.3.2'), + ('Voro++', '0.4.6'), + ('kim-api', '2.3.0'), + ('Eigen', '3.4.0'), + ('PLUMED', '2.7.3'), + ('ScaFaCoS', '1.0.1'), + ('SciPy-bundle', '2021.10'), + # VTK package is auto-disabled if this dep is not available + ('VTK', '9.1.0'), +] + +# To use additional custom configuration options, use the 'configopts' easyconfig parameter +# See docs and lammps easyblock for more information. +# https://github.com/lammps/lammps/blob/master/cmake/README.md#lammps-configuration-options + +# OpenMP-Kokkos build is default in the current easyblock. One can switch to serial backend of Kokkos, +# which is claimed to be faster in pure MPI calculations +# configopts = "-DKokkos_ENABLE_SERIAL=yes " +configopts = "-DLAMMPS_EXCEPTIONS=yes -DBUILD_SHARED_LIBS=yes -DMLIAP_ENABLE_PYTHON=yes " +configopts += "-DPKG_PYTHON=yes -DPYTHON_EXECUTABLE:FILEPATH=`which python` " + +# packages auto-enabled by easyblock +# 'GPU' - if cuda package is present and kokkos is disabled +# 'KOKKOS' - if kokkos is enabled (by default) + + +# include the following extra packages into the build +general_packages = [ + 'ASPHERE', + 'AMOEBA', + 'ATC', + 'AWPMD', + 'BOCS', + 'BODY', + 'BPM', + 'BROWNIAN', + 'CG-DNA', + 'CG-SDK', + 'CLASS2', + 'COLLOID', + 'COLVARS', + 'COMPRESS', + 'CORESHELL', + 'DIELECTRIC', + 'DIFFRACTION', + 'DIPOLE', + 'DPD-BASIC', + 'DPD-MESO', + 'DPD-REACT', + 'DPD-SMOOTH', + 'DRUDE', + 'EFF', + 'ELECTRODE', + 'EXTRA-COMPUTE', + 'EXTRA-DUMP', + 'EXTRA-FIX', + 'EXTRA-MOLECULE', + 'EXTRA-PAIR', + 'FEP', + 'GRANULAR', + 'H5MD', + 'INTERLAYER', + 'KIM', + 'KSPACE', + 'LATBOLTZ', + 'MANIFOLD', + 'MACHDYN', + 'MANYBODY', + 'MC', + 'MEAM', + 'MGPT', + 'MISC', + 'ML-IAP', + 'ML-PACE', + 'ML-RANN', + 'ML-SNAP', + 'MOFFF', + 'MOLECULE', + 'MOLFILE', + 'MPIIO', + 'NETCDF', + 'OPENMP', + 'ORIENT', + 'PERI', + 'PHONON', + 'PLUGIN', + 'PLUMED', + 'POEMS', + 'PTM', + 'PYTHON', + 'QEQ', + 'QTB', + 'REACTION', + 'REAXFF', + 'REPLICA', + 'RIGID', + 'SCAFACOS', + 'SHOCK', + 'SMTBQ', + 'SPH', + 'SPIN', + 'SRD', + 'TALLY', + 'UEF', + 'VORONOI', + 'VTK', + 'YAFF', +] + +# Excluded packages due to requiring additional (non-trivial) deps +# - ADIOS +# - LATTE +# - MESONT (requires very large files downloaded during build) +# - ML-HDNNP (requires N2P2) +# - ML-QUIP +# - MSCG +# - QMMM (setup seems complex) + + +moduleclass = 'chem'