gridap / gridap/GridapPETSc.jl

Efficiency of the Garbage Collection

Open
#88 1 comment 0 reactions 1 assignee Claimed by @JordiManyer View on GitHub
enhancement
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.