This Message Is From an External Sender
This message came from outside your organization.
With shift-and-invert, the internal KSP solves a system with coefficient matrix A-sigma*M, so maybe that is the difference with respect to solving with A only.
Jose > El 11 jun 2024, a las 15:24, Miroslav Kuchta <miroslav.kuc...@gmail.com> escribió: > > This Message Is From an External Sender > This message came from outside your organization. > Dear mailing list, > > I have a question regarding memory usage in SLEPc. Specifically, I am running out of memory when solving a generalized > eigenvalue problem Ax = alpha Mx. Here M is singular so we set the problem type as GNHEP and solve with Krylov-Schur > method and shift-and-invert spectral transform. The matrix A come from Stokes like problem so the transform is set to use > a block diagonal preconditioner B where each of the blocks (through fieldsplit) uses hypre. The solver works nicely on smaller > problems in 3d (with about 100K dofs). However, upon further refinement the system size gets to millions of dofs and we run > out of memory (>150GB). I find it surprising because KSP(A, B) on the same machine works without issues. When running > with "-log_trace -info" I see that the memory requests before the job is killed come from the preconditioner setup > > [0] PCSetUp(): Setting up PC for first time > [0] MatConvert(): Check superclass seqhypre mpiaij -> 0 > [0] MatConvert(): Check superclass mpihypre mpiaij -> 0 > [0] MatConvert(): Check specialized (1) MatConvert_mpiaij_seqhypre_C (mpiaij) -> 0 > [0] MatConvert(): Check specialized (1) MatConvert_mpiaij_mpihypre_C (mpiaij) -> 0 > [0] MatConvert(): Check specialized (1) MatConvert_mpiaij_hypre_C (mpiaij) -> 1 > > Interestingly, when solving just the problem Ax = b with B as preconditioner I don't see any calls like the above. We can get access > to a larger machine but I am curious if our setup/solution strategy can be improved/optimized. Do you have any advice on how to > reduce the memory footprint? > > Thanks and best regards, Miro