Skip to content
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

Migrate to SciMLBase v2 #189

Merged
merged 27 commits into from
Nov 3, 2023
Merged

Migrate to SciMLBase v2 #189

merged 27 commits into from
Nov 3, 2023

Conversation

lxvm
Copy link
Collaborator

@lxvm lxvm commented Oct 30, 2023

This pr updates Integrals.jl to the new interface in SciMLBase v2, and needs SciML/SciMLBase.jl#535 before merging.
It is a big rewrite since all of the calls to the algorithms needed to be rewritten to use the new interface correctly. And the deprecated interface still works! (There may be an edge case when the user specifies nout=1, but otherwise I checked all the old tests pass.)

This pr also improves how the IntegralsCuba.jl and IntegralsCubature.jl packages call the C-libraries so that the integrand can use arrays of any shape.

The AD was also updated to the new interface, including a bugfix for nested forward-mode AD, and there are opportunities to extend this pr by adding user-provided jacobians to IntegralFunction and BatchIntegralFunction.

This pr may fix many of the open issues. I think it addresses the following:
#169
#186
#164
#67
#86
#76
#40

And possibly others.

This should get the main branch up and running again.

@ChrisRackauckas
Copy link
Member

One last test failure and it looks legitimate.

@lxvm
Copy link
Collaborator Author

lxvm commented Nov 1, 2023

@ChrisRackauckas I think it's a dependency catch-22. This pr requires SciMLBase v2.6, so I need to update the compat entry, but when I do I get the error

ERROR: LoadError: Unsatisfiable requirements detected for package LinearAlgebra [37e2e46d]:

since LinearAlgebra is fixed to v0.0.0 in the sysimage of Julia v1.9.3, and SciMLBase v2.6 requires LinearAlgebra v1.6 to meet the new General Registry requirements.

This registry change seems like a developer inconvenience. Am I missing something?

@lxvm
Copy link
Collaborator Author

lxvm commented Nov 1, 2023

@ChrisRackauckas this post mentions the issue if calling Pkg.add during the tests. This package calls Pkg.develop, so I suspect the issue and solution may be similar to what is proposed in the post. I suppose this also affects other SciML mono-repos?

@ChrisRackauckas
Copy link
Member

The solution is that we need to just get rid of the subpackages and make them extension packages. Since this is a breaking change we might as well fold it into the other breaking changes here. This will make maintenance a lot easier since now we don't need to independently release.

@ChrisRackauckas ChrisRackauckas merged commit 4d4e20a into SciML:master Nov 3, 2023
3 of 6 checks passed
@ChrisRackauckas
Copy link
Member

Okay that took a bit but 🎉 !

@lxvm lxvm deleted the interface branch December 30, 2023 11:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants