[petsc-users] How to activate the modified Gram-Schmidt orthogonalization process in Fortran?

Matthew Knepley knepley at gmail.com
Fri Sep 11 14:31:18 CDT 2020


On Fri, Sep 11, 2020 at 3:05 PM Zhuo Chen <chenzhuotj at gmail.com> wrote:

> Hi Hong,
>
> Thank you very much for the plan.
>
> Though it may be obvious to many Petsc gurus. I would like to summarize my
> solution to activate the modified Gram-Schmidt orthogonalization process in
> Fortran now. It may help some new Petsc users.
>
> Option 1: append the -ksp_gmres_modifiedgramschmidt at runtime, the code
> would look like
>
> call KSPSetType(ksp,KSPGMRES,ierr);CHKERRQ(ierr)
> call KSPSetFromOptions(ksp,ierr);CHKERRQ(ierr)
>
> and to run the program, use
>
> mpiexec -np 2 ./run -ksp_gmres_modifiedgramschmidt
>
> Option 2: use PetscOptionsSetValue()
>
> call KSPSetType(ksp,KSPGMRES,ierr);CHKERRQ(ierr)
> call KSPSetFromOptions(ksp,ierr);CHKERRQ(ierr)
> call
> PetscOptionsSetValue(PETSC_NULL_OPTIONS,'-ksp_gmres_modifiedgramschmidt','1',ierr);CHKERRQ(ierr)
>

Does it work if you call SetValue() after SetFromOptions()? I would not
think that would work.

  Thanks,

     Matt


> and to run the program, use
>
> mpiexec -np 2 ./run
>
> Best.
>
>
>
> On Fri, Sep 11, 2020 at 9:05 AM Zhang, Hong <hzhang at mcs.anl.gov> wrote:
>
>> Zhuo,
>> I'll try to get it done after the incoming release. My hands are full
>> with more urgent tasks at moment. I'll let you know after I'm done.
>> Thanks for your patience.
>> Hong
>>
>> ------------------------------
>> *From:* Zhuo Chen <chenzhuotj at gmail.com>
>> *Sent:* Thursday, September 10, 2020 8:41 PM
>> *To:* Zhang, Hong <hzhang at mcs.anl.gov>
>> *Cc:* petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
>> *Subject:* Re: [petsc-users] How to activate the modified Gram-Schmidt
>> orthogonalization process in Fortran?
>>
>> Hi Hong,
>>
>> According to that very old thread, KSPGMRESSetOrthogonalization was not
>> implemented in Fortran. I did as you suggested and the compiler will tell
>> me
>>
>> undefined reference to `kspgmressetorthogonalization_'
>>
>> I think I will use the -ksp_gmres_modifiedgramschmidt method. Thank you
>> so much!
>>
>> On Thu, Sep 10, 2020 at 7:32 PM Zhang, Hong <hzhang at mcs.anl.gov> wrote:
>>
>> Zhuo,
>> Call
>> KSPSetType(ksp,KSPGMRES);
>>
>> KSPGMRESSetOrthogonalization(ksp,KSPGMRESModifiedGramSchmidtOrthogonalization);
>> Hong
>>
>> ------------------------------
>> *From:* Zhuo Chen <chenzhuotj at gmail.com>
>> *Sent:* Thursday, September 10, 2020 8:17 PM
>> *To:* Zhang, Hong <hzhang at mcs.anl.gov>
>> *Cc:* petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
>> *Subject:* Re: [petsc-users] How to activate the modified Gram-Schmidt
>> orthogonalization process in Fortran?
>>
>> Hi Hong,
>>
>> Thank you very much for your help.
>>
>> It seems that if I simply append -ksp_gmres_modifiedgramschmidt the
>> warning goes away. However
>> KSPGMRESSetOrthogonalization(ksp,KSPGMRESModifiedGramSchmidtOrthogonalization,ierr)
>> has another issue.
>>
>> Error: Symbol ‘kspgmresmodifiedgramschmidtorthogonalization’ at (1) has
>> no IMPLICIT type
>>
>> Is it because the argument is too long? I am using gcc 8.4.0 instead of
>> ifort
>>
>> On Thu, Sep 10, 2020 at 7:08 PM Zhang, Hong <hzhang at mcs.anl.gov> wrote:
>>
>> Zhuo,
>> Run your code with option '-ksp_gmres_modifiedgramschmidt'. For example,
>> petsc/src/ksp/ksp/tutorials
>> mpiexec -n 2 ./ex2 -ksp_view -ksp_gmres_modifiedgramschmidt
>> KSP Object: 2 MPI processes
>>   type: gmres
>>     restart=30, using Modified Gram-Schmidt Orthogonalization
>>     happy breakdown tolerance 1e-30
>>   maximum iterations=10000, initial guess is zero
>>   tolerances:  relative=0.000138889, absolute=1e-50, divergence=10000.
>>   left preconditioning
>>   using PRECONDITIONED norm type for convergence test
>> PC Object: 2 MPI processes
>>   type: bjacobi
>> ...
>>
>> You can
>> call KSPGMRESSetOrthogonalization(ksp,KSPGMRESModifiedGramSchmidtOrthogonalization)
>> in your program.
>>
>> Hong
>>
>> ------------------------------
>> *From:* petsc-users <petsc-users-bounces at mcs.anl.gov> on behalf of Zhuo
>> Chen <chenzhuotj at gmail.com>
>> *Sent:* Thursday, September 10, 2020 7:52 PM
>> *To:* petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
>> *Subject:* [petsc-users] How to activate the modified Gram-Schmidt
>> orthogonalization process in Fortran?
>>
>> Dear Petsc users,
>>
>> I found an ancient thread discussing this problem.
>>
>> https://lists.mcs.anl.gov/pipermail/petsc-users/2011-October/010607.html
>>
>> However, when I add
>>
>> call KSPSetType(ksp,KSPGMRES,ierr);CHKERRQ(ierr)
>> call
>> PetscOptionsSetValue(PETSC_NULL_OPTIONS,'-ksp_gmres_modifiedgramschmidt','1',ierr);CHKERRQ(ierr)
>>
>> the program will tell me
>>
>> WARNING! There are options you set that were not used!
>> WARNING! could be spelling mistake, etc!
>> There is one unused database option. It is:
>> Option left: name:-ksp_gmres_modifiedgramschmidt value: 1
>>
>> I would like to know the most correct way to activate the modified
>> Gram-Schmidt orthogonalization process in Fortran. Thank you very much!
>>
>> Best regards.
>>
>>
>>
>>
>> --
>> Zhuo Chen
>> Department of Physics
>> University of Alberta
>> Edmonton Alberta, Canada T6G 2E1
>> http://www.pas.rochester.edu/~zchen25/
>>
>>
>>
>> --
>> Zhuo Chen
>> Department of Physics
>> University of Alberta
>> Edmonton Alberta, Canada T6G 2E1
>> http://www.pas.rochester.edu/~zchen25/
>>
>>
>>
>> --
>> Zhuo Chen
>> Department of Physics
>> University of Alberta
>> Edmonton Alberta, Canada T6G 2E1
>> http://www.pas.rochester.edu/~zchen25/
>>
>
>
> --
> Zhuo Chen
> Department of Physics
> University of Alberta
> Edmonton Alberta, Canada T6G 2E1
> http://www.pas.rochester.edu/~zchen25/
>


-- 
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

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200911/6bec49e9/attachment-0001.html>


More information about the petsc-users mailing list