24小时热门版块排行榜    

查看: 624  |  回复: 4

yxie3189

至尊木虫 (正式写手)

[交流] 【求助】在其它节点上编译的程序在新节点上不能运行 已有2人参与

在其它节点上编译的并行程序在新节点上不能运行,出现如下错误:
p0_13461:  p4_error: Child process exited while making connection to remote process on node142: 0
望高手帮忙!
回复此楼

» 猜你喜欢

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

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

wanglifei007

金虫 (正式写手)


yxie3189(金币+1): 2010-05-28 21:44:15
resonant(金币+1):欢迎参与讨论。 2010-05-28 21:57:32
是不是分配机群的时候限制可用的节点数了,你问一下你们的机群管理员吧。
2楼2010-05-28 20:21:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yxie3189

至尊木虫 (正式写手)

引用回帖:
Originally posted by wanglifei007 at 2010-05-28 20:21:45:
是不是分配机群的时候限制可用的节点数了,你问一下你们的机群管理员吧。

我看看吧
3楼2010-05-28 21:45:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yxie3189

至尊木虫 (正式写手)

program test_gather
        include 'mpif.h'

      integer numprocs,myid,ierr,a,b
      dimension a(3),b(9)
     
      call MPI_INIT(ierr)
      call MPI_COMM_RANK(MPI_COMM_WORLD,myid,ierr)
      call MPI_COMM_SIZE(MPI_COMM_WORLD,numprocs,ierr)
      print *,'process',myid,' is alive'

      do i=1,3
       a(i)=myid+1
      end do

      call MPI_GATHER(a,3,MPI_INTEGER,b,3,MPI_INTEGER,
                      0,MPI_COMM_WORLD,ierr)

     
      write(*,*)(a(i),i=1,3)

      if ( myid .eq. 0 ) then
          write(*,*) (b(i),i=1,9)
      endif
     
      call MPI_FINALIZE(ierr)

      end
这个程序编译结果如下:
[yxie@node169 yxie]$ mpif77 -O3 -o test test_gather.f
test_gather.f: In program `test_gather':
test_gather.f:16:
         call MPI_GATHER(a,3,MPI_INTEGER,b,3,MPI_INTEGER,
              1                                          2
Invalid token at (2) in expression or subexpression at (1)
test_gather.f:17:
                         0,MPI_COMM_WORLD,ierr)
                          ^
Statement at (^) begins with invalid token [info -f g77 M LEX]
[yxie@node169 yxie]$
4楼2010-05-28 22:43:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yxie3189

至尊木虫 (正式写手)

program test_gather
        include 'mpif.h'
      integer numprocs,myid,ierr,a,b
      dimension a(3),b(9)
     
      call MPI_INIT(ierr)
      call MPI_COMM_RANK(MPI_COMM_WORLD,myid,ierr)
      call MPI_COMM_SIZE(MPI_COMM_WORLD,numprocs,ierr)
      print *,'process',myid,' is alive'
      do i=1,3
       a(i)=myid+1
      end do
      call MPI_GATHER(a,3,MPI_INTEGER,b,3,MPI_INTEGER,
     +                0,MPI_COMM_WORLD,ierr)
     
      write(*,*)(a(i),i=1,3)
      if ( myid .eq. 0 ) then
          write(*,*) (b(i),i=1,9)
      endif
     
      call MPI_FINALIZE(ierr)
      end
该测试程序在45,46等节点上运行正常,得到结果如下:
编译:mpif77 -o test_gather test_gather.f
运行: mpiexec -n 3 ./test_gather
结果如下:
process 0 is alive
process 2 is alive
process 1 is alive
2 2 2
1 1 1
1 1 1 2 2 2 3 3 3
3 3 3

在169节点上,结果如下:
[yxie@node169 yxie]$ mpiexec -n 3 ./test
process 0 is alive
1 1 1
1 1 1 50 5566888 0 0 0 0
process 0 is alive
1 1 1
1 1 1 50 5566888 0 0 0 0
process 0 is alive
1 1 1
1 1 1 50 5566888 0 0 0 0
[yxie@node169 yxie]$

大家帮我看是不是能有什么办法解决?
5楼2010-05-29 14:51:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yxie3189 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见