[petsc-users] GAMG speed

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


Matt,

thank you.
The matrix arises from discretization of the Poisson equation in 
incompressible flow calculations.

Michele

On 08/13/2013 06:34 PM, Matthew Knepley wrote:
> On Tue, Aug 13, 2013 at 8:25 PM, Michele Rosso <mrosso at uci.edu 
> <mailto:mrosso at uci.edu>> wrote:
>
>     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.
>
>
> What is the operator? If its the mass matrix,  we expect this.
>
>     Could you please tell me how to get rid of Chebichev?
>
>
> I believe its
>
>   -mg_levels_ksp_type richardson
>
> but you can check.
>
>   matt
>
>     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
>
>
>
>
> -- 
> 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/37409cde/attachment.html>


More information about the petsc-users mailing list