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
