-
-
Notifications
You must be signed in to change notification settings - Fork 553
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
Idaklu-Jax Interface #3658
Idaklu-Jax Interface #3658
Conversation
…pr-solver is state-dependent on class
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #3658 +/- ##
=========================================
Coverage 99.59% 99.60%
=========================================
Files 257 258 +1
Lines 20806 21226 +420
=========================================
+ Hits 20722 21142 +420
Misses 84 84 ☔ View full report in Codecov by Sentry. |
Hi @martinjrobins - I'm ready for the IDAKLU-Jax interface to be reviewed. A good starting point would be the example jupyter notebook that I have included as this walks through a usage example. PS: Benchmarks have run twice and failed on different tests each time (which do not appear related to this PR); I've re-started them again. |
Ready to merge. A note on the failing tests:
On a side note, some of the unit tests required multiple runs to pass. This should not happen as they were made deterministic in #2844 - it appears as though some test classes have been introduced that inherit from |
Thanks, I noticed this too. I don't think there are any larger problems at play since it's just a warning message – I will take a look in a separate PR |
Yet another note: since this PR has worked on a lot of compiled code, I would suggest running the wheel builds workflow on this branch once, just so that we don't face any problems later. P.S. my suggestion is to make such checks automatic in some cases through our infrastructure in the long term, such as those being discussed in #3662. |
@agriyakhetarpal Good idea - I just want to check how to do this without breaking anything: I can run the |
@jsbrittain yes – the configuration by default is designed to not break anything. You can just set the workflow input as blank to avoid publishing on TestPyPI either. The PyPI publishing is guarded by the condition PyBaMM/.github/workflows/publish_pypi.yml Line 197 in b84f7ad
which helps automatically skip the job regardless of the input on non-release runs. |
@agriyakhetarpal wheels build, see https://github.com/jsbrittain/PyBaMM/actions/runs/7632700433. |
For some reason, I can't access this build. Although it should be alright but would it be nicer to test the wheels too? |
I can't access the link either but I trust the universe with it haha. The wheels are currently being tested by Edit: was able to access the link earlier when it was posted, I forgot I had seen it lol |
@arjxn-py @agriyakhetarpal I disabled Actions on my fork after running the workflow - I didn't realise that would prevent you from seeing the report / artifacts. I've re-enabled them and the link is working for me again: https://github.com/jsbrittain/PyBaMM/actions/runs/7632700433 |
@martinjrobins fixed the merge conflicts; all tests passing (apart from lychee). |
Any updates on merging this? It would be a great addition from the parameter identification workflow side. @jsbrittain @martinjrobins @pybamm-team/maintainers |
@BradyPlanden @martinjrobins @pybamm-team/maintainers I've updated the branch with the latest changes from |
Description
Provides an IDAKLU-JAX interface by exposing a JAX expression that performs an IDAKLU solve. There is a new IDAKLUJax API page in the docs, and usage examples have been provided in a new jupyter notebook.
Fixes #2282
Type of change
Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.
Key checklist:
$ pre-commit run
(or$ nox -s pre-commit
) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)$ python run-tests.py --all
(or$ nox -s tests
)$ python run-tests.py --doctest
(or$ nox -s doctests
)You can run integration tests, unit tests, and doctests together at once, using
$ python run-tests.py --quick
(or$ nox -s quick
).Further checks: