mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-12 01:42:12 +01:00

new file: f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022a.eb new file: f/FFTW/FFTW-3.3.10-NVHPC-22.2-amd.eb new file: h/HDF5/HDF5-1.12.1-NVHPC-22.2.eb modified: i/irodsfs/irodsfs-0.7.6.eb new file: v/VASP/VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0.eb deleted: c/Cordax/Cordax-1.0-Python-2.7.18.eb
96 lines
4.0 KiB
Plaintext
96 lines
4.0 KiB
Plaintext
# IT4Innovations 2022
|
|
# JK LK
|
|
|
|
easyblock = 'MakeCp'
|
|
|
|
name = 'VASP'
|
|
version = '6.3.2'
|
|
|
|
homepage = 'http://www.vasp.at'
|
|
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.
|
|
|
|
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."""
|
|
|
|
toolchain = {'name': 'NVHPC', 'version': '22.2'}
|
|
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']
|
|
|
|
# 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 = [
|
|
('HDF5', '1.12.1'),
|
|
('FFTW', '3.3.8', '', True),
|
|
# ('Wannier90', '3.1.0', '-serial'),
|
|
]
|
|
|
|
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 && '
|
|
|
|
buildopts = 'std gam ncl '
|
|
|
|
parallel = 1
|
|
|
|
files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')]
|
|
|
|
sanity_check_paths = {
|
|
'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'],
|
|
'dirs': []
|
|
}
|
|
|
|
modluafooter = """
|
|
add_property("state","license"),
|
|
add_property("arch", "gpu"),
|
|
"""
|
|
|
|
moduleclass = 'phys'
|