[petsc-users] ParMETIS question
Thomas Witkowski
thomas.witkowski at tu-dresden.de
Wed Dec 22 08:01:13 CST 2010
So, I found the problem related to empty partitions. It is not possible
to weight vertices (i.e. elements of a mesh) in such a way that one
weight is much higher than the other ones. For more details see
http://glaros.dtc.umn.edu/flyspray/task/11
Its a pity that ParMetis makes is very hard to find this kind of errors.
The open question for me is about the non continuous partitions. Is it a
normal behavior of ParMetis to create partitions that are not continous?
Thomas
Thomas Witkowski 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 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
>
> @Matthew: By mistake I've answered your mail directly to you and not
> to the mailing list, therefore I sent it now here again
>
> Matthew Knepley wrote:
>> 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
>
>
>
More information about the petsc-users
mailing list