[petsc-users] AIJ vs BAIJ when using ILU factorization
Zhang, Hong
hzhang at mcs.anl.gov
Tue Mar 31 22:51:07 CDT 2020
Fande,
Checking aij.result:
Mat Object: () 1 MPI processes
type: seqaij
rows=25816, cols=25816, bs=4
total: nonzeros=1297664, allocated nonzeros=1297664
total number of mallocs used during MatSetValues calls=0
using I-node routines: found 6454 nodes, limit used is 5
i.e., it uses bs=4 with I-node. The implementation of MatSolve() is similar to baij with bs=4. What happens if you try aij with '-matload_block_size 1 -mat_no_inode true'?
Hong
________________________________
From: petsc-users <petsc-users-bounces at mcs.anl.gov> on behalf of Fande Kong <fdkong.jd at gmail.com>
Sent: Monday, March 30, 2020 12:25 PM
To: PETSc users list <petsc-users at mcs.anl.gov>
Subject: [petsc-users] AIJ vs BAIJ when using ILU factorization
Hi All,
There is a system of equations arising from the discretization of 3D incompressible Navier-Stoke equations using a finite element method. 4 unknowns are placed on each mesh point, and then there is a 4x4 saddle point block on each mesh vertex. I was thinking to solve the linear equations using an incomplete LU factorization (that will be eventually used as a subdomain solver for ASM).
Right now, I am trying to study the ILU performance using AIJ and BAIJ, respectively. From my understanding, BAIJ should give me better results since it inverses the 4x4 blocks exactly, while AIJ does not. However, I found that both BAIJ and AIJ gave me identical results in terms of the number of iterations. Was that just coincident? Or in theory, they are just identical. I understand the runtimes may be different because BAIJ has a better data locality.
Please see the attached files for the results and solver configuration.
Thanks,
Fande,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200401/3e636f87/attachment.html>
More information about the petsc-users
mailing list