[v14 ready] Tutorial for ensuring performance for ODE simulations
Creates a new doc page, providing some performance advice for ODE simulations. Stuff covered:
- Stiff vs non-stiff ODEs.
- Selecting a solver for ODE simualtions.
- Various options for Jacobian computations (symbolic jacobian, sparse jacobian, lienar solver selection, and preconditioners).
- Parallelisation on CPUs.
- Parallelisation on GPUs.
The GPU parallelization part is not ready, I have only started. However, I need to go through some stuff with Utkarsh before finishing that part.
Also, if someone have a link to a good reference book introducing this kind of stuff, that would be useful
Why don’t we just use some of the examples from the Catalyst paper that show different performance characteristics to illustrate which solvers and configurations work best in different cases? Then we’ve already done the benchmarking and know what is fastest.
Thanks for the input! I'm a little bit uncertain how to deal with the precondition part, but otherwise all good.
Did you have any further input on the preconditioners @ChrisRackauckas?
Also, what is the progress on moving default solvers to OrdinaryDiffEq? If that is coming soon then useful, but it would be useful to have a quick and dirt solver selection advice that did not depend on reading through all the doc, nor loading the full DifferenitalEquations suite.