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
