How to set sparsity pattern and relaxation steps for ISAI preconditioner? #1119
-
I saw the paper Incomplete Sparse Approximate Inverses for Parallel Preconditioning along with its implementation at However, there doesn't seem a way to change the sparsity pattern (using L^2 pattern for example) and relaxation steps (Eq 15 of the paper) as did in the paper. I think what's implemented in Ginkgo is referred as "SpMV SAI" in the paper, which does not use relaxation steps. I'd like to produce something like this Table 4 in the paper that sweeps over ISAI parameters: |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
In the unit test ginkgo/reference/test/preconditioner/isai_kernels.cpp Lines 1144 to 1149 in 693bc4f As for the relaxation scheme, I could extract the inverse factor and manually type the formula (Eq 15.). Or is there a more efficient implementation available? |
Beta Was this translation helpful? Give feedback.
-
Hi, thanks for reaching out!
I hope this helps! |
Beta Was this translation helpful? Give feedback.
Hi, thanks for reaching out!
You seem to have already found the sparsity power parameter, that's great. For the relaxation steps, you can have a look at the example
ir-ilu-preconditioned-solver
. In line 120, there is a triangular solver defined as iterative refinement with block-Jacobi as the inner solver. If you replace the block-Jacobi with your ISAI factory, you should end up with what you are looking for. That would look something like