24小时热门版块排行榜    

查看: 5107  |  回复: 15
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

solarman

新虫 (正式写手)

[求助] vasp成功安装后运行时出现Segmentation fault (signal 11)错误,求指教 已有3人参与

vasp并行安装成功,cpu是xeon 2630v3×2,64G内存,机器上同时安装了mpich2和openmpi,但which mpif90后显示:/opt/software/mpich2-intel/bin/mpif90
同样,which mpirun后显示:/opt/software/mpich2-intel/bin/mpirun
表明实际使用的mpi是mpich2的。
同时还安装了fftw库。

运行了数个vasp作业,均出现以下信息:
=====================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   EXIT CODE: 11
=   CLEANING UP REMAINING PROCESSES
=   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
=====================================================================================
APPLICATION TERMINATED WITH THE EXIT STRING: Segmentation fault (signal 11)

将makefile的设置贴出来,请大家帮忙看看,究竟是哪里出了问题?多谢了!
SUFFIX=.f90
FC=mpif90
FCL=$(FC)
CPP_ =  ./preprocess <$*.F | /usr/bin/cpp -P -C -traditional >$*$(SUFFIX)
CPP    = $(CPP_) -DMPI  -DHOST=\"LinuxIFC\" -DIFC \
     -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc -DNGZhalf \
     -DMPI_BLOCK=8000 -Duse_collectiveK
FFLAGS =  -FR -names lowercase -assume byterecl
OFLAG=-O2 -ip
OFLAG_HIGH = $(OFLAG)
OBJ_HIGH =
OBJ_NOOPT =
DEBUG  = -FR -O0
INLINE = $(OFLAG)
MKLROOT=/opt/intel/icc/composer_xe_2013.3.163/mkl
MKL_PATH=$(MKLROOT)/lib/intel64
IFC_LIB_PATH=/opt/intel/icc/composer_xe_2013.3.163/compiler/lib/intel64
BLAS=-L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_blacs_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lmkl_lapack95_lp64
LAPACK= $(MKL_PATH)/libmkl_intel_lp64.a
LIB  = -L../vasp.5.lib -ldmy \
     ../vasp.5.lib/linpack_double.o $(LAPACK) \
     $(BLAS)
LINK =
FFT3D   = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o /opt/mathlib/fftw-3.3.3/lib/libfftw3.a
INCS = -I/opt/intel/icc/composer_xe_2013.3.163/mkl/include/fftw
回复此楼

» 收录本帖的淘帖专辑推荐

VASP

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuli8

荣誉版主 (知名作家)

…………

优秀版主优秀版主

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
solarman: 金币+2, ★★★很有帮助, 多谢版主,这个的确是最重要的原因,我尝试过了,目前已经成功运行。 2015-06-22 08:30:41
在FFLAGS里加上参数-heap-arrays  64试试看
…………
12楼2015-06-22 08:16:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuli8

荣誉版主 (知名作家)

…………

优秀版主优秀版主

引用回帖:
13楼: Originally posted by solarman at 2015-06-22 08:32:12
多谢版主,能解释一下-heap-arrays  64的作用吗,是不是因为栈溢出而使用静态存储?谢谢了...

# by default some intel compilers put temporaries on the stack
# this might lead to segmentation faults is the stack limit is set to low
# stack limits can be increased by sysadmins or e.g with ulimit -s 256000
# furthermore new ifort (10.0?) compilers support the option
# -heap-arrays 64
# add this to the compilation flags is the other options do not work
-------------------------------
默认的话一些intel编译器会把缓存写到堆栈里,如果堆栈限制比较小,就会导致segmentation faults错误。可以用管理员权限来增加堆栈大小或者使用-heap-arrays 64(ifort10以上。
…………
14楼2015-06-22 09:49:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 solarman 的主题更新
信息提示
请填处理意见