Hi @finsberg ,
I have been profiling monodomain simulations in fenicsx-beat while comparing different PETSc solver/preconditioner options.
I added optional timing diagnostics in my fork. The diagnostics are disabled by default and can be enabled with log_timings=True.
The added information includes:
This helped show that for small slab tests, runtime is dominated by the ODE/cell-model update, while PDE solver differences become more visible for finer meshes.
Would you be interested in me opening a PR for this?
Best,
Habib
Hi @finsberg ,
I have been profiling monodomain simulations in
fenicsx-beatwhile comparing different PETSc solver/preconditioner options.I added optional timing diagnostics in my fork. The diagnostics are disabled by default and can be enabled with
log_timings=True.The added information includes:
Monodomain splitting timing:
ODE marker timing:
PDE/PETSc timing:
PETSc/KSP diagnostics:
ksp_total_iterationsksp_average_iterationsksp_max_iterationsksp_last_residual_normksp_last_converged_reasonThis helped show that for small slab tests, runtime is dominated by the ODE/cell-model update, while PDE solver differences become more visible for finer meshes.
Would you be interested in me opening a PR for this?
Best,
Habib