计算化学公社

标题: 求助:vasp安装SIGSEGV, segmentation fault [打印本页]

作者
Author:
diffcwmol    时间: 2021-4-11 16:30
标题: 求助:vasp安装SIGSEGV, segmentation fault
各位同仁,

请教大家,在安装VASP的时候一直出现以下错误(可以编译得到vasp可执行程序,跑程序的时候出错):
########
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source            
vasp_std           0000000000E24C43  for__signal_handl     Unknown  Unknown
libpthread-2.17.s  00007FCF7E66D5F0  Unknown               Unknown  Unknown
libmpi.so.40.30.0  00007FCF7EBF0631  MPI_Comm_size         Unknown  Unknown
libmkl_blacs_inte  00007FCF7F597E09  MKLMPI_Comm_size      Unknown  Unknown
libmkl_blacs_inte  00007FCF7F595FD1  mkl_blacs_init        Unknown  Unknown
libmkl_blacs_inte  00007FCF7F595F18  Cblacs_pinfo          Unknown  Unknown
libmkl_blacs_inte  00007FCF7F58681F  blacs_gridmap_        Unknown  Unknown
libmkl_blacs_inte  00007FCF7F5861FE  blacs_gridinit_       Unknown  Unknown
vasp_std           000000000043E3E1  Unknown               Unknown  Unknown

########

我是参照sob老师的帖子装的,在我的其他的系统上可以装成功。但是在另一台上却始终出现上面的问题。
OFLAG 改为01,可以编译成功,但是仍出现上面的错误;
试过intel 2019和2020,Intel mkl和mpi,仍然出现上述错误;
试过intel mkl和openmpi,仍然出现上述错误。
vasp community上说可能是vasp本版本和编译器不兼容啥的,我编译的是vasp 5.4.

求教大家,如果解决此问题?




作者
Author:
abin    时间: 2021-4-11 20:09
失败的机器,是啥处理器?

作者
Author:
diffcwmol    时间: 2021-4-11 23:48
abin 发表于 2021-4-11 20:09
失败的机器,是啥处理器?

Intel(R) Xeon(R) CPU E7- 2870  @ 2.40GHz
作者
Author:
diffcwmol    时间: 2021-4-12 00:31
The most strange thing is that the vasp_std can run the first Ionic step, and then stop with the Segmentation fault.
作者
Author:
abin    时间: 2021-4-12 10:52
diffcwmol 发表于 2021-4-12 00:31
The most strange thing is that the vasp_std can run the first Ionic step, and then stop with the Seg ...

Attach all input and output files.

make.include file if you like.

Compiler version.
作者
Author:
dardons    时间: 2021-11-19 16:28
我也有相同的情况,正在尝试重新编译vasp

...
DAV:  23    -0.208825884903E+04   -0.13130E-02   -0.97245E-03  1464   0.140E-01    0.554E-01
DAV:  24    -0.208825737388E+04    0.14752E-02   -0.22669E-02  1264   0.791E-02    0.378E-01
DAV:  25    -0.208825758833E+04   -0.21445E-03   -0.57399E-03  1128   0.121E-01
   1 F= -.21123892E+04 E0= -.21123706E+04  d E =-.211239E+04

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 0 PID 14679 RUNNING AT g5
=   KILLED BY SIGNAL: 9 (Killed)
===================================================================================

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 1 PID 14680 RUNNING AT g5
=   KILLED BY SIGNAL: 11 (Segmentation fault)
===================================================================================
...
作者
Author:
dardons    时间: 2021-11-19 16:29
我的 makefile.include
:
# Precompiler options
CPP_OPTIONS= -DHOST=\"LinuxIFC\"\
             -DMPI -DMPI_BLOCK=8000 \
             -Duse_collective \
             -DscaLAPACK \
             -DCACHE_SIZE=4000 \
             -Davoidalloc \
             -Duse_bse_te \
             -Dtbdyn \
             -Duse_shmem

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

FC         = mpiifort
FCL        = mpiifort -mkl=sequential -lstdc++

FREE       = -free -names lowercase

FFLAGS     = -assume byterecl -w
OFLAG      = -O2 -xhost
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

LIBS       += parser
LLIBS      += -Lparser -lparser -lstdc++

# Normally no need to change this
SRCDIR     = ../../src
BINDIR     = ../../bin

#================================================
# GPU Stuff

CPP_GPU    = -DCUDA_GPU -DRPROMU_CPROJ_OVERLAP -DUSE_PINNED_MEMORY -DCUFFT_MIN=28 -UscaLAPACK

OBJECTS_GPU = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d_gpu.o fftmpiw_gpu.o

CC         = icc
CXX        = icpc
CFLAGS     = -fPIC -DADD_ -Wall -openmp -DMAGMA_WITH_MKL -DMAGMA_SETAFFINITY -DGPUSHMEM=300 -DHAVE_CUBLAS

CUDA_ROOT  ?= /usr/local/cuda/
NVCC       := $(CUDA_ROOT)/bin/nvcc -ccbin=icc
CUDA_LIB   := -L$(CUDA_ROOT)/lib64 -lnvToolsExt -lcudart -lcuda -lcufft -lcublas

GENCODE_ARCH    := -gencode=arch=compute_30,code=\"sm_30,compute_30\" \
                   -gencode=arch=compute_35,code=\"sm_35,compute_35\" \
                   -gencode=arch=compute_60,code=\"sm_60,compute_60\"

MPI_INC    = $(I_MPI_ROOT)/include64/

作者
Author:
dardons    时间: 2021-11-19 16:38
本帖最后由 dardons 于 2021-11-19 16:49 编辑

我用的是intel oneAPI的编译器
我好了!我刚重新编译了一遍,现在没有错误了。这是我的新的makefile.include

# Precompiler options
CPP_OPTIONS= -DHOST=\"LinuxIFC\"\
             -DMPI -DMPI_BLOCK=8000 \
             -Duse_collective \
             -DscaLAPACK \
             -DCACHE_SIZE=4000 \
             -Davoidalloc \
             -Duse_bse_te \
             -Dtbdyn \
             -Duse_shmem

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

FC         = mpiifort
FCL        = mpiifort -mkl=sequential -lstdc++

FREE       = -free -names lowercase

FFLAGS     = -assume byterecl -w -xhost -heap-arrays  64
OFLAG      = -O2 -xhost
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  /data/software/intel/oneapi/mkl/latest/interfaces/fftw3xf/libfftw3xf_intel.a

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

LIBS       += parser
LLIBS      += -Lparser -lparser -lstdc++

# Normally no need to change this
SRCDIR     = ../../src
BINDIR     = ../../bin

#================================================
# GPU Stuff

CPP_GPU    = -DCUDA_GPU -DRPROMU_CPROJ_OVERLAP -DUSE_PINNED_MEMORY -DCUFFT_MIN=28 -UscaLAPACK

OBJECTS_GPU = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d_gpu.o fftmpiw_gpu.o

CC         = icc
CXX        = icpc
CFLAGS     = -fPIC -DADD_ -Wall -openmp -DMAGMA_WITH_MKL -DMAGMA_SETAFFINITY -DGPUSHMEM=300 -DHAVE_CUBLAS

CUDA_ROOT  ?= /usr/local/cuda/
NVCC       := $(CUDA_ROOT)/bin/nvcc -ccbin=icc
CUDA_LIB   := -L$(CUDA_ROOT)/lib64 -lnvToolsExt -lcudart -lcuda -lcufft -lcublas

GENCODE_ARCH    := -gencode=arch=compute_30,code=\"sm_30,compute_30\" \
                   -gencode=arch=compute_35,code=\"sm_35,compute_35\" \
                   -gencode=arch=compute_60,code=\"sm_60,compute_60\"

MPI_INC    = $(I_MPI_ROOT)/include64/

祝你也能顺利解决难题。


作者
Author:
wolfli369    时间: 2021-11-19 17:01
dardons 发表于 2021-11-19 16:38
我用的是intel oneAPI的编译器
我好了!我刚重新编译了一遍,现在没有错误了。这是我的新的makefile.inclu ...

很可能是内存爆满,进程被系统杀掉,intel onapi的锅。最近使用intel oneapi 编译vasp 6.0.1就遇到这样的情况,换一个版本的编译器试一下。
作者
Author:
Epikur    时间: 2021-11-19 17:12
看来Oneapi的受害者不少
作者
Author:
diffcwmol    时间: 2021-11-29 03:24
dardons 发表于 2021-11-19 16:38
我用的是intel oneAPI的编译器
我好了!我刚重新编译了一遍,现在没有错误了。这是我的新的makefile.inclu ...

Thanks. 很长时间没上来了。我之前也是在FFLAGS中加了-heap-arrays,最后能解决问题。
作者
Author:
dardons    时间: 2021-11-29 11:12
diffcwmol 发表于 2021-11-29 03:24
Thanks. 很长时间没上来了。我之前也是在FFLAGS中加了-heap-arrays,最后能解决问题。

好~ 我发现用最新的oneAPI编译的vasp版本比旧的编译器编译的效率高不少。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3