Skip to content

Resolves speed issue of #606. - #618

Merged
patrick-kidger merged 1 commit into
mainfrom
faster-t0-t1
Apr 21, 2025
Merged

Resolves speed issue of #606.#618
patrick-kidger merged 1 commit into
mainfrom
faster-t0-t1

Conversation

@patrick-kidger

Copy link
Copy Markdown
Owner

Fixes #606.
Supersedes #614.

The main part of this change is to use a dynamic-update-slice on the t0==t1 branch, rather than returning entirely new arrays. This is in-line with the way all of our other updates happen.

Whilst I'm here I've also slightly refactored some other saving code.

@patrick-kidger

Copy link
Copy Markdown
Owner Author

Tagging @dkweiss31 -- I've taken a crack at an alternative to #614. It handles the adjoint issue you bumped into it by happening inside the inner adjoint.loop call (rather than in the outer diffeqsolve). I realised our original strategy was probably simplest here, and it just needed expressing in a different way. LMK how this looks for you!

@HeSchatz -- I've tested that this gives good performance on the microbenchmark of #606 (comment) Can you give this a go on your actual problem?

@HeSchatz

Copy link
Copy Markdown

I've tested with my actual problem and compile times are back down to ~1.5s with this commit. Great! In fact, it seems to be slightly faster now than with 0.6.0, most likely due to some other code improvements between 0.6.0 and now. Thank you both @patrick-kidger and @dkweiss31 for fixing this so fast!

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.

Slow jit of diffeqsolve since v0.6.1

2 participants