[petsc-users] parmetis weights

francois pacull fpacull at fluorem.com
Tue Aug 9 06:00:10 CDT 2011


Dear All,
I once submitted (last september) a question about weights in ParMETIS: 
after looking at mat/partition/impls/pmetis/pmetis.c, I had the feeling 
that the "wgtflag" variable was always set to zero and thus that the 
edge weights were not taken into account by ParMETIS... I eventually 
tried to use edge weights in order to improve a domain decomposition and 
indeed, I had to add "wgtflag = 1; " just before the call to 
ParMetis_V3_PartKway, otherwise the edge weights would always be equal 
to one (even if the adjacency matrix was weighted). The PETSc version I 
am using is 3.1-p8.
Also, for people that would like to use weights, note that the edge 
weights need to be //PetscInt values (I had an overflow problem with 
very large weights, maybe because the "edgecut" variable summing all 
weights of the boundary is also an int4).
Regards,
francois.

Barry Smith wrote:
>   It is possible that the code is not tested in that mode. If you determine that something is wrong when you get to this let us know. Perhaps you need to set that flag and see if it works and then tell us what change you made.
>
>    Barry
>
>
>
> On Sep 28, 2010, at 12:08 PM, francois pacull wrote:
>
>   
>> Dear PETSc team,
>> I just have a small and naive question about graph weights in Parmetis. When looking at mat/partition/impls/pmetis/pmetis.c, it seems that weight arrays (for vertices or edges) can be given to parmetis, however the wgtflag variable is always set to 0 from what I understand, which means that no weights are used in ParMETIS_V3_PartKway. So does this mean that the parmetis routine uses the weight arrays whenever they are not NULL, even if wgtflag is 0? I didn't try to use any weight yet, but will probably try it soon...
>> Thank you for any help you can provide,
>> francois pacull.
>>
>>
>>     
>
>
>   



More information about the petsc-users mailing list