-
-
Notifications
You must be signed in to change notification settings - Fork 563
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Track down and exclude non-deterministic benchmarks #2954
Comments
This sounds like a similar issue identified for integration tests due to random initial conditions, which was resolved by wrapping the |
These non-deterministic issues worry me. It comes from perturbing the initial conditions in the casadi solver, so we know why it happens, but I think for the user it is very unexpected behaviour. My vote would be to make this option |
It was really useful for avoiding errors at t=0 ( |
I haven't been getting any time to work on this. I'll unassign myself and close the PR (which I don't think has something meaningful as of now). I'll pick it up again in a couple of weeks if it is still open by then. |
Looks like this benchmark has been failing regularly due to it timing out (timeout is 60s)
I'll look at this locally and see if I can see what is happening.
|
note that this particular test takes waaaaay longer than the rest (when it succeeds)
|
suggestion from @DrSOKane: try bumping the number of particle grid points to 30 |
suggestion from @brosaplanella: Looking at asv.conf.json, it seems we can specify different regression thresholds for various benchmarks (final lines of the json file): // "regressions_thresholds": { Might be a way around it: tight thresholds for "unit" benchmarks, looser for "integration" benchmarks |
This is a quite tricky parameter set as it has the diffusion coefficient is very nonlinear. I would be happy to skip it the Casadi benchmark for it, or skip it altogether for the time being. Also because it is likely the cause of why benchmarks take so long to solve... |
I notice we're already skipping it for solve_first=true. We are also already using 30 particle grid points, so I'll turn it off for now (for the casadi solver, we're still doing it for idaklu) |
This benchmark is also occasionally timing out:
We do not do the corresponding benchmark for casadi (this has previously been turned off). Should we do the same for idaklu?
|
or I could increase the timeout if this benchmark is important |
If it is GITT, maybe we can reduce the number of pulses tested. We currently do "GITT": [("Discharge at C/20 for 1 hour", "Rest for 1 hour")] * 20, so maybe we could do 10 pulses instead? |
(Some of the non-deterministic benchmarks were excluded in #2784.) |
…-failure #2954 turn off benchmark: ORegan2022 DFN solver with the casadi model
Currently, several benchmarks pass or fail randomly on different runs. These benchmarks should be tracked and excluded to ensure the credibility of the remaining benchmarking suite.
Note: random regressions are okay because GH Actions can be a bit noisy sometimes, but solvers failing in a particular benchmark randomly should not be okay.
The text was updated successfully, but these errors were encountered: