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

Upgrade to SciMLOperators #377

Merged
merged 26 commits into from
Feb 5, 2023
Merged

Conversation

vpuri3
Copy link
Member

@vpuri3 vpuri3 commented Jan 30, 2023

plan: SciML/SciMLOperators.jl#142

To be clear, DiffEqOperators is not being deprecated in this PR. I am only adding support for SciMLOperators.jl by moving AbstractSciMLOperator and many of the traits to SciMLOperators.jl and making DiffEqOperators a subtype. That way, all the stuff in SciMLOperators.jl will be supported in downstream packages.

@codecov
Copy link

codecov bot commented Jan 30, 2023

Codecov Report

Merging #377 (3ae3c78) into master (9ee42e0) will increase coverage by 0.70%.
The diff coverage is 68.18%.

@@            Coverage Diff             @@
##           master     #377      +/-   ##
==========================================
+ Coverage   57.61%   58.31%   +0.70%     
==========================================
  Files          44       44              
  Lines        3324     3306      -18     
==========================================
+ Hits         1915     1928      +13     
+ Misses       1409     1378      -31     
Impacted Files Coverage Δ
src/SciMLBase.jl 77.77% <ø> (ø)
src/operators/basic_operators.jl 53.93% <ø> (ø)
src/problems/basic_problems.jl 86.95% <ø> (ø)
src/problems/ode_problems.jl 57.14% <ø> (ø)
src/operators/operators.jl 25.00% <50.00%> (+14.28%) ⬆️
src/scimlfunctions.jl 59.70% <66.66%> (+0.12%) ⬆️
src/operators/common_defaults.jl 58.53% <75.00%> (-15.00%) ⬇️
src/remake.jl 78.84% <0.00%> (+0.96%) ⬆️
... and 4 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@vpuri3
Copy link
Member Author

vpuri3 commented Jan 31, 2023

@ChrisRackauckas

@vpuri3
Copy link
Member Author

vpuri3 commented Jan 31, 2023

oops looks like some tests failed

@vpuri3
Copy link
Member Author

vpuri3 commented Jan 31, 2023

looks like none of the errors are related to the changes made here. @xtalax can you help?

@xtalax
Copy link
Member

xtalax commented Feb 2, 2023

@ChrisRackauckas can confirm that the flux issue is present on master, excepting invalidations LGTM

@vpuri3
Copy link
Member Author

vpuri3 commented Feb 2, 2023

Okay, I took a look at all the errors:

In OrdinaryDiffEq.jl, the test is failing because of low accuracy. However the offending @test, however, is comparing floats with = instead of \approx, and has no tolerance value.

https://github.com/SciML/OrdinaryDiffEq.jl/blob/2426acd6342a17add6e9fee979bf7f53d2d97270/test/regression/psos_and_energy_conservation.jl#L48

I reran that entire test group on my personal mac (with this branch of SciMLBase.jl), and the test passed. Then I did the same thing on a linux cluster and it got no errors. So this must be a numerical fluke.

Screenshot 2023-02-02 at 2 46 04 PM

For DiffEqFlux, the test is erroring on the NeuralCDDE function call. I am getting that error with when I test DiffEqFlux without this PR so this doesn't seem related to my work.

https://github.com/SciML/DiffEqFlux.jl/blob/7e52962f011f1a9ebf39a05c0f48ffd3a9b659df/test/neural_de_lux.jl#L274

Screenshot 2023-02-02 at 2 45 55 PM

@vpuri3
Copy link
Member Author

vpuri3 commented Feb 3, 2023

yay all tests have passed! @ChrisRackauckas this is good to go whenever you have time.

@vpuri3
Copy link
Member Author

vpuri3 commented Feb 4, 2023

anything else @ChrisRackauckas ?

src/deprecated.jl Outdated Show resolved Hide resolved
src/deprecated.jl Outdated Show resolved Hide resolved
@vpuri3
Copy link
Member Author

vpuri3 commented Feb 4, 2023

@ChrisRackauckas anything else that needs to be done here, or are we just waiting on tests?

@ChrisRackauckas
Copy link
Member

Add LinearSolve.jl to the downstream tests

@vpuri3
Copy link
Member Author

vpuri3 commented Feb 4, 2023

hold on - just noticed LinearSolve was in downstream tests all along:

- {user: SciML, repo: LinearSolve.jl, group: Core}
- {user: SciML, repo: OrdinaryDiffEq.jl, group: Interface}
- {user: SciML, repo: OrdinaryDiffEq.jl, group: Integrators}
- {user: SciML, repo: OrdinaryDiffEq.jl, group: Regression}
- {user: SciML, repo: StochasticDiffEq.jl, group: Interface1}
- {user: SciML, repo: StochasticDiffEq.jl, group: Interface2}
- {user: SciML, repo: StochasticDiffEq.jl, group: Interface3}
- {user: SciML, repo: StochasticDiffEq.jl, group: AlgConvergence}
- {user: SciML, repo: Sundials.jl, group: All}
- {user: SciML, repo: LinearSolve.jl, group: All}

@vpuri3
Copy link
Member Author

vpuri3 commented Feb 4, 2023

And the test did pass. So I'll remove the line
line 28 - - {user: SciML, repo: LinearSolve.jl, group: Core} , because the test on line 37 - {user: SciML, repo: LinearSolve.jl, group: All} should be sufficient

@vpuri3
Copy link
Member Author

vpuri3 commented Feb 4, 2023

So we should be good to go @ChrisRackauckas ?

@vpuri3
Copy link
Member Author

vpuri3 commented Feb 4, 2023

ok LinearSolve test passed again:

      Testing LinearSolve tests passed 

https://github.com/SciML/SciMLBase.jl/actions/runs/4093861110/jobs/7059588503

@ChrisRackauckas
Copy link
Member

and making DiffEqOperators a subtype.

Where is this done?

@ChrisRackauckas ChrisRackauckas merged commit c4fb0f4 into SciML:master Feb 5, 2023
@vpuri3 vpuri3 deleted the scimloperators branch February 5, 2023 17:40
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.

3 participants