Syntax error in vasp.6.4.1 minimax_functions1D.F

Questions regarding the compilation of VASP on various platforms: hardware, compilers and libraries, etc.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
amihai_silverman1
Newbie
Newbie
Posts: 22
Joined: Tue May 16, 2023 11:14 am

Syntax error in vasp.6.4.1 minimax_functions1D.F

#1 Post by amihai_silverman1 » Wed May 17, 2023 10:00 am

I try to compile vasp.6.4.1std on a centos 7 cluster with
compilers: intel_oneapi2022, gcc11.2, openmpi-4.1.1.

I use makefile.include.intel_ompi_mkl_omp with a few modifications (makefile.include is attached below).
I get a syntax error.
Your help is required, Thanks.



mpif90 -fopenmp -free -w -O2 -I/usr/local/intel_oneapi2022/mkl/2022.0.2/include/fftw -I/usr/include -c minimax_functions1D.f90
minimax_functions1D.F:365:132:

365 | ZP(2)= -QDPP(1)/QDPP(12) + QDPP(3)*Z**2/QDPP(40) - (QDPP(17)*Z**4)/QDPP(672)
|
1
Error: Syntax error in argument list at (1)
minimax_functions1D.F:445:132:

445 | D2_F_BETA_LRS= -QDPP(1)/QDPP(12) + QDPP(3)*Z**2/QDPP(40) - (QDPP(17)*Z**4)/QDPP(672)
|
1
Error: Syntax error in argument list at (1)
make[2]: *** [minimax_functions1D.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/home/amihai/src/vasp.6.4.1/build/std'
cp: cannot stat ‘vasp’: No such file or directory
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/amihai/src/vasp.6.4.1/build/std'
make: *** [std] Error 2




]$ cat makefile.include
# Default precompiler options
CPP_OPTIONS = -DHOST=\"LinuxIFC\" \
-DMPI -DMPI_BLOCK=8000 -Duse_collective \
-DscaLAPACK \
-DCACHE_SIZE=4000 \
-Davoidalloc \
-Dvasp6 \
-Duse_bse_te \
-Dtbdyn \
-Dfock_dblbuf \
-D_OPENMP

CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)

FC = mpif90 -fopenmp
FCL = mpif90

FREE = -free

FFLAGS = -w

OFLAG = -O2
OFLAG_IN = $(OFLAG)
DEBUG = -O0

OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o
OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O2 += fft3dlib.o

# For what used to be vasp.5.lib
CPP_LIB = $(CPP)
FC_LIB = $(FC)
CC_LIB = icc
CFLAGS_LIB = -O
FFLAGS_LIB = -O1
FREE_LIB = $(FREE)

OBJECTS_LIB = linpack_double.o

# For the parser library
CXX_PARS = icpc
LLIBS = -lstdc++

##
## Customize as of this point! Of course you may change the preceding
## part of this file as well if you like, but it should rarely be
## necessary ...
##

# When compiling on the target machine itself, change this to the
# relevant target when cross-compiling for another architecture
#VASP_TARGET_CPU ?= -xHOST
#FFLAGS += $(VASP_TARGET_CPU)

# Intel MKL for FFTW, BLAS, LAPACK, and scaLAPACK
# (Note: for Intel Parallel Studio's MKL use -mkl instead of -qmkl)
FCL += -mkl
MKLROOT ?= /usr/local/intel_oneapi2022/mkl/2022.0.2
INCS =-I$(MKLROOT)/include/fftw

# Use a separate scaLAPACK installation (optional but recommended in combination with OpenMPI)
# Comment out the two lines below if you want to use scaLAPACK from MKL instead
##SCALAPACK_ROOT ?= /path/to/your/scalapack/installation
##LLIBS += -L${SCALAPACK_ROOT}/lib -lscalapack

# HDF5-support (optional but strongly recommended)
CPP_OPTIONS+= -DVASP_HDF5
#HDF5_ROOT ?= /path/to/your/hdf5/installation
#LLIBS += -L$(HDF5_ROOT)/lib -lhdf5_fortran
LLIBS += -L/usr/lib64 -lhdf5_fortran
INCS += -I/usr/include

# For the VASP-2-Wannier90 interface (optional)
#CPP_OPTIONS += -DVASP2WANNIER90
#WANNIER90_ROOT ?= /path/to/your/wannier90/installation
#LLIBS += -L$(WANNIER90_ROOT)/lib -lwannier

# For the fftlib library (hardly any benefit in combination with MKL's FFTs)
#CPP_OPTION += -Dsysv
#FCL = mpif90 fftlib.o -qmkl
#CXX_FFTLIB = icpc -qopenmp -std=c++11 -DFFTLIB_USE_MKL -DFFTLIB_THREADSAFE
#INCS_FFTLIB = -I./include -I$(MKLROOT)/include/fftw
#LIBS += fftlib

andreas.singraber
Global Moderator
Global Moderator
Posts: 236
Joined: Mon Apr 26, 2021 7:40 am

Re: Syntax error in vasp.6.4.1 minimax_functions1D.F

#2 Post by andreas.singraber » Fri May 19, 2023 2:18 pm

Hello!

First of all, is there a specific reason for your choice of the template makefile.include.intel_ompi_mkl_omp? This will combine the Intel compiler with OpenMPI and Intel's MKL, built with OpenMP support. Are you sure you want to avoid Intel's MPI? An all-Intel build will be much simpler (makefile.include.intel_omp template).

In any case, your modifications of the template make me suspect that your mpif90 is not using the Intel compiler and hence the compilation fails. Can you please check and report what the following commands return:

Code: Select all

mpif90 --version
mpif90 -show
You need to make sure that mpif90 is actually an alias to the the Intel compiler while at the same time using OpenMPI include paths.

Also please note that your OpenMPI version 4.1.1 is affected by a bug, see the footnote on our Toolchains Wiki page:
A bug in OpenMPI versions 4.0.4-4.1.1 causes a memory leak in some ScaLAPACK calls. This mainly affects long molecular-dynamics runs. This issue is fixed as of openmpi-4.1.2.
Best,
Andreas Singraber

amihai_silverman1
Newbie
Newbie
Posts: 22
Joined: Tue May 16, 2023 11:14 am

Re: Syntax error in vasp.6.4.1 minimax_functions1D.F

#3 Post by amihai_silverman1 » Sun May 21, 2023 5:59 am

Thank you so much for your instant reply,
Compilation using makefile.include.intel completed properly.
Is there an advantage to the code performance if it is built with OpenMP ?

Amihai

Post Reply