How to get rid of fork() call

Asked by Torbjørn Bækø Ness on 2013-04-05

Hi, I have compiled dolfin from source on a HPC computer, and I get this error message when running a simple example:

torbness@stallo-1:~$ ipython
Python 2.7.3 (default, Nov 2 2012, 14:13:48)
Type "copyright", "credits" or "license" for more information.

IPython 0.13 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.

In [1]: from dolfin import *

In [2]: mesh = UnitCubeMesh(10,10,10)

In [3]: V = FunctionSpace(mesh, "CG", 1)
--------------------------------------------------------------------------
An MPI 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 MPI 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: stallo-1.local (PID 20441)
  MPI_COMM_WORLD rank: 0

If you are *absolutely sure* that your application will successfully
and correctly survive a call to fork(), you may disable this warning
by setting the mpi_warn_on_fork MCA parameter to 0.
--------------------------------------------------------------------------
Calling FFC just-in-time (JIT) compiler, this may take some time.

Here it just hangs forever it seems.
I'm certainly not *absolutely sure* my application will survive, but I don't know how to fix this issue?

Cheers,
Torbjørn

Question information

Language:
English Edit question
Status:
Answered
For:
DOLFIN Edit question
Assignee:
No assignee Edit question
Last query:
2013-04-05
Last reply:
2013-04-05
Garth Wells (garth-wells) said : #1

Your OpenMPI library probably doesn't support threads, which leads to the warning. Try compiling with the Intel MPI or MPICH libraries, if they are available. Also, test first outside of iPython.

Andy R Terrel (andy-terrel) said : #2

Patrick and I are hitting the same error. Currently diagnosing it. The
fork happens in CMake with the instant compile. The easiest way around
this is to do a dummy run that generates all the necessary instant files.

-- Andy

On Fri, Apr 5, 2013 at 8:01 AM, Garth Wells <
<email address hidden>> wrote:

> Question #225946 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/225946
>
> Garth Wells posted a new comment:
> Your OpenMPI library probably doesn't support threads, which leads to
> the warning. Try compiling with the Intel MPI or MPICH libraries, if
> they are available. Also, test first outside of iPython.
>
> --
> You received this question notification because you are a member of
> DOLFIN Team, which is an answer contact for DOLFIN.
>

Johan Hake (johan-hake) said : #3

AFAIK it is the call to the python module subprocess that generates the
fork.

Johan

On 04/05/2013 04:31 PM, Andy R Terrel wrote:
> Question #225946 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/225946
>
> Status: Open => Answered
>
> Andy R Terrel proposed the following answer:
> Patrick and I are hitting the same error. Currently diagnosing it. The
> fork happens in CMake with the instant compile. The easiest way around
> this is to do a dummy run that generates all the necessary instant files.
>
> -- Andy
>
>
> On Fri, Apr 5, 2013 at 8:01 AM, Garth Wells <
> <email address hidden>> wrote:
>
>> Question #225946 on DOLFIN changed:
>> https://answers.launchpad.net/dolfin/+question/225946
>>
>> Garth Wells posted a new comment:
>> Your OpenMPI library probably doesn't support threads, which leads to
>> the warning. Try compiling with the Intel MPI or MPICH libraries, if
>> they are available. Also, test first outside of iPython.
>>
>> --
>> You received this question notification because you are a member of
>> DOLFIN Team, which is an answer contact for DOLFIN.
>>
>
> You received this question notification because you are a member of
> DOLFIN Team, which is an answer contact for DOLFIN.
>

Andy R Terrel (andy-terrel) said : #4

Yes that is a fork as well. But its there to call make .... CMake will
make other forks as well.

On Fri, Apr 5, 2013 at 9:46 AM, Johan Hake <
<email address hidden>> wrote:

> Question #225946 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/225946
>
> Johan Hake proposed the following answer:
> AFAIK it is the call to the python module subprocess that generates the
> fork.
>
> Johan
>
> On 04/05/2013 04:31 PM, Andy R Terrel wrote:
> > Question #225946 on DOLFIN changed:
> > https://answers.launchpad.net/dolfin/+question/225946
> >
> > Status: Open => Answered
> >
> > Andy R Terrel proposed the following answer:
> > Patrick and I are hitting the same error. Currently diagnosing it. The
> > fork happens in CMake with the instant compile. The easiest way around
> > this is to do a dummy run that generates all the necessary instant files.
> >
> > -- Andy
> >
> >
> > On Fri, Apr 5, 2013 at 8:01 AM, Garth Wells <
> > <email address hidden>> wrote:
> >
> >> Question #225946 on DOLFIN changed:
> >> https://answers.launchpad.net/dolfin/+question/225946
> >>
> >> Garth Wells posted a new comment:
> >> Your OpenMPI library probably doesn't support threads, which leads to
> >> the warning. Try compiling with the Intel MPI or MPICH libraries, if
> >> they are available. Also, test first outside of iPython.
> >>
> >> --
> >> You received this question notification because you are a member of
> >> DOLFIN Team, which is an answer contact for DOLFIN.
> >>
> >
> > You received this question notification because you are a member of
> > DOLFIN Team, which is an answer contact for DOLFIN.
> >
>
> --
> You received this question notification because you are a member of
> DOLFIN Team, which is an answer contact for DOLFIN.
>

Johannes Ring (johannr) said : #5

I have the same problem on abel [1] using the Intel compilers. It doesn't help to generate the Instant files first either, but I might be doing something wrong.

[1] http://www.uio.no/english/services/it/research/hpc/abel/

Can you help with this problem?

Provide an answer of your own, or ask Torbjørn Bækø Ness for more information if necessary.

To post a message you must log in.