mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-08 07:52:11 +01:00
Merge branch 'it4i-karolina'
This commit is contained in:
commit
cb596b4ebf
@ -1,5 +1,5 @@
|
||||
# IT4Innovations 2021
|
||||
# LK JK
|
||||
# IT4Innovations 2022
|
||||
# JK
|
||||
|
||||
easyblock = 'MakeCp'
|
||||
|
||||
@ -12,9 +12,11 @@ description = """The Vienna Ab initio Simulation Package (VASP) is a local_compu
|
||||
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
|
||||
from first principles.
|
||||
|
||||
Starting from version 6.3.0, we have decided to compile VASP with HDF5 and Wannier90 support.
|
||||
|
||||
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."""
|
||||
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 for verifying your licenses. After succesful verification You will be granted access to VASP in our enviroment."""
|
||||
|
||||
toolchain = {'name': 'intel', 'version': '2021b'}
|
||||
toolchainopts = {'pic': True, 'usempi': True}
|
||||
@ -22,36 +24,35 @@ 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.1-intel-2021b-cluster-independent.patch']
|
||||
checksums = [
|
||||
'adcf83bdfd98061016baae31616b54329563aa2739573f069dd9df19c2071ad3', # vasp.6.3.0.tgz
|
||||
# VASP-6.3.1-intel-2021b-cluster-independent.patch
|
||||
'074393cb052982469e2b8d67363f69807b75584564b1bd2e51eaf56085d3951c',
|
||||
]
|
||||
|
||||
# cluster independent settings - Wannier90 and HDF5 settings, FFLAGS etc.
|
||||
dependencies = [
|
||||
('HDF5', '1.12.1', '-parallel'),
|
||||
('Wannier90', '3.1.0', '-serial'),
|
||||
]
|
||||
|
||||
# copy over makefile.include for intel toolchain
|
||||
prebuildopts = 'cp arch/makefile.include.intel ./makefile.include && '
|
||||
|
||||
# AMD/intel cpu
|
||||
# Cluster specific options!
|
||||
# check for each VASP version to make sure it's consistent
|
||||
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 && '
|
||||
prebuildopts += 'sed -i -e "s|\(OFLAG\s\+=\) -O2|\\1 -O3 -ip -march=core-avx2|" makefile.include && '
|
||||
prebuildopts += 'sed -i "s|-xHOST|-march=core-avx2|" makefile.include && '
|
||||
else:
|
||||
prebuildopts += 'sed -i -e "s|\(OFLAG\s\+=\) -O2|\\1 -O3 -ip -march=xHost|" makefile.include && '
|
||||
|
||||
# VASP uses LIBS as a list of folders
|
||||
prebuildopts += 'unset LIBS && '
|
||||
|
||||
#prebuildopts += 'exit 1'
|
||||
|
||||
buildopts = 'std gam ncl ' # 'BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK" '
|
||||
buildopts = ' std gam ncl '
|
||||
|
||||
parallel = 1
|
||||
|
||||
|
53
v/VASP/VASP-6.3.1-intel-2021b-cluster-independent.patch
Normal file
53
v/VASP/VASP-6.3.1-intel-2021b-cluster-independent.patch
Normal file
@ -0,0 +1,53 @@
|
||||
IT4Innovations 2022
|
||||
JK
|
||||
|
||||
This patch makes cluster independent changes to the compilation process:
|
||||
namely, it mostly sets paths to relevant libraries.
|
||||
Cluster specific changes should be specified in easyconfig through CLUSTERNAME variable.
|
||||
diff -ru vasp.6.3.1.orig/arch/makefile.include.intel vasp.6.3.1/arch/makefile.include.intel
|
||||
--- vasp.6.3.1.orig/arch/makefile.include.intel 2022-06-17 17:40:07.266733000 +0200
|
||||
+++ vasp.6.3.1/arch/makefile.include.intel 2022-06-17 17:40:07.253626000 +0200
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
FREE = -free -names lowercase
|
||||
|
||||
-FFLAGS = -assume byterecl -w
|
||||
+FFLAGS = -FR -assume byterecl
|
||||
|
||||
OFLAG = -O2
|
||||
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
|
||||
|
||||
@@ -53,18 +53,18 @@
|
||||
|
||||
# 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
|
||||
+#FCL += -qmkl=sequential
|
||||
+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
|
@ -1,86 +0,0 @@
|
||||
# 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'
|
61
v/VASP/VASP-6.3.1-intel-2021b-test.eb
Normal file
61
v/VASP/VASP-6.3.1-intel-2021b-test.eb
Normal file
@ -0,0 +1,61 @@
|
||||
# IT4Innovations 2022
|
||||
# JK
|
||||
|
||||
easyblock = 'MakeCp'
|
||||
|
||||
name = 'VASP'
|
||||
version = '6.3.1'
|
||||
versionsuffix = '-test'
|
||||
|
||||
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']
|
||||
patches = ['VASP-6.3.1-HDF5-WANNIER.patch']
|
||||
checksums = [
|
||||
'113db53c4346287c89982f52887a65d12d246e38de7ccd024e44499c4774dc66', # vasp.6.3.1.tgz
|
||||
'5da3eda9adbf29554070f839fe770a7b64494a3e60d2fd1040d577a620fa046d', # VASP-6.3.1-HDF5-WANNIER.patch
|
||||
]
|
||||
|
||||
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 && '
|
||||
|
||||
# VASP uses LIBS as a list of folders
|
||||
prebuildopts += 'unset LIBS && '
|
||||
|
||||
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'
|
Loading…
x
Reference in New Issue
Block a user