Speed of calculations
Opened this issue · 3 comments
The model is noticeably slower (compared to version pre-1.0). Need to do
- profiling to identify the bottlenecks and see how they can be eliminated.
- Is it worth considering parallelization?
Known to affect model performance:
- time frequency and number of constraints.
- size of the mechanism.
Unclear if affect model performance:
- having species in the chemical mechanism that are not used (i.e. are always zero, see #436).
- type and implementation of the interpolation algorithm.
- LAPACK/BLAS support in CVODE.
solver.parameters
default values
Results from a rough evaluation of the problem.
Model running on HPC system (30 GB memory), no constraints, 24 hours simulation.
n. species | n. reactions | runtime |
---|---|---|
51 | 137 | 15 sec |
2575 | 7779 | 10 min |
5833 | 17224 | 5.5 days |
Increasing the memory to 120 GB or decreasing the output frequency do not affect significantly the outcome.
entire mechanism = low efficiency
Changing the solver type in solver.parameters
may help with this issue. The default choice is spgmr + banded preconditioner
. The other choices (spgmr
or dense
) may result in better performance.
Note: Could this be related to #436? When lots of species have zero concentration the matrix is sparse and the use of preconditioner makes it inefficient?