gridap / gridap/GridapPETSc.jl
Efficiency of the Garbage Collection
- Dominant language
- Julia
- Stars
- 33
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
Hello all,
@amartinhuertas and me have been working on a Geometric MultiGrid solver/preconditioner for Gridap. To solve the coarsest-level linear system in parallel, we decided to use MUMPS through a `PETScLinearSolver` from GridapPETSc.
While profiling the resulting algorithm for a Poisson problem, where we use a preconditioned Conjugate Gradient solver with our GMG preconditioner, we find that a weirdly high amount of time is spent in the method `gridap_petsc_gc()`, which is called from within `solve!()` at every iteration of the conjugate gradient.
Due to this, we think it could be advantageous to introduce a new flag/kwarg/setting that deactivates all these automatic calls to the GC that are scattered around the code. The idea is to give an advanced user/developer the ability to manually call the GC optimally depending on the application.
Thanks!
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.