-
Notifications
You must be signed in to change notification settings - Fork 5
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
Use Julia 1.10.5 and split up OrdinaryDiffEq packages #1776
Conversation
LineSearches = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" | ||
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These were already core deps, but for interactive use it's nice to have all core deps in the root environment as well.
[preferences.OrdinaryDiffEq] | ||
PrecompileAutoSpecialize = false | ||
PrecompileAutoSwitch = false | ||
PrecompileDefaultSpecialize = false | ||
PrecompileFunctionWrapperSpecialize = false | ||
PrecompileLowStorage = false | ||
PrecompileNoSpecialize = false | ||
PrecompileNonStiff = false | ||
PrecompileStiff = false | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll precompile less since we load less solver packages. And for the packages we do load, maybe it's not so bad to precompile a bit so Ribasim starts faster in interactive sessions.
@@ -20,7 +20,7 @@ test-ribasim-api = "pytest --basetemp=python/ribasim_api/tests/temp --junitxml=r | |||
|
|||
[feature.dev.tasks] | |||
# Installation | |||
install-julia = "juliaup add 1.10.4 && juliaup override unset && juliaup override set 1.10.4" | |||
install-julia = "juliaup add 1.10.5 && juliaup override unset && juliaup override set 1.10.5" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm strange. IntegrationTestWindows passes but IntegrationTestLinux fails. So I think this is probably safe to merge. Though perhaps @Jingru923 do you think the reference timing should be updated as well? Is it the same on Windows and Linux?
|
@visr what do you mean by reference timing? Do you mean the benchmark? Looking at the result, I would say that it is safe to merge, maybe some other can review code and do quality control. Since the benchmark for Windows and Linux are the same, we can adjust the limitation to allow more than 1cm difference. |
Ok! Indeed I mean the benchmark. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice that we can reduce the dependencies like this! The changes all look good to me.
OrdinaryDiffEq was a very large package that took a long time to precompile, because there were many solvers in there that we don't use. The developers recently split up the package. OrdinaryDiffEq is still around as the package that has all solvers, but if we want to benefit from having to load less code, we need to use the sub-packages directly. This PR does that. Most of the core stuff is now in OrdinaryDiffEqCore, and we need OrdinaryDiffEqNonlinearSolve. The solver algorithms we support now come from these five sub packages:
After doing this and removing OrdinaryDiffEq you could see the packages that were split out that we no longer depend on:
This also updates from Julia 1.10.4 to the latest stable release, 1.10.5, and updates all our dependencies.