[petsc-users] ERROR: MatPartitioningApply_Parmetis() ... Does not support any processor with 0 entries

Dominik Szczerba dominik at itis.ethz.ch
Sat Oct 22 04:14:06 CDT 2011


Oh, you meant pmetis.c from src/mat/partition/impls/pmetis, not the
same file in externalpackages/ParMetis-3.2.0-p1...

I removed this check:

#if 1
  if ((vtxdist[rank+1] - vtxdist[rank]) < 1) {
    SETERRQ1(PETSC_COMM_SELF,PETSC_ERR_LIB,"Does not support any
processor with %d entries",vtxdist[rank+1] - vtxdist[rank]);
  }
#endif

but it generates more errors in other files:

dsz at tharsis:~/pack/petsc-3.2-p3$ rgrep "Poor vertex distribution" *
externalpackages/ParMetis-3.2.0-p1/ParMETISLib/ametis.c:
printf("Error: Poor vertex distribution (processor with no
vertices).\n");
externalpackages/ParMetis-3.2.0-p1/ParMETISLib/ometis.c:
printf("Error: Poor vertex distribution (processor with no
vertices).\n");
externalpackages/ParMetis-3.2.0-p1/ParMETISLib/rmetis.c:
printf("Error: Poor vertex distribution (processor with no
vertices).\n");
externalpackages/ParMetis-3.2.0-p1/ParMETISLib/kmetis.c:
printf("Error: Poor vertex distribution (processor with no
vertices).\n");

I am not sure if tweaking parmetis code is a way I want to go...

How about different solutions:

1) partitioning with metis and not parmetis? How to perform
partitioning by definition just serially? I just have a mesh on master
and want to get partitioning on master, I will take over then.
2) partitioning other than parmetis, will they work in my scenario? I
see e.g. chaco in the docu, but can not specify it with
-mat_partitioning_type chaco, I get an error. Are there any examples
how to partition using different methods?

I just need a quick fix for this problem, not necessarily the best one
for the moment...

Many thanks for any insight,
Dominik

On Fri, Oct 21, 2011 at 11:58 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> On Fri, Oct 21, 2011 at 16:53, Dominik Szczerba <dominik at itis.ethz.ch>
> wrote:
>>
>> I can not find anything resembling any guards in pmetis.c as pet Petsc
>> 3.2. Could you please refer me to the specific section?
>
> $ grep -n 'Does not support any processor with' petsc-3.2/src/**/*.c
> petsc-3.2/src/mat/partition/impls/pmetis/pmetis.c:61:
>  SETERRQ1(PETSC_COMM_SELF,PETSC_ERR_LIB,"Does not support any processor with
> %d entries",vtxdist[rank+1] - vtxdist[rank]);


More information about the petsc-users mailing list