I am currently trying to use fipy on our local cluster (Scientific Linux 6.9 and Python 2.7.8) to perform some drift-diffusion calculations, and I'm having difficulty with solving in parallel. When I attempt to run my script invoking the --trilinos option I get the following error:
A process has executed an operation involving a call to the "fork()" system call to create a child process. Open MPI is currently operating in a condition that could result in memory corruption or other system errors; your job may hang, crash, or produce silent data corruption. The use of fork() (or system() or other calls that create child processes) is strongly discouraged.
The process that invoked fork was:
Local host: [[20666,15131],0] (PID 21499)
If you are absolutely sure that your application will successfully and and correctly survive a call to fork(), you may disable this warning by setting the mpi_warn_on_fork MCA parameter to 0.
I have isolated this error in the simple script:
from mpi4py import *
from fipy import *
I think that there is therefore some conflict between mpi4py and fipy but I am lost as to how to diagnose the conflict. Is there something simple I am missing in the installation? I have installed fipy and mpi4py through pip, and PyTrilinos is installed from source.