Hello,
Recently, I tried to install VASP 6.1.1, but I fail to execute due to segmentation fault error.
I wonder how to solve the segmeation fault after compling VASP
The following is my installation enviroments.
1. windows_WSL2 (Ubuntu 20.04, gcc, gfortran default version 9)
2. intel paralell studio cluster 2018 update 4 (default installation path: /opt/intel/...)
2. VASP: 6.1.1 version
I tried to compile the following combinations.
1. GNU compilers + GNU library > compilation and execution compeleted
2. GNU compilers + intel MKL > compilation and execution compeleted
3. intel compilers + intel MKL > compilation compledted, but segmentation fault error after execution.
When I used intel compiler and MKL combination, I got the following error
##################### Segmetation fault ##########################
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
vasp_std 0000000001B3F81D Unknown Unknown Unknown
libpthread-2.31.s 00007FC449FDB3C0 Unknown Unknown Unknown
libmpifort.so.12. 00007FC44ADBBF45 __I_MPI___intel_s Unknown Unknown
libmpi.so.12.0 00007FC44A34DF4C Unknown Unknown Unknown
libmpi.so.12.0 00007FC44A34EE24 Unknown Unknown Unknown
libmpi.so.12.0 00007FC44A2EFAE3 Unknown Unknown Unknown
libmpi.so.12.0 00007FC44A2DD05B MPI_Init Unknown Unknown
libmpifort.so.12. 00007FC44AD62240 MPI_INIT Unknown Unknown
vasp_std 0000000000451860 Unknown Unknown Unknown
vasp_std 00000000004730A4 Unknown Unknown Unknown
vasp_std 00000000018F8701 Unknown Unknown Unknown
vasp_std 000000000040BB9E Unknown Unknown Unknown
libc-2.31.so 00007FC449CAA0B3 __libc_start_main Unknown Unknown
vasp_std 000000000040BAAE Unknown Unknown Unknown
##############################################################
I utilized the default file in /ARCH/makefile.include_intel,
and modified CXX_PARS = icpc including std=c++11 option since it cause any error without the option.
##################### makefile.include ##########################
# Precompiler options
CPP_OPTIONS= -DHOST=\"LinuxIFC\"\
-DMPI -DMPI_BLOCK=8000 -Duse_collective \
-DscaLAPACK \
-DCACHE_SIZE=4000 \
-Davoidalloc \
-Dvasp6 \
-Duse_bse_te \
-Dtbdyn \
-Dfock_dblbuf
CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)
FC = mpiifort
FCL = mpiifort -mkl=sequential
FREE = -free -names lowercase
FFLAGS = -assume byterecl -w -xHOST
OFLAG = -O2
OFLAG_IN = $(OFLAG)
DEBUG = -O0
MKL_PATH = $(MKLROOT)/lib/intel64
BLAS =
LAPACK =
BLACS = -lmkl_blacs_intelmpi_lp64
SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS)
OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o
INCS =-I$(MKLROOT)/include/fftw
LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS)
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 getshmem.o
# For the parser library
CXX_PARS = icpc -std=c++11
LLIBS += -lstdc++
# Normally no need to change this
SRCDIR = ../../src
BINDIR = ../../bin
##############################################################
Segmentation fault error by intel compiler (VASP 6.1.1 and WSL2_ubuntu system)
Moderators: Global Moderator, Moderator
-
- Newbie
- Posts: 1
- Joined: Tue Sep 15, 2020 4:35 am
-
- Global Moderator
- Posts: 506
- Joined: Mon Nov 04, 2019 12:41 pm
- Contact:
Re: Segmentation fault error by intel compiler (VASP 6.1.1 and WSL2_ubuntu system)
We did not perform tests on the WSL2_ubuntu as part of our internal testing.
Here are some things you can try to debug the problem:
1. The backtrace you posted is not very informative, could you recompile by changing the makefile.include
Some more information about debugging with intel here:
https://software.intel.com/content/www/ ... tions.html
2. Could you show which libraries your VASP executable is effectively linked with?
3. Have you tried the exact same compilation (makefile.include and the same version of intel) on a linux machine with ubuntu if you have one?
I recommend comparing the results of step 2 with what you obtain on the linux machine.
I assume that ubuntu on WSL2 should produce a similar executable but its a good idea to check.
PS: Note that the compilation with gcc9 is not officially supported yet.
Some users have reported issues:
forum/viewtopic.php?f=2&t=17831
Our internal testing also revealed other issues besides those resported here.
I recommend you use gcc7 for the compilation.
Here is the list of our recommended toolchains:
wiki/wiki/index.php/Toolchains
We will support gcc9 in the next VASP update.
Here are some things you can try to debug the problem:
1. The backtrace you posted is not very informative, could you recompile by changing the makefile.include
Code: Select all
FFLAGS = -traceback -assume byterecl -w -xHOST
https://software.intel.com/content/www/ ... tions.html
2. Could you show which libraries your VASP executable is effectively linked with?
Code: Select all
$ ldd <full_path>/vasp_std
I recommend comparing the results of step 2 with what you obtain on the linux machine.
I assume that ubuntu on WSL2 should produce a similar executable but its a good idea to check.
PS: Note that the compilation with gcc9 is not officially supported yet.
Some users have reported issues:
forum/viewtopic.php?f=2&t=17831
Our internal testing also revealed other issues besides those resported here.
I recommend you use gcc7 for the compilation.
Here is the list of our recommended toolchains:
wiki/wiki/index.php/Toolchains
We will support gcc9 in the next VASP update.