mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-07 15:32:11 +01:00

new file: g/GlobalArrays/GlobalArrays-5.8-intel-2021a.eb new file: h/HDF5/HDF5-1.13.1-gompi-2022a.eb new file: h/HDF5/HDF5-1.13.1-iimpi-2022a.eb new file: o/OpenMolcas/OpenMolcas-22.06-intel-2021a.eb new file: v/VASP/VASP-6.3.1-foss-2022a.eb modified: v/VASP/VASP-6.3.1-intel-2021b.eb new file: w/Wannier90/Wannier90-3.1.0-foss-2022a-serial.eb deleted: v/VASP/VASP-6.3.1-intel-2021b-cluster-independent.patch deleted: v/VASP/VASP-6.3.1-intel-2021b-mkl=sequential.eb
81 lines
3.4 KiB
Plaintext
81 lines
3.4 KiB
Plaintext
# IT4Innovations 2022
|
|
# JK LK
|
|
|
|
easyblock = 'MakeCp'
|
|
|
|
name = 'VASP'
|
|
version = '6.3.1'
|
|
|
|
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': 'foss', 'version': '2022a'}
|
|
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']
|
|
|
|
# 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.13.1'),
|
|
('Wannier90', '3.1.0', '-serial'),
|
|
]
|
|
|
|
prebuildopts = 'cp arch/makefile.include.gnu ./makefile.include && '
|
|
|
|
# OFLAG to -O3 -march
|
|
prebuildopts += 'sed -i "s|\(OFLAG\s\+=\) -O2|\\1 -O3 -march=native|" makefile.include && '
|
|
|
|
# FFLAGS, SCALAPACK and FFTW
|
|
prebuildopts += 'sed -i "s|\(FFLAGS\s\+=\) -w -ffpe-summary=none|\\1 -FR -ffpe-summary=none|" makefile.include && '
|
|
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 ${EBROOTFFTWMPI}|" 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 && '
|
|
|
|
# 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
|
|
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 && '
|
|
|
|
# AMD/intel cpu
|
|
import os
|
|
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
|
|
prebuildopts += 'sed -i "s|-march=native|-march=znver2|g" 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")'
|
|
|
|
moduleclass = 'phys'
|