由于有待处理的消息而使mpi_finalize挂起,我可以不调用mpi_finalize而完成程序 [英] mpi_finalize hang due to pending message, can I finish program without calling mpi_finalize
问题描述
我有一个很长的FORTRAN + MPI代码,它们挂在mpi_finalize()步骤上.可能是由于待处理的消息.即使我"ctrl-c"中止该挂起的程序,我也可以获得预期的输出.
这里的问题是:我可以从我的代码中删除mpi_finalize(),会有潜在的问题吗?看来,通过删除mpi_finalize()可以使输出保持不变,并且程序可以无错误地退出.
我使用的编译器是"ifort版本13.1.1".
谢谢.
-凯
最有可能您正在使用非阻塞发送和接收数组中超出范围的写操作,该数组收集MPI_Waitall函数中使用的信息.>
I have a very long FORTRAN+MPI codes that hang at mpi_finalize() step. It probably due to pending message. I can get the output expected even I "ctrl-c" abort that hanged program.
The question here is: Can I remove the mpi_finalize() from my code, will there be any potential problems? It seems that by removing mpi_finalize() the output doesn't differ, and the program can quit without error.
The compiler I use is "ifort version 13.1.1".
Thanks.
-Kai
Most likely you are using non-blocking sends and receives that write out of bounds in the array that collects the information that is used in the MPI_Waitall function.
这篇关于由于有待处理的消息而使mpi_finalize挂起,我可以不调用mpi_finalize而完成程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!