mpich2的问题
运行并行计算的时候出现这个问题, 在google查不到解决办法,有没有mpi大拿帮忙看看,这是什么错误代码?
p0_21098: p4_error: interrupt SIGx: 1
bm_list_21099: p4_error: interrupt SIGx: 1
p0_21098: (8444.481986) net_send: could not write to fd=4, errno = 32
p0_21098: p4_error: interrupt SIGx: 1
bm_list_21099: p4_error: interrupt SIGx: 1
p0_21098: (8444.481986) net_send: could not write to fd=4, errno = 32
net_send: could not write to fd=4, errno = 32
这是因为P4_GLOBMEMSIZE 16777216 设置的不够大么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
感谢版主 好像是程序的问题
1. 做几个测试
- 跑一下 tstmachines 看看是否正常 (在mpich下面)
- mpich带的fpi 之类的例子跑一下,看看是否正常
2. GLOBMEMSIZE的问题,如果 tstmachines 和 fpi 之类的sample 都OK
你 设置一下 export P4_GLOBMEMSIZE=16777216看看
3. 程序造成的问题. 从stdout来看,你的程序跑的时候,好像被异常的杀掉了.
因为我以前在head node向SGE 递交程序的时候,我如果想要干掉所有node得上的程序就会 SGE -> kill all 这个process, 然后就会出现非常类似的输出.
我不知道你什么环境下工作,我在SGE上处理并行程序的时候,可以进去qlogin ,一个交互式的login工具,逐段debug我的MPI程序.
debug的时候,用stderr代替stdout,因为mpi程序跑的时候,error message都是buffer掉的,不容易帮助你检查代码.
BTW: MPI程序debug不是很容易:">
4. 节点通信和权限上的问题
head node 递交作业后,作业要在每个node都有权限运行,且通信要保证OK. 我不知道你的环境到底是怎样的. 建议你先从简单的环境方面开始检查,也许会减少点时间.
good luck,