[petsc-users] GAMG speed
Matthew Knepley
knepley at gmail.com
Tue Aug 13 19:51:23 CDT 2013
On Tue, Aug 13, 2013 at 7:05 PM, Michele Rosso <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> 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/a7df9bff/attachment.html>
More information about the petsc-users
mailing list