Hello and thanks for your answer, could you tell me what exactly is
the limitation, in terms of number of processors and grid size ?


Nico



2009/9/4 Barry Smith <bsmith at mcs.anl.gov>:
>
> ?This is a limitation in the way the interpolation is computed. ?It is not
> really an error. There is no easy way to extend the code for these other
> configurations.
>
>
> ? Barry
>
> On Sep 4, 2009, at 7:39 AM, nicolas aunai wrote:
>
>> Hello,
>>
>>
>> I have a code that uses the DMMG objet for a linear problem. The DA I
>> create for the coarse grid is DA_XPERIODIC and 2D. I let petsc decide
>> for the number of processors in each direction.
>>
>> I have a problem which depends on the number of processors I use.
>> If I want a 1024x1025 grid with 4 levels, the coarsest grid will be
>> 128x129 with the default refinement factor.
>>
>> Everything seems to work fine when I run with 1, 2, 3, 4, 6, 8...
>> processors... but 5, 7, 11 proc fail with the following error :
>>
>>
>> nicolas at lx-nau:~/code/tests/petsc/dmmg$ mpiexec -n 5 ./inertia6
>> -ksp_type gmres -pc_type sor -ksp_rtol 1e-9
>>
>> size of the coarse level : 128 129
>> debug 1, number of proc in each dir. : 1 5
>>
>> [3]PETSC ERROR: --------------------- Error Message
>> ------------------------------------
>> [3]PETSC ERROR: Arguments are incompatible!
>> [3]PETSC ERROR: Processor's coarse DA must lie over fine DA
>> ? j_start 615 j_c 307 j_start_ghost_c 308!
>> [3]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [3]PETSC ERROR: Petsc Release Version 3.0.0, Patch 7, Mon Jul ?6
>> 11:33:34 CDT 2009
>> [3]PETSC ERROR: See docs/changes/index.html for recent updates.
>> [3]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>> [3]PETSC ERROR: See docs/index.html for manual pages.
>> [3]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [3]PETSC ERROR: ./inertia6 on a linux-gnu named lx-nau by nicolas Fri
>> Sep ?4 14:39:27 2009
>> [3]PETSC ERROR: Libraries linked from
>> /home/nicolas/bin/petsc-3.0.0-p7/linux-gnu-debug/lib
>> [3]PETSC ERROR: Configure run at Mon Aug 17 11:34:27 2009
>> [3]PETSC ERROR: Configure options --with-cc=gcc --with-fc=gfortran
>> --download-f-blas-lapack=1 --download-mpich=1
>> PETSC_ARCH=linux-gnu-debug --with-shared=0
>> [3]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [3]PETSC ERROR: DAGetInterpolation_2D_Q1() line 280 in
>> src/dm/da/src/dainterp.c
>> [3]PETSC ERROR: DAGetInterpolation() line 879 in src/dm/da/src/dainterp.c
>> [3]PETSC ERROR: DMGetInterpolation() line 144 in src/dm/da/utils/dm.c
>> [3]PETSC ERROR: DMMGSetDM() line 309 in src/snes/utils/damg.c
>>
>>
>>
>> it seems that the error come from the routine DMMGSetDM, when petsc
>> build the restriction/interpolation operators... but I can't figure
>> out why I couln't use 5 processors with this grid size ?
>>
>> if the code is needed, it is here : http://nico.aunai.free.fr/inertia6.c
>>
>>
>> Thx for your help
>>
>> Nico
>
>

Reply via email to