intel fortranwindow7 下运行,程序结构为

 

main

call orge

write(*,*) 'orge end in rank=',myrank

call fild

end

 

subroutine orge

 ....

 ...

call mpi_barrier(mcomm,merr)  !nxy add

  write(*,*) 'orge end merr=',merr,mrank

   return

end subroutine orge

 

程序执行采用6个进程,运行结果为

orge end merr=           0           3

 orge end in rank=           3

 orge end merr=           0           2

 orge end in rank=           2

 orge end merr=           0           0

 orge end merr=           0           4

 orge end in rank=           4

 orge end merr=           0           5

 orge end in rank=           5

 orge end merr=           0           1

 orge end in rank=           1

job aborted:

rank: node: exit code[: error message]

0: Niexueyuan-PC: -1073740940: process 0 exited without calling finaliz

 

 

请注意,orge end in rank 这条输出语句只有1,2,3,4,5进程有打印0进程没有。而在orge子函数中在结束的时候,所有进程都是能有输出的。

请问这个是什么愿意造成的?无从下手啊,谢谢