From e4f87cb7fb1c958f89b44f7e5816f4101bb5ab56 Mon Sep 17 00:00:00 2001 From: Lukas Krupcik Date: Tue, 1 Apr 2025 12:42:20 +0200 Subject: [PATCH] new file: v/VASP/VASP-6.3.1-intel-2021b-Cc4s.eb --- v/VASP/VASP-6.3.1-intel-2021b-Cc4s.eb | 79 +++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 v/VASP/VASP-6.3.1-intel-2021b-Cc4s.eb diff --git a/v/VASP/VASP-6.3.1-intel-2021b-Cc4s.eb b/v/VASP/VASP-6.3.1-intel-2021b-Cc4s.eb new file mode 100644 index 00000000..05e20b5f --- /dev/null +++ b/v/VASP/VASP-6.3.1-intel-2021b-Cc4s.eb @@ -0,0 +1,79 @@ +# IT4Innovations +# LK 2025 + +easyblock = 'MakeCp' + +name = 'VASP' +version = '6.3.1' +versionsuffix = '-Cc4s' + +homepage = 'http://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. + +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': '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-Cc4s.tar.gz'] +checksums = ['4e497d11aea1c237a2026cc735fadb39f21281a7bdfe80728faa94784a4fcedd'] + +# 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', '-parallel'), + ('Wannier90', '3.1.0', '-serial'), +] + +prebuildopts = 'cp arch/makefile.include.intel ./makefile.include && ' + +# OFLAG to -O3 -march +prebuildopts += 'sed -i "s|\(OFLAG\s\+=\) -O2|\\1 -O3 -ip -march=xHost|" makefile.include && ' + +# OBJECTS, FFLAGS and MKLROOT +prebuildopts += 'sed -i "s|\(OBJECTS\s\+=\) fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o|\\1 fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o ${EBROOTIMKLMINFFTW}/lib/libfftw3xf_intel.a|" makefile.include && ' +prebuildopts += 'sed -i "s|\(FFLAGS\s\+=\) -assume byterecl -w|\\1 -FR -assume byterecl|" makefile.include && ' +prebuildopts += 'sed -i "s|\(MKLROOT\s\+?=\) /path/to/your/mkl/installation|\\1 ${MKLROOT}|" 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|-xHOST|-march=core-avx2|" makefile.include && ' + prebuildopts += 'sed -i "s|-march=xHost|-march=core-avx2|" 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 = 'chem'