收到有关叉子与MPI不兼容的警告。在什么情况下我可以忽略它?

时间:2019-01-28 15:39:07

标签: python multiprocessing fork openmpi mpi4py

我正在将python2.7多处理与mpi4py一起用于我的计算,并且在使用fork时收到警告,MPI不支持它。但是我的代码不会崩溃,结果看起来很合理。我可以忽略警告吗?

我正在执行一个令人尴尬的并行MCMC计算,每个节点之间不需要通信,除非它们将结果返回到根节点。在每个节点内,我使用多处理模块来生成更多进程以加快计算速度。

除了我从MPI收到关于“强烈建议不要使用fork()”的警告之外,其他所有内容似乎都还不错。我认为多处理模块使用fork是正确的吗?

最后,我的脚本没有崩溃,结果看起来还算合理。但是我不知道脚本是否可靠。因此我想问:

  1. 在什么情况下fork会引起问题?

  2. 如果我保证在分叉的过程中不会使用MPI通信,是否可以忽略该警告?

  3. 如果我没有崩溃就收到结果,那结果可能是错误的吗?是像其他语言中的未初始化变量一样的错误类型,即使没有崩溃也不会提示您错误的结果吗?

  4. 如果我真的不能忽略此警告,必须修复脚本的哪些选项?

感谢您的协助。

0 个答案:

没有答案