easyconfigs-it4i/v/VASP/VASP-6.3.1-intel-2021b-mkl=sequential-HDF5-Wannier.eb
Jakub Kropacek b8b80c70ed new file: v/VASP/VASP-6.3.1-intel-2021b-mkl=sequential-HDF5-Wannier.eb
new file:   w/Wannier90/Wannier90-3.1.0-intel-2021b-serial.eb
2022-06-17 11:27:32 +02:00

87 lines
3.8 KiB
Plaintext

# IT4Innovations 2021
# LK JK
easyblock = 'MakeCp'
name = 'VASP'
version = '6.3.1'
versionsuffix = '-mkl=sequential-HDF5-1.12.1-Wannier90-3.1.0'
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.
This is a customized compilation which includes HDF5 library and an interface to Wannier90.
To use VASP, You need academic licenses from University of Wiena. Follow the instructions https://www.vasp.at/index.php/faqs.
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible to verify your licenses. After succesfull verification You will be granted to use VASP in our enviroment."""
toolchain = {'name': 'intel', 'version': '2021b'}
toolchainopts = {'pic': True, 'usempi': 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 = ['113db53c4346287c89982f52887a65d12d246e38de7ccd024e44499c4774dc66']
dependencies = [
('HDF5', '1.12.1', '-parallel'),
('Wannier90', '3.1.0', '-serial'),
]
prebuildopts = 'cp arch/makefile.include.intel ./makefile.include && '
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts += 'sed -i "s|-xHOST|-march=core-avx2|" makefile.include && '
# path to libfftw3xf_intel.a is hardcoded in makefile.include
prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && '
# remove mkl flag to prevent mixing dynamic libs with the static libs in
# LIBBLACS/SCALAPACK
prebuildopts += 'sed -i "s|-mkl=sequential ||" makefile.include && '
# OFLAG = -O2 -xAVX
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O3 -ip -march=xHost|" makefile.include && '
# objects add MKLROOT
prebuildopts += 'sed -i "s|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o \$(MKLROOT)/lib/intel64_lin/libfftw3xf_intel.a|" makefile.include && '
prebuildopts += 'sed -i "s|FFLAGS = -assume byterecl -w|FFLAGS = -FR -assume byterecl|" makefile.include && '
prebuildopts += 'sed -i "s|BLAS =|BLAS = -mkl=sequential|" makefile.include && '
# HDF5-support
prebuildopts += 'sed -i "s|#CPP_OPTIONS+= -DVASP_HDF5|CPP_OPTIONS += -DVASP_HDF5|" makefile.include && '
prebuildopts += 'sed -i "s|#HDF5_ROOT ?= /path/to/your/hdf5/installation|HDF5_ROOT ?= ${EBROOTHDF5}|" makefile.include && '
prebuildopts += 'sed -i "s|#LLIBS += -L\$(HDF5_ROOT)/lib -lhdf5_fortran|LLIBS += -L\$(HDF5_ROOT)/lib -lhdf5_fortran|" makefile.include && '
prebuildopts += 'sed -i "s|#INCS += -I\$(HDF5_ROOT)/include|INCS += -I\$(HDF5_ROOT)/include|" makefile.include && '
# Wannier90 interface
prebuildopts += 'sed -i "s|#CPP_OPTIONS += -DVASP2WANNIER90|CPP_OPTIONS += -DVASP2WANNIER90|" makefile.include && '
prebuildopts += 'sed -i "s|#WANNIER90_ROOT ?= /path/to/your/wannier90/installation|WANNIER90_ROOT ?= ${EBROOTWANNIER90}|" makefile.include && '
prebuildopts += 'sed -i "s|#LLIBS += -L\$(WANNIER90_ROOT)/lib -lwannier|LLIBS += -L\$(WANNIER90_ROOT)/lib -lwannier|" makefile.include && '
# VASP uses LIBS as a list of folders
prebuildopts += 'unset LIBS && '
#prebuildopts += 'exit 1'
buildopts = 'std gam ncl ' # 'BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK" '
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")'
moduleclass = 'phys'