-
-
Notifications
You must be signed in to change notification settings - Fork 36
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
Add Lobatto IIIa-c and Radau IIa solvers #178
Conversation
Can you plot what those look like? for higher order you likely need to increase the dts |
Also let's merge the tests for MIRK and the other methods, except Shooting. The only reason Shooting is separate, is that the other methods currently don't support interpolation in the solution. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
That looks like the opposite direction that the convergence plot recipe normally does. Is this not just |
Hit a time limit? We really need to split this into different test groups. |
Yeah, I will split them into different test groups |
Signed-off-by: ErikQQY <2283984853@qq.com>
Signed-off-by: ErikQQY <2283984853@qq.com>
Signed-off-by: ErikQQY <2283984853@qq.com>
Signed-off-by: ErikQQY <2283984853@qq.com>
Signed-off-by: ErikQQY <2283984853@qq.com>
Signed-off-by: ErikQQY <2283984853@qq.com>
Signed-off-by: ErikQQY <2283984853@qq.com>
Signed-off-by: ErikQQY <2283984853@qq.com>
Signed-off-by: ErikQQY <2283984853@qq.com>
Is the Retest parallelism actually helpful? BLAS will multithread, so we may be slamming the threads on any large enough problem. I don't think that part makes sense in the BVP library, or ML @avik-pal ? |
Signed-off-by: ErikQQY <2283984853@qq.com>
Are any of the tests here heavy BLAS? In the ML context, none of the Lux tests are heavy enough to cause issues with oversubscribing, and it helps bring down the build times to about 25 mins (compared to > 1hr) on decent machines (the cuda ones on buildkite). Not the most helpful for github actions. That said for testing heavy workloads (both compute or memory), I do disable parallelism in testing. I still keep ReTestItems because it lets you isolate the testitem that fails and for testing Enzyme which can segfault/assert crash julia it will just crash the worker, so the test shows up as failed rather than the main process crashing. |
The LU/QR will all multithread above 200x200, which I presume we must be hitting? |
https://github.com/SciML/BoundaryValueDiffEq.jl/actions/runs/10617623160/job/29430931485?pr=178#step:6:397 the AD isn't robust to rank deficient matrices. This probably needs to be handled upstream |
Signed-off-by: ErikQQY <2283984853@qq.com>
From local testing, RadauIIa5 just error with GaussNewton, the other nonlinear solvers are just fine, I have just skipped this combination for now |
That's the least stable one. Not surprised. It should really default to using a trust region method for this reason. |
Oh no I thought it was going to merge 😅 |
Yeah it was going to, but CI seemed to have a different opinion, let’s see how about now😅 |
Signed-off-by: ErikQQY <2283984853@qq.com>
Finally ready to go🎉🎉 |
Amazing, and thanks @axla-io too. |
Features
Issues with the code
Tests pass for the expanded cache, except for in some cases with the convergence tests for the higher order solvers, I think that the reason for this is that the error is low in absolute terms. I've done a check where the tests are marked as broken if the solution error is less than
1e-12
Also there is a runtime dispatch error when calling the
JET
tests. I have commented the lines insrc/solve/firk.jl
where the error occurs. I couldn't figure out how to resolve them.For the nested cache, in addition to the tests that the expanded one doesn't pass, it also seem to have poor performance on
NLLNS
andVector of vector initials
tests. I haven't found a solver for which the nested ones converges there. For now these tests are commented out.Also, the nested cache doesn't support
ForwardDiff
yet.Checklist
contributor guidelines, in particular the SciML Style Guide and
COLPRAC. (I commented out tests for nested cache as a WIP thing)