-
-
Notifications
You must be signed in to change notification settings - Fork 23
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
Revamp working of Batched Solvers #68
Conversation
Codecov Report
@@ Coverage Diff @@
## main #68 +/- ##
==========================================
- Coverage 92.30% 92.01% -0.30%
==========================================
Files 16 20 +4
Lines 819 952 +133
==========================================
+ Hits 756 876 +120
- Misses 63 76 +13
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
e912230
to
061ec7d
Compare
This reverts commit e905737.
8864cac
to
fe341b2
Compare
fe341b2
to
908a98e
Compare
@ChrisRackauckas, this is ready for review. This is quite an aggressive change to how things work internally, but the speedups seem worth it. The CI failures seem related to SciMLOperators and LinearSolve. |
@ChrisRackauckas bump on this |
Some very crude benchmarks using a problem size of
1 x 1000
(i.e., 1000 batch size)Broyden
11.312 ms (883 allocations: 2.27 MiB)
10.678 ms (545 allocations: 548.62 KiB)
10.915 ms (522 allocations: 373.94 KiB)
LBroyden
OLD:Failed Convergence
NEW:Same Failed Convergence
NEW (in-place):Same Failed Convergence
Not updating it since my updates again broke it. For NN cases anyways BatchedDFSane seems to be more reliable and fast.
SimpleDFSane
1.389 ms (1510 allocations: 2.61 MiB)
1.093 ms (261 allocations: 1.05 MiB)
1.014 ms (242 allocations: 929.45 KiB)
Raphson
N/A
997.954 ms (6452 allocations: 142.61 MiB)
N/A
Summary of Updates:
if batching
and similar, I am separating the code for batched and unbatched versions for easier maintenance