boutproject / BOUT-dev

BOUT++: Plasma fluid finite-difference simulation code in curvilinear coordinate systems
http://boutproject.github.io/
GNU Lesser General Public License v3.0
179 stars 93 forks source link

Update SUNDIALS support (rebase onto next) #2896

Closed ZedThree closed 3 months ago

ZedThree commented 3 months ago

Replaces #2885 (rebased that branch onto next)

Steven-Roberts commented 3 months ago

Yes, much appreciated @ZedThree!

Steven-Roberts commented 3 months ago

Is there anything that still needs to be done before merging this PR? From my side, it's ready.

ZedThree commented 3 months ago

I'm just going to sort out the clang-tidy warnings, then it can go in. I'll do that now

ZedThree commented 3 months ago

Ok, should be minimal warnings now. Good to go in as soon as tests pass

Oof, not sure what's changed but it seems now if clang-format gets applied, it fails the readthedocs build as it's now stale. Something to just watch out for when checking the CI

ZedThree commented 3 months ago

Ah, missed one warning, never mind

dschwoerer commented 1 month ago

Fedora is planning to update sundials to v7: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/CK3E237FB45ZVKRCLST76A3APYIVFZYJ/

It would be nice to either release a BOUT++ v6 or backport to master and release that. Any preferences @ZedThree?

ZedThree commented 1 month ago

If abicheck says it's fine, probably easiest to just release next as 5.2, otherwise backport to master

dschwoerer commented 1 month ago

Abicheck says there are over 200 deleted symbols - this is caused by everything we expose being part of the public ABI. So we need to bump soname. I think that is fine.

The question is to what extend the API changed, I see some changes related to the parallel boundaries in the abidiff, but I am not sure there is an easy way to check for API differences. I think the changes are OK, as if we wanted to preserve API/ABI we should limit the interface a lot. That would make also many changes much easier. But who has time to drive such a change?

Here is the full abidiff output