[petsc-users] Better solver and preconditioner to use multiple GPU

Randall Mackie rlmackie862 at gmail.com
Thu Nov 9 13:31:15 CST 2023


Hi Ramoni,

All EM induction methods solved numerically like finite differences are difficult already because of the null-space of the curl-curl equations and then adding air layers on top of your model also introduce another singularity. These have been dealt with in the past by adding in some sort of divergence condition. Solving the curl-curl equations with a direct solution is fine, but iterative solutions are difficult.

There is no easy out of the box solution to this, but you can look at using multi-grid as a PC but this requires special care, for example:

https://academic.oup.com/gji/article-pdf/207/3/1554/6623047/ggw352.pdf <https://academic.oup.com/gji/article-pdf/207/3/1554/6623047/ggw352.pdf>


A good way to stabilize curl curl solutions is by explicit inclusion of grad-div J:

https://academic.oup.com/gji/article/216/2/906/5154929 <https://academic.oup.com/gji/article/216/2/906/5154929>


Good luck


Randy Mackie


> On Nov 9, 2023, at 10:54 AM, Ramoni Z. Sedano Azevedo <ramoni.zsedano at gmail.com> wrote:
> 
> We are solving the Direct Problem of Controlled Source Electromagnetics (CSEM) using finite difference discretization.
> 
> Em qua., 8 de nov. de 2023 às 13:22, Jed Brown <jed at jedbrown.org <mailto:jed at jedbrown.org>> escreveu:
> What sort of problem are you solving? Algebraic multigrid like gamg or hypre are good choices for elliptic problems. Sparse triangular solves have horrific efficiency even on one GPU so you generally want to do your best to stay away from them.
> 
> "Ramoni Z. Sedano Azevedo" <ramoni.zsedano at gmail.com <mailto:ramoni.zsedano at gmail.com>> writes:
> 
> > Hey!
> >
> > I am using PETSC in Fortran code and we apply the MPI process to
> > parallelize the code.
> >
> > At the moment, the options that have been used are
> > -ksp_monitor_true_residual
> > -ksp_type bcgs
> > -pc_type bjacobi
> > -sub_pc_type ilu
> > -sub_pc_factor_levels 3
> > -sub_pc_factor_fill 6
> >
> > Now, we want to use multiple GPUs and I would like to know if there is a
> > better solver and preconditioner pair to apply in this case.
> >
> > Yours sincerely,
> > Ramoni Z. S . Azevedo

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


More information about the petsc-users mailing list