[petsc-users] ParMETIS question

Thomas Witkowski thomas.witkowski at tu-dresden.de
Wed Dec 22 03:12:34 CST 2010


Matthew Knepley wrote:
> On Tue, Dec 21, 2010 at 11:53 AM, Thomas Witkowski 
> <Thomas.Witkowski at tu-dresden.de 
> <mailto:Thomas.Witkowski at tu-dresden.de>> wrote:
>
>     Okay, in my computations, I have empty partitions on some ranks
>     and definitely not minimal boundary sizes. So may be I generate a
>     wrong input. But if this is the case, I wonder why the resulting
>     mesh partitioning is quite good. If I neglect the problem of empty
>
>
> The above statement does not make any sense. You can get perfect load 
> balancing by just chopping the mesh into
> equal parts. You only care about using a mesh partitioner if you want 
> to minimize the cut size (boundary length, communication,
> etc.)
My situation is slightly different. I make the partitioning and 
distribution of the mesh on a coarse level. The coarser elements may be 
further adapted. For ParMetis, I use the number of fine elements in the 
coarse mesh elements to weight them. Therefore, I do not get equal parts 
with respect to the number of coarse mesh elements. But what do not want 
to have are empty partitions. And in my test case with 128 coarse mesh 
elements and 8 processes, I get using either ParMETIS_V3_PartMeshKway or 
ParMETIS_V3_AdaptiveRepart two empty partitions. I wrote a function to 
print the dual graph of the mesh, and it looks fine.

Thomas

>    Matt
>  
>
>     partitions, the redistributed mesh leads to a very good load
>     balancing. Is there any meaningful way to debug the problem? Is
>     there something link a "verbose mode" in ParMetis that says me
>     whats happen on the input data? Otherwise I have to print all the
>     input data to the screen and check it by hand. Although I have a
>     quite small example with 128 overall coarse mesh elements on 8
>     ranks, this is not big fun :)
>
>     Thomas
>
>     Zitat von Matthew Knepley <knepley at gmail.com
>     <mailto:knepley at gmail.com>>:
>
>
>         On Tue, Dec 21, 2010 at 5:49 AM, Thomas Witkowski <
>         thomas.witkowski at tu-dresden.de
>         <mailto:thomas.witkowski at tu-dresden.de>> wrote:
>
>             Hi,
>
>             I have a not directly PETSc related question, but I hope
>             to get some answer
>             from the community here. In my FEM code, I make use of
>             ParMETIS to partition
>             the mesh. I make direct use of this library and not of
>             PETSc's ParMETIS
>             integration. The initial partition is always fine, but I
>             use the
>             ParMETIS_V3_AdaptiveRepart function for repartition the
>             mesh due to local
>             mesh adaption. In most cases, the result is fine, but
>             there are two points,
>             where I have trouble with:
>
>             1) Sometimes ParMETIS generates empty partitions, i.e., a
>             processor has
>             zero mesh elements. This is something my code cannot
>             handle. Is this a bug
>             or a feature? If it is a feature, is there any possiblity
>             to disable it?
>
>
>         ParMetis has a balance constraint if you weight vertices. This
>         will enforce
>         equal size partitions.
>
>
>             2) In most cases the specific partitions are not
>             connected. If I put all
>             data to ParMETIS in a correct way, is this okay? My code
>             can handle it, but
>             is slows down the computation due to larger interior
>             boundaries and
>             therefore to more communications.
>
>
>         ParMetis minimizes the overall boundary size, so I do not
>         understand how you
>         could see this slowdown.
>
>           Matt
>
>
>             Does anyone of you know an answer to these question? Is
>             there a debug mode
>             in ParMETIS, where I can see which data is set to its
>             function calls?
>
>             Regards,
>
>             Thomas
>
>
>
>
>         --
>         What most experimenters take for granted before they begin
>         their experiments
>         is infinitely more interesting than any results to which their
>         experiments
>         lead.
>         -- Norbert Wiener
>
>
>
>
>
>
> -- 
> What most experimenters take for granted before they begin their 
> experiments is infinitely more interesting than any results to which 
> their experiments lead.
> -- Norbert Wiener



More information about the petsc-users mailing list