24小时热门版块排行榜    

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

Prettyswan

木虫 (小有名气)


[交流] 【求助成功】段错误的解决方法是不是只有重新编译

引用回帖:
Originally posted by hedaors at 2010-11-10 22:55:58:
Ba 的原子要比 Ca 的多很多,内存就可能不够。
这个在要求精度不变的情况下,只能牺牲速度,你用的是几个核心?你只用一个核心提交任务试试,应该没问题。

我使用两个进程提交任务,提示虚拟内存不足;使用了一个进程进行计算,发现计算会很快退出并提示段错误,不管是并行(使用IFC)还是串行(使用gfortran)
引用回帖:
running on    1 nodes
distr:  one band on    1 nodes,    1 groups
vasp.4.6.28 25Jul05 complex
POSCAR found :  4 types and   80 ions
LDA part: xc-table for Pade appr. of Perdew
POSCAR, INCAR and KPOINTS ok, starting setup
WARNING: wrap around errors must be expected
[node11:02919] *** Process received signal ***
[node11:02919] Signal: Segmentation fault (11)
[node11:02919] Signal code: Address not mapped (1)
[node11:02919] Failing at address: 0x351761ab8
[node11:02919] [ 0] /lib64/tls/libpthread.so.0 [0x317210c430]
[node11:02919] [ 1] /home/software/openmpi-1.2.2-intel9/lib/libopen-pal.so.0 [0x2a966ea7f0]
[node11:02919] [ 2] /home/software/openmpi-1.2.2-intel9/lib/libopen-pal.so.0(_int_malloc+0x627) [0x2a966ea07f]
[node11:02919] [ 3] /home/software/openmpi-1.2.2-intel9/lib/libopen-pal.so.0(malloc+0x67) [0x2a966e93bf]
[node11:02919] [ 4] /home/bin/vasp.openmpi(for_allocate+0x89) [0x699c01]
[node11:02919] [ 5] /home/bin/vasp.openmpi(wave_mp_allocw_+0x2c7) [0x4a9977]
[node11:02919] [ 6] /home/bin/vasp.openmpi(MAIN__+0x1504d) [0x428b8d]
[node11:02919] [ 7] /home/bin/vasp.openmpi(main+0x32) [0x413b2a]
[node11:02919] [ 8] /lib64/tls/libc.so.6(__libc_start_main+0xdb) [0x317161c3fb]
[node11:02919] [ 9] /home/bin/vasp.openmpi [0x413a6a]
[node11:02919] *** End of error message ***
mpirun noticed that job rank 0 with PID 2919 on node node11 exited on signal 11 (Segmentation fault).

我看到有帖子说是编译器的问题
引用回帖:
Originally posted by hakuna at 2010-10-27 16:29:54:
我16G内存也会出现这问题!
你大概是用intel的编译器干活的,当体系一大,刚进入主循环就会退出来,并提示上面的错误!前面提到降低截断能、减少K点主要是降低内存的消耗,如果是这样的的话,那便是内存溢出了,原因在于编译时INTEL默认将缓存写在堆栈里,堆栈小时便会出现上述错误,你可以尝试在编译VASP时,在FFLAGS里加上参数-heap-arrays  64试试看,如果还不行的话,就换一下编译器,PGI应该会好点。
祝你好运!别忘了报道一下你的结果啊

也有用修改计算精度的
引用回帖:
Originally posted by xianggui7895 at 2010-10-31 19:31:46:
你说的应该是正解。现在我找到一条折衷的解决方法,就是把PREC设为Medium之后就能算了,之前用的是PREC=Accurate……
[ Last edited by xian ...

但是我发现,我改动Medium是不行的,还是段错误。那么是不是对于段错误来说唯一的正确的解决方法就是重新编译?

[ Last edited by Prettyswan on 2010-11-16 at 17:46 ]
回复此楼

» 猜你喜欢

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

» 抢金币啦!回帖就可以得到:

查看全部散金贴

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

Prettyswan

木虫 (小有名气)


引用回帖:
Originally posted by valenhou001 at 2010-11-11 10:04:48:
是的。唯一的正确的解决方法就是重新编译

引用回帖:
Originally posted by hakuna at 2010-10-27 16:29:54:
我16G内存也会出现这问题!
你大概是用intel的编译器干活的,当体系一大,刚进入主循环就会退出来,并提示上面的错误!前面提到降低截断能、减少K点主要是降低内存的消耗,如果是这样的的话,那便是内存溢出了,原因在于编译时INTEL默认将缓存写在堆栈里,堆栈小时便会出现上述错误,你可以尝试在编译VASP时,在FFLAGS里加上参数-heap-arrays  64试试看,如果还不行的话,就换一下编译器,PGI应该会好点。
祝你好运!别忘了报道一下你的结果啊

在对FFLAGS加参数“-heap -arrays 64”时,64与-heap -arrays之间是什么关系?是两个参数么?
3楼2010-11-11 22:12:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答
★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
ym23(金币+1):也是啊 2010-11-11 10:35:46
Prettyswan(金币+3): 2010-11-11 15:10:46
是的。唯一的正确的解决方法就是重新编译
2楼2010-11-11 10:04:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见