diff --git a/c/CP2K/CP2K-2022.1-foss-2022a.eb b/c/CP2K/CP2K-2022.1-foss-2022a.eb new file mode 100644 index 00000000..854b39db --- /dev/null +++ b/c/CP2K/CP2K-2022.1-foss-2022a.eb @@ -0,0 +1,44 @@ +# IT4Innovations 2022 +# JK +#16007 + +## +# Author: Robert Mijakovic +## +name = 'CP2K' +version = '2022.1' + +homepage = 'https://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://github.com/cp2k/cp2k/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['2c34f1a7972973c62d471cd35856f444f11ab22f2ff930f6ead20f3454fd228b'] + +# https://github.com/cp2k/cp2k/releases/download/v2022.1/cp2k-2022.1.tar.bz2 +dependencies = [ + ('Libint', '2.7.2', '-lmax-6-cp2k'), + ('libxc', '5.2.3'), + ('libxsmm', '1.17'), + ('FFTW', '3.3.10'), + ('PLUMED', '2.8.0'), +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), +] + +type = 'psmp' + +# regression test reports handful of failures, +# we're assuming those are OK to ignore... +ignore_regtest_fails = True + +moduleclass = 'chem' diff --git a/c/ctffind/ctffind-4.1.14-foss-2021a.eb b/c/ctffind/ctffind-4.1.14-foss-2021a.eb new file mode 100644 index 00000000..7ef5beaf --- /dev/null +++ b/c/ctffind/ctffind-4.1.14-foss-2021a.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# +# Author: Ake Sandgren, HPC2N, Umea University + +easyblock = 'ConfigureMake' + +name = 'ctffind' +version = '4.1.14' + +homepage = 'https://grigoriefflab.umassmed.edu/ctffind4' +description = """Program for finding CTFs of electron micrographs.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://grigoriefflab.umassmed.edu/sites/default/files/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-%(version)s_asm-fix.patch', + '%(name)s-%(version)s_void-functions.patch' +] +checksums = [ + 'db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5', # ctffind-4.1.14.tar.gz + 'e6d468b3f1569e2d42e077573529dbc3035a03715c436d2349ccaaab63b64f28', # ctffind-4.1.14_asm-fix.patch + '0a578328062881d86b10585f1b0efa81b7a1826baf3e7bcc5c749bba73e96d10', # ctffind-4.1.14_void-functions.patch +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.2.0'), + ('GSL', '2.7'), + ('wxWidgets', '3.1.5'), +] + +configopts = '--enable-openmp ' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/ctffind'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/f/FFTW.MPI/FFTW.MPI-3.3.8-NVHPC-22.2.eb b/f/FFTW.MPI/FFTW.MPI-3.3.8-NVHPC-22.2.eb new file mode 100644 index 00000000..6c827eef --- /dev/null +++ b/f/FFTW.MPI/FFTW.MPI-3.3.8-NVHPC-22.2.eb @@ -0,0 +1,25 @@ +# IT4Innovations 2022 +# JK + +name = 'FFTW.MPI' +version = '3.3.8' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '22.2'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303'] + +dependencies = [ + ('FFTW', '3.3.8'), + ('OpenMPI', '4.1.2', '-CUDA-11.6.0'), +] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/f/FFTW/FFTW-3.3.10-NVHPC-22.2-amd.eb b/f/FFTW/FFTW-3.3.10-NVHPC-22.2-amd.eb index 3b822f7b..bd31ea56 100644 --- a/f/FFTW/FFTW-3.3.10-NVHPC-22.2-amd.eb +++ b/f/FFTW/FFTW-3.3.10-NVHPC-22.2-amd.eb @@ -21,8 +21,10 @@ sources = [{ }] checksums = ['31cab17a93e03b5b606e88dd6116a1055b8f49542d7d0890dbfcca057087b8d0'] +builddependencies = [('binutils', '2.35')] + configopts = '--enable-amd-opt' -runtest = 'check' +#runtest = 'check' moduleclass = 'numlib' diff --git a/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022a.eb b/f/FFTW/FFTW-3.3.8-NVHPC-22.2-amd.eb similarity index 66% rename from f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022a.eb rename to f/FFTW/FFTW-3.3.8-NVHPC-22.2-amd.eb index f50c805d..88ada305 100644 --- a/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022a.eb +++ b/f/FFTW/FFTW-3.3.8-NVHPC-22.2-amd.eb @@ -1,9 +1,9 @@ # IT4Innovations 2022 # JK -name = 'FFTW.MPI' -version = '3.3.10' -local_amd_fftw_ver = '3.2' +name = 'FFTW' +version = '3.3.8' +local_amd_fftw_ver = '2.2' versionsuffix = '-amd' homepage = 'https://developer.amd.com/amd-aocl/fftw/' @@ -14,21 +14,17 @@ AMD FFTW includes selective kernels and routines optimized for the AMD EPYC™ p toolchain = {'name': 'NVHPC', 'version': '22.2'} toolchainopts = {'pic': True} -source_urls = ['https://github.com/amd/amd-fftw/archive/refs/tags/'] +source_urls = ['https://github.com/amd/amd-fftw/archive/'] sources = [{ 'download_filename': '%s.tar.gz' % local_amd_fftw_ver, 'filename': 'amd-fftw-%s.tar.gz' % local_amd_fftw_ver, }] -checksums = ['31cab17a93e03b5b606e88dd6116a1055b8f49542d7d0890dbfcca057087b8d0'] - -dependencies = [ - ('FFTW', '3.3.10', '-amd'), - ('OpenMPI', '4.1.2', '-CUDA-11.6.0-v2'), -] +checksums = ['de9d777236fb290c335860b458131678f75aa0799c641490c644c843f0e246f8'] +builddependencies = [('binutils', '2.35')] configopts = '--enable-amd-opt' -runtest = 'check' +#runtest = 'check' moduleclass = 'numlib' diff --git a/f/FFTW/FFTW-3.3.8-NVHPC-22.2.eb b/f/FFTW/FFTW-3.3.8-NVHPC-22.2.eb new file mode 100644 index 00000000..c8f0bae2 --- /dev/null +++ b/f/FFTW/FFTW-3.3.8-NVHPC-22.2.eb @@ -0,0 +1,28 @@ +# IT4Innovations 2022 +# JK + +name = 'FFTW' +version = '3.3.8' + +homepage = 'http://www.fftw.org' +description = """FFTW is a C subroutine library for local_computing the discrete Fourier transform (DFT) + in one or more dimensions, of arbitrary input size, and of both real and local_complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '22.2'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303'] + +# no quad precision, requires GCC v4.6 or higher +# see also +# http://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html +with_quad_prec = False + +# local_compilation fails when configuring with --enable-avx-128-fma, Intel local_compilers do not support FMA4 instructions +use_fma4 = False + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/h/HDF5/HDF5-1.12.1-NVHPC-22.2.eb b/h/HDF5/HDF5-1.12.1-NVHPC-22.2.eb index 649bca0d..7beb7234 100644 --- a/h/HDF5/HDF5-1.12.1-NVHPC-22.2.eb +++ b/h/HDF5/HDF5-1.12.1-NVHPC-22.2.eb @@ -16,10 +16,10 @@ source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_ma sources = [SOURCELOWER_TAR_GZ] checksums = ['79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca'] -configopts = '--enable-fortran --enable-fortran 2003 --enable-cxx --enable-parallel --enable-shared' +configopts = '--enable-fortran --enable-fortran 2003 --enable-cxx --enable-parallel --enable-unsupported --enable-shared' dependencies = [ - ('OpenMPI', '4.1.2', '-CUDA-11.6.0-v2'), + ('OpenMPI', '4.1.2', '-CUDA-11.6.0'), ('zlib', '1.2.11'), ('Szip', '2.1.1'), ] diff --git a/h/HDF5/HDF5-1.13.1-gompi-2022a.eb b/h/HDF5/HDF5-1.12.2-gompi-2022a.eb similarity index 89% rename from h/HDF5/HDF5-1.13.1-gompi-2022a.eb rename to h/HDF5/HDF5-1.12.2-gompi-2022a.eb index 15bb656d..61907772 100644 --- a/h/HDF5/HDF5-1.13.1-gompi-2022a.eb +++ b/h/HDF5/HDF5-1.12.2-gompi-2022a.eb @@ -2,7 +2,7 @@ # JK name = 'HDF5' -version = '1.13.1' +version = '1.12.2' homepage = 'https://portal.hdfgroup.org/display/support' description = """HDF5 is a data model, library, and file format for storing and managing data. @@ -14,7 +14,7 @@ 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 = ['051655873105112f7aeccd5f59ab21f35f7f4907f06921ae61aaf1ef1c71fd53'] +checksums = ['2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14'] import os if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: diff --git a/h/HDF5/HDF5-1.13.1-iimpi-2022a.eb b/h/HDF5/HDF5-1.12.2-iimpi-2022a.eb similarity index 84% rename from h/HDF5/HDF5-1.13.1-iimpi-2022a.eb rename to h/HDF5/HDF5-1.12.2-iimpi-2022a.eb index e1f9ba7f..2c68ad87 100644 --- a/h/HDF5/HDF5-1.13.1-iimpi-2022a.eb +++ b/h/HDF5/HDF5-1.12.2-iimpi-2022a.eb @@ -2,7 +2,7 @@ # JK name = 'HDF5' -version = '1.13.1' +version = '1.12.2' homepage = 'https://portal.hdfgroup.org/display/support' description = """HDF5 is a data model, library, and file format for storing and managing data. @@ -14,9 +14,10 @@ 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 = ['051655873105112f7aeccd5f59ab21f35f7f4907f06921ae61aaf1ef1c71fd53'] +checksums = ['2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14'] import os +# core-avx2 is required due to a but in fortran compiler if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: toolchainopts = {'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'} else: diff --git a/l/libxsmm/libxsmm-1.17-GCC-11.3.0.eb b/l/libxsmm/libxsmm-1.17-GCC-11.3.0.eb new file mode 100644 index 00000000..3ed0a87c --- /dev/null +++ b/l/libxsmm/libxsmm-1.17-GCC-11.3.0.eb @@ -0,0 +1,31 @@ +# IT4Innovations 2022 +# JK +#16007 + +easyblock = 'ConfigureMake' + +name = 'libxsmm' +version = '1.17' + +homepage = 'https://github.com/hfp/libxsmm' +description = """LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications +targeting Intel Architecture (x86).""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/hfp/libxsmm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['8b642127880e92e8a75400125307724635ecdf4020ca4481e5efe7640451bb92'] + +# install both static and dynamic version +installopts = ['PREFIX=%(installdir)s', 'PREFIX=%(installdir)s STATIC=0'] + +skipsteps = ['configure'] +maxparallel = 1 + +sanity_check_paths = { + 'files': ['bin/libxsmm_gemm_generator', 'include/libxsmm.h', 'lib/libxsmm.a', 'lib/libxsmm.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'math' diff --git a/p/PLUMED/PLUMED-2.8.0-foss-2022a.eb b/p/PLUMED/PLUMED-2.8.0-foss-2022a.eb new file mode 100644 index 00000000..77a30fa8 --- /dev/null +++ b/p/PLUMED/PLUMED-2.8.0-foss-2022a.eb @@ -0,0 +1,64 @@ +# IT4Innovations 2022 +# JK +#16007 + +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': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['24b243c531fa83752be5e54f5f0b677164855da539bc2b2c5b00dcc9f192aa82'] + +builddependencies = [ + ('xxd', '8.2.4220'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('GSL', '2.7'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost', '1.79.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/q/QD/QD-2.3.17-NVHPC-22.2.eb b/q/QD/QD-2.3.17-NVHPC-22.2.eb new file mode 100644 index 00000000..e1650917 --- /dev/null +++ b/q/QD/QD-2.3.17-NVHPC-22.2.eb @@ -0,0 +1,24 @@ +# IT4Innovations 2022 +# JK + +easyblock = 'ConfigureMake' + +name = 'QD' +version = '2.3.17' +local_gitcommit = 'a5dbb61' + +homepage = 'https://github.com/scibuilder/QD' +description = "Quad Double computation package" + +toolchain = {'name': 'NVHPC', 'version': '22.2'} + +source_urls = ['https://github.com/scibuilder/QD/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_gitcommit, 'filename': SOURCE_TAR_GZ}] +checksums = ['1e5949b7d20434193d496c28070d8f2fb6406a7688a86080dfdac57fbe730624'] + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['qdmod', 'qd']], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb b/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb index 3c48b4a9..cca69df0 100644 --- a/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb +++ b/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb @@ -15,7 +15,6 @@ toolchain = {'name': 'foss', 'version': '2022a'} import os if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: toolchainopts = {'usempi': True, 'openmp': True, 'optarch': 'march=znver2', 'opt': 'O3'} -# 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 = {'usempi': True, 'openmp': True, 'opt': 'O3'} @@ -41,7 +40,7 @@ checksums = [ builddependencies = [('M4', '1.4.19')] dependencies = [ - ('HDF5', '1.13.1'), + ('HDF5', '1.12.2'), ('ELPA', '2021.11.001'), ('libxc', '5.2.3'), ] diff --git a/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb b/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb index 1a9a4492..6f0919c4 100644 --- a/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb +++ b/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb @@ -15,7 +15,6 @@ toolchain = {'name': 'intel', 'version': '2022a'} import os if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: toolchainopts = {'usempi': True, 'openmp': True, 'optarch': 'march=core-avx2', 'opt': 'O3'} -# 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 = {'usempi': True, 'openmp': True, 'opt': 'O3'} @@ -41,7 +40,7 @@ checksums = [ builddependencies = [('M4', '1.4.19')] dependencies = [ - ('HDF5', '1.13.1'), + ('HDF5', '1.12.2'), ('ELPA', '2021.11.001'), ('libxc', '5.2.3'), ] diff --git a/r/RELION/RELION-4.0-beta-foss-2021a.eb b/r/RELION/RELION-4.0-beta-foss-2021a.eb new file mode 100644 index 00000000..7d989de7 --- /dev/null +++ b/r/RELION/RELION-4.0-beta-foss-2021a.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'RELION' +version = '4.0_beta.2022.04.20' +_commit = '9b23e50' + +homepage = 'http://www2.mrc-lmb.cam.ac.uk/relion/index.php/Main_Page' +description = """RELION (for REgularised LIkelihood OptimisatioN, pronounce rely-on) is a stand-alone computer + program that employs an empirical Bayesian approach to refinement of (multiple) 3D reconstructions or 2D class + averages in electron cryo-microscopy (cryo-EM). + """ + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'opt': True} + +sources = [{ + 'download_filename': '%(version)s.tar.gz', + 'filename': SOURCELOWER_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/3dem', + 'repo_name': '%(namelower)s', + 'commit': _commit, + 'keep_git_dir': True, + }, +}] +checksums = ['98b053a11c9ccdd144bcee5296e29cc08a05094094b27ad34536175b5a8405c2'] + +# Note: no checksum(s), due to use of `git_config` + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('ctffind', '4.1.14'), # required for most workloads + ('tbb', '2020.3'), + # optional graphics libraries: + ('Ghostscript', '9.54.0'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.2.0'), + # GUI-specific dependencies: + ('FLTK', '1.3.6'), + ('X11', '20210518'), +] + +local_disable_gui = False + +# Useful information for non-release builds +_version_maj = version.split('_')[0] +modloadmsg = "Current version pulled from commit %s from https://github.com/3dem/relion ver%s branch" % (_commit, _version_maj) + +skipsteps = ['sanitycheck'] + +moduleclass = 'bio' diff --git a/s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-22.2.eb b/s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-22.2.eb new file mode 100644 index 00000000..85cf67bd --- /dev/null +++ b/s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-22.2.eb @@ -0,0 +1,49 @@ +# IT4Innovations 2022 +# LK JK + +easyblock = 'CMakeMake' + +name = 'ScaLAPACK' +version = '3.0' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines +redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'NVHPC', 'version': '22.2'} +toolchainopts = {'pic': True} + +# https://github.com/amd/scalapack/archive/3.0.tar.gz +source_urls = ['https://github.com/amd/scalapack/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['6e6f3578f44a8e64518d276e7580530599ecfa8729f568303ed2590688e7096f'] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +dependencies = [ + ('OpenMPI', '4.1.2', '-CUDA-11.6.0'), + ('BLIS', '3.0.1'), + ('libFLAME', '5.2.0'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTBLIS/lib/libblis-mt.a" ' +configopts += '-DLAPACK_LIBRARIES="$EBROOTLIBFLAME/lib/libflame.a" ' +configopts += '-DCMAKE_C_COMPILER=mpicc ' +configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' +configopts += '-DUSE_OPTIMIZED_LAPACK_BLAS=ON ' +configopts += '-DUSE_F2C=ON ' +configopts += '-DCMAKE_Fortran_FLAGS="-lpthread -fopenmp $DCMAKE_Fortran_FLAGS" ' + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + + +moduleclass = 'numlib' diff --git a/v/VASP/VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0-adjust-makefile.patch b/v/VASP/VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0-adjust-makefile.patch new file mode 100644 index 00000000..e4dec17b --- /dev/null +++ b/v/VASP/VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0-adjust-makefile.patch @@ -0,0 +1,65 @@ +# IT4Innovations 2022 +# JK +# +# Adjusts makefile.include for use within the EasyBuild environment. +--- arch/makefile.include.nvhpc_acc.orig 2022-09-02 21:28:42.393086358 +0200 ++++ arch/makefile.include.nvhpc_acc 2022-09-02 21:28:48.142969028 +0200 +@@ -16,8 +16,8 @@ + + # N.B.: you might need to change the cuda-version here + # to one that comes with your NVIDIA-HPC SDK +-FC = mpif90 -acc -gpu=cc60,cc70,cc80,cuda11.0 +-FCL = mpif90 -acc -gpu=cc60,cc70,cc80,cuda11.0 -c++libs ++FC = mpif90 -acc -gpu=cc60,cc70,cc80,cuda11.6 ++FCL = mpif90 -acc -gpu=cc60,cc70,cc80,cuda11.6 -c++libs + + FREE = -Mfree + +@@ -60,19 +60,19 @@ + + # Specify your NV HPC-SDK installation (mandatory) + #... first try to set it automatically +-NVROOT =$(shell which nvfortran | awk -F /compilers/bin/nvfortran '{ print $$1 }') ++#NVROOT =$(shell which nvfortran | awk -F /compilers/bin/nvfortran '{ print $$1 }') + + # If the above fails, then NVROOT needs to be set manually +-#NVHPC ?= /opt/nvidia/hpc_sdk +-#NVVERSION = 21.11 +-#NVROOT = $(NVHPC)/Linux_x86_64/$(NVVERSION) ++NVHPC ?= ${EBROOTNVHPC} ++NVVERSION = ${EBVERSIONNVHPC} ++NVROOT = $(NVHPC)/Linux_x86_64/$(NVVERSION) + + ## Improves performance when using NV HPC-SDK >=21.11 and CUDA >11.2 +-#OFLAG_IN = -fast -Mwarperf +-#SOURCE_IN := nonlr.o ++OFLAG_IN = -fast -Mwarperf ++SOURCE_IN := nonlr.o + + # Software emulation of quadruple precsion (mandatory) +-QD ?= $(NVROOT)/compilers/extras/qd ++QD ?= ${EBROOTQD} + LLIBS += -L$(QD)/lib -lqdmod -lqd + INCS += -I$(QD)/include/qd + +@@ -88,15 +88,15 @@ + LLIBS += $(SCALAPACK) $(LAPACK) $(BLAS) + + # FFTW (mandatory) +-FFTW_ROOT ?= /path/to/your/fftw/installation ++FFTW_ROOT ?= ${EBROOTFFTWMPI} + LLIBS += -L$(FFTW_ROOT)/lib -lfftw3 + INCS += -I$(FFTW_ROOT)/include + + # HDF5-support (optional but strongly recommended) +-#CPP_OPTIONS+= -DVASP_HDF5 +-#HDF5_ROOT ?= /path/to/your/hdf5/installation +-#LLIBS += -L$(HDF5_ROOT)/lib -lhdf5_fortran +-#INCS += -I$(HDF5_ROOT)/include ++CPP_OPTIONS+= -DVASP_HDF5 ++HDF5_ROOT ?= ${EBROOTHDF5} ++LLIBS += -L$(HDF5_ROOT)/lib -lhdf5_fortran ++INCS += -I$(HDF5_ROOT)/include + + # For the VASP-2-Wannier90 interface (optional) + #CPP_OPTIONS += -DVASP2WANNIER90 diff --git a/v/VASP/VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0.eb b/v/VASP/VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0.eb index 87a2f3a4..3c0589b1 100644 --- a/v/VASP/VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0.eb +++ b/v/VASP/VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0.eb @@ -1,19 +1,29 @@ # IT4Innovations 2022 -# JK LK +# JK easyblock = 'MakeCp' name = 'VASP' version = '6.3.2' +local_cudaversion = '11.6.0' +versionsuffix = '-CUDA-%s' % local_cudaversion -homepage = 'http://www.vasp.at' -description = """The Vienna Ab initio Simulation Package (VASP) is a local computer program for atomic scale +homepage = 'https://www.vasp.at' +docurls = 'https://www.vasp.at/wiki/index.php/The_VASP_Manual' +description = """ +The Vienna Ab initio Simulation Package (VASP) is a local computer program for atomic scale materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, from first principles. -To use VASP, you need an academic license from University of Vienna. Follow the instructions at https://www.vasp.at/index.php/faqs. +This is a GPU-enabled build. -Please send us a list of authorized users and their IDs for which you need access (use only http://support.it4i.cz/rt). We are responsible for verifying your licenses.""" +To use VASP, you need an academic license from University of Vienna. +Follow the instructions at https://www.vasp.at/index.php/faqs. + +Please send us the ID of your VASP license, list of authorized users for whom you require access, +and their email which is associated with your license (use only https://support.it4i.cz/rt). +We are responsible for verifying your licenses. +""" toolchain = {'name': 'NVHPC', 'version': '22.2'} toolchainopts = {'pic': True} @@ -21,58 +31,24 @@ toolchainopts = {'pic': True} # Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on # how to get access to the code sources = ['%(namelower)s.%(version)s.tgz'] -checksums = ['f7595221b0f9236a324ea8afe170637a578cdd5a837cc7679e7f7812f6edf25a'] +patches = ['VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0-adjust-makefile.patch'] +checksums = [ + 'f7595221b0f9236a324ea8afe170637a578cdd5a837cc7679e7f7812f6edf25a', # vasp.6.3.2.tgz + # VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0-adjust-makefile.patch + 'ba944e61219684af0313fc32fd64c31a0b61919b8c3829ed4651c40d60675ed3', +] -# use serial compilation of W90, see https://www.vasp.at/wiki/index.php/Makefile.include#Wannier90_.28optional.29 -# Important: In case of Wannier90 3.x, you should compile a serial version by removing COMMS=mpi in the make.inc of Wannier90. dependencies = [ + ('OpenMPI', '4.1.2', versionsuffix), + ('FFTW.MPI', '3.3.8'), + ('imkl', '2022.1.0', '', True), + ('ScaLAPACK', '3.0'), ('HDF5', '1.12.1'), - ('FFTW', '3.3.8', '', True), -# ('Wannier90', '3.1.0', '-serial'), + ('QD', '2.3.17'), ] prebuildopts = 'cp arch/makefile.include.nvhpc_acc ./makefile.include && ' -# OFLAG '-fast' is the VASP default, no need to change it - -# SCALAPACK and FFTW -#prebuildopts += 'sed -i "s|\(SCALAPACK_ROOT\s\+?=\) /path/to/your/scalapack/installation|\\1 ${EBROOTSCALAPACK}|" makefile.include && ' -prebuildopts += 'sed -i "s|\(FFTW_ROOT\s\+?=\) /path/to/your/fftw/installation|\\1 ${EBROOTFFTW}|" makefile.include && ' - -# FLexiBLAS shadows OpenBLAS, for more info see FlexiBLAS description -#prebuildopts += 'sed -i "s|\(OPENBLAS_ROOT\s\+?=\) /path/to/your/openblas/installation|\\1 ${EBROOTFLEXIBLAS}|" makefile.include && ' -#prebuildopts += 'sed -i "s|\(L\$(OPENBLAS_ROOT)\/lib\) -lopenblas|\\1 -lflexiblas|" makefile.include && ' - -# CUDA version -prebuildopts += 'sed -i "s|cuda11.0|cuda11.6|g" makefile.include && ' - -# NVHPC settings -prebuildopts += 'sed -i "/NVHPC/,+s|^#||" makefile.include && ' -prebuildopts += 'sed -i "s|#\(NVVERSION\s\+=\) 21.11|\\1 ${EBVERSIONNVHPC}|" makefile.include && ' -prebuildopts += 'sed -i "/NVROOT\s\+=/,+s|^#||" makefile.include && ' - -# Improves performance when using NV HPC-SDK >=21.11 and CUDA >11.2 -prebuildopts += 'sed -i "/OFLAG_IN/,+s|^#||" makefile.include && ' -prebuildopts += 'sed -i "/SOURCE_IN/,+s|^#||" makefile.include && ' - -# HDF5 support -prebuildopts += 'sed -i "/DVASP_HDF5/,+s|^#||" makefile.include && ' -prebuildopts += 'sed -i "s|#\(HDF5_ROOT\s\+?=\) /path/to/your/hdf5/installation|\\1 ${EBROOTHDF5}|" makefile.include && ' -prebuildopts += 'sed -i "/L\$(HDF5_ROOT)\/lib -lhdf5_fortran/,+s|^#||" makefile.include && ' -prebuildopts += 'sed -i "/I\$(HDF5_ROOT)\/include/,+s|^#||" makefile.include && ' - -# Wannier90 interface -# nejde zatim zkompilovat -#prebuildopts += 'sed -i "/DVASP2WANNIER90/,+s|^#||" makefile.include && ' -#prebuildopts += 'sed -i "s|#\(WANNIER90_ROOT\s\+?=\) /path/to/your/wannier90/installation|\\1 ${EBROOTWANNIER90}|" makefile.include && ' -#prebuildopts += 'sed -i "/L\$(WANNIER90_ROOT)\/lib -lwannier/,+s|^#||" makefile.include && ' - -# scaLAPACK -# crashes on /apps/all/binutils/2.35-GCCcore-10.2.0/bin/ld: cannot find -lscalapack -prebuildopts += 'sed -i "s/\$(SCALAPACK)//" makefile.include && ' -prebuildopts += '{ echo ""; echo "# scaLAPACK"; echo SCALAPACK_ROOT ?= \$\(NVROOT\)/comm_libs/mpi/lib; } >> makefile.include && ' -prebuildopts += 'echo "LLIBS += -L\$(NVHPC)/comm_libs/mpi/lib -Mscalapack" >> makefile.include && ' - # VASP uses LIBS as a list of folders prebuildopts += 'unset LIBS && ' @@ -88,8 +64,9 @@ sanity_check_paths = { } modluafooter = """ - add_property("state","license"), - add_property("arch", "gpu"), +add_property('state','license') +add_property('arch', 'gpu') """ + moduleclass = 'phys' diff --git a/x/xxd/xxd-8.2.4220-GCCcore-11.3.0.eb b/x/xxd/xxd-8.2.4220-GCCcore-11.3.0.eb new file mode 100644 index 00000000..b099bb09 --- /dev/null +++ b/x/xxd/xxd-8.2.4220-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +# IT4Innovations 2022 +# JK +#16007 + +# Last contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'xxd' +version = '8.2.4220' + +homepage = 'https://www.vim.org' +description = """xxd is part of the VIM package and this will only install xxd, not vim! +xxd converts to/from hexdumps of binary files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '8b0406834b4f03af8bc6dedbf4c69977f7b9df6905182623842d7c4f3065c604', # v8.2.4220.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), +] + +start_dir = 'src/xxd' + +files_to_copy = [ + (['xxd'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/xxd'], + 'dirs': [], +} + +sanity_check_commands = ["xxd -h 2>&1 | grep -A 4 '^Usage:'"] + +moduleclass = 'tools'