我正在将python2.7多处理与mpi4py一起用于我的计算,并且在使用fork时收到警告,MPI不支持它。但是我的代码不会崩溃,结果看起来很合理。我可以忽略警告吗?
我正在执行一个令人尴尬的并行MCMC计算,每个节点之间不需要通信,除非它们将结果返回到根节点。在每个节点内,我使用多处理模块来生成更多进程以加快计算速度。
除了我从MPI收到关于“强烈建议不要使用fork()”的警告之外,其他所有内容似乎都还不错。我认为多处理模块使用fork是正确的吗?
最后,我的脚本没有崩溃,结果看起来还算合理。但是我不知道脚本是否可靠。因此我想问:
在什么情况下fork会引起问题?
如果我保证在分叉的过程中不会使用MPI通信,是否可以忽略该警告?
如果我没有崩溃就收到结果,那结果可能是错误的吗?是像其他语言中的未初始化变量一样的错误类型,即使没有崩溃也不会提示您错误的结果吗?
如果我真的不能忽略此警告,必须修复脚本的哪些选项?
感谢您的协助。