[petsc-users] GAMG speed

Michele Rosso mrosso at uci.edu
Tue Aug 13 20:25:56 CDT 2013


Matt,

thank you! I will try to reduce the number of levels and see how it goes.
I asked about the speed since CG + Block Jacobi with ICC in each block 
runs faster then CG + MG, so I thought I was missing something.
Could you please tell me how to get rid of Chebichev?

Best,
Michele

On 08/13/2013 05:51 M, Matthew Knepley wrote:
> On Tue, Aug 13, 2013 at 7:05 PM, Michele Rosso <mrosso at uci.edu 
> <mailto:mrosso at uci.edu>> wrote:
>
>     Hi Matt,
>
>     I attached the output of the commands you suggested.
>     The options I used are:
>
>     -log_summary -ksp_monitor -ksp_view -ksp_converged_reason -pc_type
>     mg  -pc_mg_galerkin -pc_mg_levels 5 -options_left
>
>
> The convergence is great. I notice that your coarse solve takes no 
> time. You could probably use fewer levels for
> this problem. For this problem there is no easy things left I think. 
> We are currently debating how you can squeeze
> something extra out of the smoother. Here you could probably get rid 
> of Chebychev and use only SOR.
>
>     Matt
>
>     and here are the lines of codes where I setup the solution process:
>
>         call DMDACreate3d( PETSC_COMM_WORLD
>     ,                                  &
>                         & DMDA_BOUNDARY_PERIODIC ,
>     DMDA_BOUNDARY_PERIODIC,     &
>                         & DMDA_BOUNDARY_PERIODIC ,
>     DMDA_STENCIL_STAR,          &
>                         & N_Z , N_Y , N_X , N_B3 , N_B2 , 1_ip,  1_ip
>     , 1_ip , &
>                         & NNZ ,NNY , NNX, da , ierr)
>
>
>         ! Create Global Vectors
>         call DMCreateGlobalVector(da,b,ierr)
>         call VecDuplicate(b,x,ierr)
>
>         ! Set initial guess for first use of the module to 0
>         call VecSet(x,0.0_rp,ierr)
>
>         ! Create matrix
>         call DMCreateMatrix(da,MATAIJ,A,ierr)
>
>         ! Create solver
>         call KSPCreate(PETSC_COMM_WORLD,ksp,ierr)
>         call KSPSetDM(ksp,da,ierr)
>         call KSPSetDMActive(ksp,PETSC_FALSE,ierr)
>         call KSPSetOperators(ksp,A,A,SAME_NONZERO_PATTERN,ierr)
>         call KSPSetType(ksp,KSPCG,ierr)
>         call KSPSetNormType(ksp,KSP_NORM_UNPRECONDITIONED,ierr)
>         call KSPSetInitialGuessNonzero(ksp,PETSC_TRUE,ierr)
>         call KSPSetTolerances(ksp, tol ,PETSC_DEFAULT_DOUBLE_PRECISION,&
>             & PETSC_DEFAULT_DOUBLE_PRECISION,PETSC_DEFAULT_INTEGER,ierr)
>
>         ! Nullspace removal
>         call MatNullSpaceCreate(
>     PETSC_COMM_WORLD,PETSC_TRUE,PETSC_NULL_INTEGER,&
>                                & PETSC_NULL_INTEGER,nullspace,ierr)
>         call KSPSetNullspace(ksp,nullspace,ierr)
>         call MatNullSpaceDestroy(nullspace,ierr)
>
>         ! To allow using option from command line
>         call KSPSetFromOptions(ksp,ierr)
>
>
>     Hope I did not omit anything useful.
>     Thank you for your time.
>
>     Best,
>     Michele
>
>
>
>
>     On 08/13/2013 04:26 PM, Matthew Knepley wrote:
>>     On Tue, Aug 13, 2013 at 6:09 PM, Michele Rosso <mrosso at uci.edu
>>     <mailto:mrosso at uci.edu>> wrote:
>>
>>         Hi Karli,
>>
>>         thank you for your hint: now it works.
>>         Now I would like to speed up the solution: I was counting on
>>         increasing the number of levels/the number of processors
>>         used, but now I see I cannot do that.
>>         Do you have any hint to achieve better speed?
>>         Thanks!
>>
>>
>>     "Better speed" is not very helpful for us, and thus we cannot
>>     offer much help. You could
>>
>>      1) Send the output of -log_summary -ksp_monitor -ksp_view
>>
>>      2) Describe the operator succintly
>>
>>         Matt
>>
>>         Best,
>>         Michele
>>>>>>>>>>>>>>>>>>
>
>
>
>
> -- 
> 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130813/72c8eddf/attachment.html>


More information about the petsc-users mailing list