[firedrake] Firedrake/DMPlex parallel restriction: one d.o.f. per process

Lawrence Mitchell wencel at gmail.com
Wed Dec 18 11:41:57 GMT 2019



> On 17 Dec 2019, at 19:46, Ed Bueler <elbueler at alaska.edu> wrote:
> 
> Firedrake devs --
> 
> This is substantially a matter of curiosity, but I figure I am missing something I should understand.
> 
> Namely, parallel runs will generate "RuntimeError: Mesh must have at least one cell on every process" if you attempt to have less.  My understanding is that this restriction is not intrinsic to PETSc DMPlex, though the restriction does apply to DMDA.  I know that Firedrake uses separate DMPlex for the mesh and for the data layout.  What is the basic story here?

The historical story was that we previously relied on having one element on every process to be able to determine the cell shape in parallel without communicating. We now do it a different (more robust) way.

As Koki points out, in current firedrake this restriction is lifted.

Cheers,

Lawrence


More information about the firedrake mailing list