modified: 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:   v/VASP/VASP-6.3.2-intel-2021b-adjust-makefile.patch
	new file:   v/VASP/VASP-6.3.2-intel-2021b.eb
This commit is contained in:
Jakub Kropacek 2023-01-17 07:49:10 +01:00 committed by easybuild
parent 806cb5dc58
commit f5901de193
4 changed files with 113 additions and 6 deletions

View File

@ -1,7 +1,7 @@
# IT4Innovations 2022
# IT4Innovations 2023
# JK
#
# Adjusts makefile.include for use within the EasyBuild environment.
Does not include W90 because of the problems during compilation.
--- 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 @@

View File

@ -33,9 +33,9 @@ toolchainopts = {'pic': True}
sources = ['%(namelower)s.%(version)s.tgz']
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',
{'vasp.6.3.2.tgz': 'f7595221b0f9236a324ea8afe170637a578cdd5a837cc7679e7f7812f6edf25a'},
{'VASP-6.3.2-NVHPC-22.2-CUDA-11.6.0-adjust-makefile.patch':
'397bb216387c7817c052d7224be0c1712e44830e4b66c3843e064e547ccdc0ab'},
]
dependencies = [

View File

@ -0,0 +1,46 @@
diff -ruN vasp.6.3.2.orig/arch/makefile.include.intel vasp.6.3.2/arch/makefile.include.intel
--- vasp.6.3.2.orig/arch/makefile.include.intel 2023-01-16 17:41:26.286381000 +0100
+++ vasp.6.3.2/arch/makefile.include.intel 2023-01-16 17:44:54.472454000 +0100
@@ -16,13 +16,13 @@
FREE = -free -names lowercase
-FFLAGS = -assume byterecl -w
+FFLAGS = -FR -assume byterecl
-OFLAG = -O2
+OFLAG = -O3 -ip -march=xHost
OFLAG_IN = $(OFLAG)
DEBUG = -O0
-OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o
+OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o ${EBROOTIMKLMINFFTW}/lib/libfftw3xf_intel.a
OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O2 += fft3dlib.o
@@ -54,17 +54,17 @@
# Intel MKL (FFTW, BLAS, LAPACK, and scaLAPACK)
# (Note: for Intel Parallel Studio's MKL use -mkl instead of -qmkl)
FCL += -qmkl=sequential
-MKLROOT ?= /path/to/your/mkl/installation
+MKLROOT ?= ${MKLROOT}
LLIBS += -L$(MKLROOT)/lib/intel64 -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64
INCS =-I$(MKLROOT)/include/fftw
# 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
-#WANNIER90_ROOT ?= /path/to/your/wannier90/installation
-#LLIBS += -L$(WANNIER90_ROOT)/lib -lwannier
+CPP_OPTIONS += -DVASP2WANNIER90
+WANNIER90_ROOT ?= ${EBROOTWANNIER90}
+LLIBS += -L$(WANNIER90_ROOT)/lib -lwannier

View File

@ -0,0 +1,61 @@
# IT4Innovations 2023
# JK
easyblock = 'MakeCp'
name = 'VASP'
version = '6.3.2'
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.tgz']
patches = ['VASP-6.3.2-intel-2021b-adjust-makefile.patch']
checksums = [
{'vasp.6.3.2.tgz': 'f7595221b0f9236a324ea8afe170637a578cdd5a837cc7679e7f7812f6edf25a'},
{'VASP-6.3.2-intel-2021b-adjust-makefile.patch':
'007efcd2c0ba05145615c6df21726d6f95460fae2ed7f7478349f09e14023676'},
]
# 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 && '
# AMD/Intel CPU switch - We set xHost by default; change it to -march=core-avx2 when necessary
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'