Segmentation fault error by intel compiler (VASP 6.1.1 and WSL2_ubuntu system)
Posted: Fri Oct 09, 2020 4:50 am
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
##############################################################
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
##############################################################