-
Notifications
You must be signed in to change notification settings - Fork 112
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
Update RecursiveArrayTools.jl compatibility to version 3 #2194
base: main
Are you sure you want to change the base?
Conversation
Review checklistThis checklist is meant to assist creators of PRs (to let them know what reviewers will typically look for) and reviewers (to guide them in a structured review process). Items do not need to be checked explicitly for a PR to be eligible for merging. Purpose and scope
Code quality
Documentation
Testing
Performance
Verification
Created with ❤️ by the Trixi.jl community. |
I make the initialization algorithm for |
This will make the current package compatible with Julia >= 1.10 - the CI tests relates to Julia < 1.10 will definitely fail. |
The dependency management is really a mess here - for example, the configurations for test env, docs env, and main project env never align. This definitely makes the debug for env configuration hard |
I don't think we are ready to do this just yet - or did we make a decision about this that I forgot about, @ranocha? |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2194 +/- ##
===========================================
- Coverage 96.40% 84.74% -11.66%
===========================================
Files 485 485
Lines 38918 38874 -44
===========================================
- Hits 37517 32941 -4576
- Misses 1401 5933 +4532
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Then the issue #1789 will be delayed - when do you plan to upgrade to Julia 1.10? |
Which version of RecursiveArrayTools.jl is really required? Just v3 (i.e., v3.0.0 would be sufficient) or a specific, later version? With, e.g., v3.2 we would still be able to keep Julia v1.9 compatibility. |
Good question 👍let me check |
I have no idea, I just know that >= 2.38.10 does not work and >= 3 works. Can you answer Michael's question @jlchan - I don't know which version you actually need |
I would hesitate to require Julia 1.10 and newer. We have seen some performance impacts in HPC settings, e.g., JuliaLang/julia#55009, JuliaLang/julia#50985 |
We'd need at least RecursiveArrayTools.jl 3.27.1, which is where @huiyuxie's PR fixing |
Too bad. This is already at Julia v1.10 😞 |
Does it mean you prefer to upgrade to version 1.10 until both of these issues are resolved? |
That's something we need to discuss. |
This is a bad situation. IMHO, we cannot wait until these two issues are resolved before we fix the incompatibility with newer versions of the whole SciML stack. Fixing this feels more and more urgent and it also looks like the two julia issues will not be fixed anytime soon. |
FIX: at precompile time |
Thanks! Is the following summary correct?
|
Yes, that's also how I understand it. |
Which one are you referring to? And how do you display PRs and issues with graphics and titles instead of just numbers? |
OrdinaryDiffEqLowStorageRK.jl and OrdinaryDiffEqSSPRK.jl
|
Interesting 🤔 |
So when do you @ranocha plan to upgrade to Julia 1.10? I need latest version of CUDA.jl to gain higher performance. |
I'm wondering what would happen if we just add v3 to the compat list - wouldn't that allow us to still keep using Julia v1.9 (but with the older SciML stack) but also v1.10/11 with the newer stack? Or are there other modifications necessary in the code to support the new code? If yes - are they everywhere or limited to certain features. That is, would be get away by declaring, e.g., that some parts of DGMulti no longer run with Julia v1.9? |
I think it would be complicated. All parts of |
OK. Without having really decided for myself whether I think it's acceptable from a maintenance POV: Would you be OK with making DGMulti effectively work only with Julia v1.10+ or is that something you would like to avoid for now? |
I'd be perfectly fine with that! I don't think there are a lot (or really any?) current users, so I'm happy to restrict it to 1.10+. |
So the suggestion is to allow Julia 1.9 but Since Julia 1.9 is not supported by bugfixes etc. anymore, I tend to prefer upgrading to Julia 1.10. People who need/want to use Julia 1.9 can still continue to use older versions of Trixi.jl. But that's something at least @trixi-framework/principal-developers should agree with. |
RecursiveArrayTools.jl v3 requires a higher version of SciMLBase.jl to precompile without errors. I tried using SciMLBase.jl v2.67.0, which was set by @jlchan in #2150. However, this version already requires Julia v1.10 to be compatible, see https://github.com/SciML/SciMLBase.jl/blob/v2.67.0/Project.toml. Maybe a version lower than v2.67.0 works good with RecursiveArrayTools.jl v3 and also is compatible with Julia v1.9 but as I mentioned here #2197 - this makes narrowing down the exact version quite time-consuming. |
Makie.jl has to be updated to v0.21 to adapt SciMLBase.jl v2.67.0 (and also CairoMakie.jl) - some parts of code need change. |
Thanks for responding @huiyuxie; sorry I haven't made more progress on my end yet, I've been sick since last week. Edit: wait, this isn't my PR. Sorry, I am still kind of out of it |
Take a rest first - it was just a mention, not asking for a response. |
We have discussed this issue with some main developers and agreed that we will go ahead with updating to Julia version 1.10. |
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.
Thanks a lot! We have to update the CI setup to remove tests on older versions of Julia. We should also mention the update in the NEWS.md.
Sure |
Do you @ranocha prefer to completely delete legacy tests or just simply remove them from the CI? |
Supplementary fix for #2150 and JoshuaLampert/DispersiveShallowWater.jl#163 (merged).