new file: c/CP2K/CP2K-2022.1-foss-2022a.eb

new file:   c/ctffind/ctffind-4.1.14-foss-2021a.eb
	new file:   f/FFTW.MPI/FFTW.MPI-3.3.8-NVHPC-22.2.eb
	modified:   f/FFTW/FFTW-3.3.10-NVHPC-22.2-amd.eb
	new file:   f/FFTW/FFTW-3.3.8-NVHPC-22.2-amd.eb
	new file:   f/FFTW/FFTW-3.3.8-NVHPC-22.2.eb
	modified:   h/HDF5/HDF5-1.12.1-NVHPC-22.2.eb
	new file:   h/HDF5/HDF5-1.12.2-gompi-2022a.eb
	new file:   h/HDF5/HDF5-1.12.2-iimpi-2022a.eb
	new file:   l/libxsmm/libxsmm-1.17-GCC-11.3.0.eb
	new file:   p/PLUMED/PLUMED-2.8.0-foss-2022a.eb
	new file:   q/QD/QD-2.3.17-NVHPC-22.2.eb
	modified:   q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb
	modified:   q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb
	new file:   r/RELION/RELION-4.0-beta-foss-2021a.eb
	new file:   s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-22.2.eb
	new file:   v/VASP/VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0-adjust-makefile.patch
	modified:   v/VASP/VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0.eb
	new file:   x/xxd/xxd-8.2.4220-GCCcore-11.3.0.eb
	deleted:    f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022a.eb
	deleted:    h/HDF5/HDF5-1.13.1-gompi-2022a.eb
	deleted:    h/HDF5/HDF5-1.13.1-iimpi-2022a.eb
This commit is contained in:
Jakub Kropacek 2022-09-05 18:21:49 +02:00 committed by easybuild
parent 5186a460ef
commit 1149e65a51
19 changed files with 521 additions and 74 deletions

View File

@ -0,0 +1,44 @@
# IT4Innovations 2022
# JK
#16007
##
# Author: Robert Mijakovic <robert.mijakovic@lxp.lu>
##
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'

View File

@ -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'

View File

@ -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'

View File

@ -21,8 +21,10 @@ sources = [{
}]
checksums = ['31cab17a93e03b5b606e88dd6116a1055b8f49542d7d0890dbfcca057087b8d0']
builddependencies = [('binutils', '2.35')]
configopts = '--enable-amd-opt'
runtest = 'check'
#runtest = 'check'
moduleclass = 'numlib'

View File

@ -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'

View File

@ -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'

View File

@ -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'),
]

View File

@ -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"]:

View File

@ -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:

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'),
]

View File

@ -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'),
]

View File

@ -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'

View File

@ -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'

View File

@ -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

View File

@ -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'

View File

@ -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'