Skip to content

Quantization of the Jacobian matrix to speed up linear algebra operations#2836

Open
pcarruscag wants to merge 21 commits into
developfrom
pedro/quantization
Open

Quantization of the Jacobian matrix to speed up linear algebra operations#2836
pcarruscag wants to merge 21 commits into
developfrom
pedro/quantization

Conversation

@pcarruscag

@pcarruscag pcarruscag commented Jun 27, 2026

Copy link
Copy Markdown
Member

Proposed Changes

Lossy compression of the Jacobian to make products and preconditioners faster.
Currently activated via a variant of LU-SGS preconditioner Q_LU_SGS, since it probably doesn't make sense to use this for ILU.
Only compatible with the primal compressible and incompressible solvers (disabled for adjoint mode). Other solvers fall back silently to regular LU-SGS.

For the CRM case I mentioned in the LDU PR, the 1.85s with normal LU-SGS become 1.66s in this branch (due to the change to clearing just the diagonal of the Jacobian instead of everything) and 1.36s with quantization.
So, a 50% speed-up between LDU, quantization, and other inefficiencies.

PR Checklist

  • I am submitting my contribution to the develop branch.
  • My contribution generates no new compiler warnings (try with --warnlevel=3 when using meson).
  • My contribution is commented and consistent with SU2 style (https://su2code.github.io/docs_v7/Style-Guide/).
  • I used the pre-commit hook to prevent dirty commits and used pre-commit run --all to format old commits.
  • I have added a test case that demonstrates my contribution, if necessary.
  • I have updated appropriate documentation (Tutorials, Docs Page, config_template.cpp), if necessary.

@pcarruscag pcarruscag marked this pull request as ready for review July 11, 2026 23:16
@pcarruscag pcarruscag changed the title [WIP] Experiment with quantization to speed up linear algebra operations Quantization of the Jacobian matrix to speed up linear algebra operations Jul 11, 2026
Comment thread SU2_CFD/src/solvers/CSolver.cpp Dismissed
Comment thread SU2_CFD/src/solvers/CSolver.cpp Dismissed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants