dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #21527
Re: Mesh coloring
On Monday February 21 2011 12:47:51 Garth N. Wells wrote:
> On 21/02/11 20:36, Johan Hake wrote:
> > On Monday February 21 2011 12:31:18 Garth N. Wells wrote:
> >> On 21/02/11 18:00, Johan Hake wrote:
> >>> On Monday February 21 2011 08:18:18 Garth N. Wells wrote:
> >>>> On 17/02/11 21:28, Johan Hake wrote:
> >>>>> Hello!
> >>>>>
> >>>>> I have a not so large 3D mesh of some 50K vertices, generated from
> >>>>> some geometry (not UnitCube).
> >>>>>
> >>>>> When I set
> >>>>>
> >>>>> parameters.num_threads = 2
> >>>>>
> >>>>> and try to assemble I just get:
> >>>>> Coloring mesh.
> >>>>>
> >>>>> and then it seems it wont find a solution... I had to break it
> >>>>> because it nearly hang the computer for some 5 min.
> >>>>>
> >>>>> Have anyone experience the same? Is there any way to controll the
> >>>>> coloring?
> >>>>
> >>>> It's had minimal testing, so issues can be expected. Can you post your
> >>>> solver? 50k vertices is not very big, so I would expect it to be
> >>>> pretty fast.
> >>>
> >>> Yes I would expect that too. I have used the coloring on other meshes
> >>> with success.
> >>>
> >>> The mesh can be downloaded from here:
> >>> <http://folk.uio.no/hake/trouble.xml.gz>
> >>>
> >>> To reproduce the trouble just run:
> >>> from dolfin import *
> >>> mesh = Mesh('trouble.xml.gz')
> >>> V = FunctionSpace(mesh, "CG", 1)
> >>> assemble(Function(V)*dx)
> >>> parameters.num_threads = 2
> >>> assemble(Function(V)*dx)
> >>>
> >>> The mesh has two distinct domains, but that shouldnto be causing the
> >>> trouble, as other I have successfully colored other such meshes.
The language is a bit hasty put together, but I meant to say here that I have
succesfully tried it with other disconnected meshes.
> >>> I
> >>> guess it can be the particular mesh that causes coloring to stall. It
> >>> is generated using tetgen.
Here I meant to say that the particular mesh might cause the problem.
> >> I don't think that I've tested multi-threaded assembly for functionals.
> >>
> >> When we get around to implementing it, assembling functionals shouldn't
> >> require colouring. It should just involve OpenMP parallelising the
> >> assembly loop, and then each thread adds its contribution to the result
> >> once it's processed its bunch of cells (while avoiding a race
> >> condition).
> >
> > I just used a Functional so I could stick with a shorter example ;)
> >
> > The above code works fine with another mesh. Changing the form to a
> > linear or bilinear form triggers the same coloring (right?), which
> > stalls on this particular mesh.
>
> You didn't bother to mention that the mesh is special!
I tried!
> The mesh is disconnected, which I suspect is the problem. My limited
> understanding of the Boost colouring algorithm is that it starts at one
> graph node and advances from there by moving along edges. Obviously this
> will break down for a disconnected meshes since there is no way for the
> algorithm to move from one graph (mesh) to the next.
I thought that too. But as I tried to tell you, I have succesfully tried other
disconnected meshes.
Johan
> Garth
>
> > Johan
> >
> >> Garth
> >>
> >>> At the end of the day I have to wait untill we support subdomains in
> >>> the OpenMPAssembler as I am heavily using these...
> >>>
> >>> Johan
> >>>
> >>>> Garth
> >>>>
> >>>>> Johan
> >>>>>
> >>>>> _______________________________________________
> >>>>> Mailing list: https://launchpad.net/~dolfin
> >>>>> Post to : dolfin@xxxxxxxxxxxxxxxxxxx
> >>>>> Unsubscribe : https://launchpad.net/~dolfin
> >>>>> More help : https://help.launchpad.net/ListHelp
> >>>>
> >>>> _______________________________________________
> >>>> Mailing list: https://launchpad.net/~dolfin
> >>>> Post to : dolfin@xxxxxxxxxxxxxxxxxxx
> >>>> Unsubscribe : https://launchpad.net/~dolfin
> >>>> More help : https://help.launchpad.net/ListHelp
> >>
> >> _______________________________________________
> >> Mailing list: https://launchpad.net/~dolfin
> >> Post to : dolfin@xxxxxxxxxxxxxxxxxxx
> >> Unsubscribe : https://launchpad.net/~dolfin
> >> More help : https://help.launchpad.net/ListHelp
Follow ups
References