On Thu, 13 Mar 2014 13:28:40 +0000
"Garth N. Wells" <[email protected]> wrote:

> 
> On 13 Mar 2014, at 13:15, Jan Blechta <[email protected]>
> wrote:
> 
> > On Thu, 13 Mar 2014 09:36:42 +0000
> > "Garth N. Wells" <[email protected]> wrote:
> > 
> >> 
> >> 
> >> On Thu, 13 Mar, 2014 at 9:23 AM, Johannes Ring <[email protected]> 
> >> wrote:
> >>> On Wed, Mar 12, 2014 at 6:30 PM, Jan Blechta 
> >>> <[email protected]> wrote:
> >>>> On Wed, 12 Mar 2014 17:19:31 +0100
> >>>> Benjamin Kehlet <[email protected]> wrote:
> >>>> 
> >>>>> Hello!
> >>>>> 
> >>>>> This code snippet
> >>>>> 
> >>>>> -----------------------------------------------------------------------
> >>>>> from dolfin import *
> >>>>> 
> >>>>> m = Mesh()
> >>>>> 
> >>>>> editor = MeshEditor()
> >>>>> editor.open(m, 2, 2)
> >>>>> editor.init_vertices(3)
> >>>>> editor.add_vertex(0, Point(.0, .0))
> >>>>> editor.add_vertex(1, Point(1., .0))
> >>>>> editor.add_vertex(2, Point(0., 1.))
> >>>>> 
> >>>>> editor.init_cells(1)
> >>>>> editor.add_cell(0, 0, 1, 2)
> >>>>> editor.close()
> >>>>> 
> >>>>> print MeshQuality.radius_ratio_min_max(m)
> >>>>> 
> >>>>> -----------------------------------------------------------------------
> >>>>> 
> >>>>> gives this error (when Dolfin is built with MPI support)
> >>>> 
> >>>> Can't reproduce.
> >>> 
> >>> I got the same error as Benjamin.
> >> 
> >> I get the error too.
> > 
> > Can you explain why I can't reproduce it while others can?
> > 
> 
> Do you have petsc4py installed? MPI is probably being initialised
> magically behind the scenes.

Yes, I have DOLFIN with petsc4py.

Jan

> 
> Garth
> 
> 
> > Jan
> > 
> >> 
> >> Initialising MPI is a long-standing issue that we've been dodging.
> >> The solution in other libraries is that the user makes a call at
> >> the start of a program to initialise MPI. We have a sprinkling of 
> >> behind-the-scenes initialisation of MPI. It's not ideal to have
> >> calls all over the place the initialise MPI. I'm not sure what the
> >> best solution is to balance performance and simplicity.
> >> 
> >> Garth  
> >> 
> >> 
> >>> 
> >>> Johannes
> >>> 
> >>>> 
> >>>> Jan
> >>>> 
> >>>>> 
> >>>>> benjamik@benjamik-hp:~/tmp/dolfin$ python test.py
> >>>>> *** The MPI_Allreduce() function was called before MPI_INIT was
> >>>>> invoked. *** This is disallowed by the MPI standard.
> >>>>> *** Your MPI job will now abort.
> >>>>> [benjamik-hp:28604] Local abort before MPI_INIT completed
> >>>>> successfully; not able to aggregate error messages, and not able
> >>>>> to guarantee that all other processes were killed!
> >>>>> 
> >>>>> The reason is that MeshQuality::radius_ratio_min_max() calls
> >>>>> MPI::min() which calls MPI_Allreduce().
> >>>>> 
> >>>>> Who is responsible for initializing MPI in this case?
> >>>>> 
> >>>>> Regards
> >>>>> 
> >>>>> Benjamin
> >>>>> _______________________________________________
> >>>>> fenics mailing list
> >>>>> [email protected]
> >>>>> http://fenicsproject.org/mailman/listinfo/fenics
> >>>> 
> >>>> _______________________________________________
> >>>> fenics mailing list
> >>>> [email protected]
> >>>> http://fenicsproject.org/mailman/listinfo/fenics
> >>> _______________________________________________
> >>> fenics mailing list
> >>> [email protected]
> >>> http://fenicsproject.org/mailman/listinfo/fenics
> >> 
> >> _______________________________________________
> >> fenics mailing list
> >> [email protected]
> >> http://fenicsproject.org/mailman/listinfo/fenics

_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to