Open
Description
Following on from a recent discussion on slack, it would be useful to add some more sections to the manual page on performance. Some possible topics include:
- Using
Constant
orReal
instead offloat
to avoid recompiling kernels every time the value changes. - Setting
constant_jacobian=True
if the coefficients in aLinearVariationalProblem
don't change between solves (or if they don't change every time, and use theinvalidate_jacobian()
method). - Consider changing to an iterative method instead of the default LU once you scale up past smaller test problems.
Where to find
https://www.firedrakeproject.org/optimising.html
Additional info
Flamegraphs of before/after each change would be nice, and adding them to the existing "Calling solve
repeatedly" section.