ham*_*con 5 python fork mpi openmpi python-2.7
我的 python 程序中的某些模块正在调用 fork(),而我的 mpi 环境对此不满意:
进程已执行涉及调用“fork()”系统调用以创建子进程的操作。Open MPI 当前的运行状态可能会导致内存损坏或其他系统错误;您的作业可能会挂起、崩溃或产生静默数据损坏。强烈建议不要使用 fork() (或 system() 或其他创建子进程的调用)。
调用fork的过程是:
本地主机:
如果您绝对确定您的应用程序将成功且正确地在 fork() 调用中幸存下来,则可以通过将 mpi_warn_on_fork MCA 参数设置为 0 来禁用此警告。
程序仍然运行,但输出是垃圾。
我不确定对 fork 的调用是否通过os.system,这是 python 调用 fork 的唯一方法吗?我自己并没有编写很多这样的模块,是否有一些工具可以用来找出哪一行生成了该警告?