@@ -206,8 +206,38 @@ would be helpful for debugging.
206
206
207
207
** Reviewers** : Chris Rackauckas
208
208
209
+ ## Refactor NonlinearSolve.jl and BoundaryValueDiffEq.jl to use Sub-Packages of Solvers (\$ 300 each)
210
+
211
+ With the successful splitting of [ OrdinaryDiffEq.jl] ( https://sciml.ai/news/2024/08/10/sciml_small_grants_successes/ ) ,
212
+ we suspect that similar installation and loading time improvements can be had by
213
+ splitting NonlinearSolve.jl and BoundaryValueDiffEq.jl in such a way that the solvers
214
+ can precompile in parallel and allow for depending on only a portion of the algorithms.
215
+ In particular, OrdinaryDiffEq.jl only needs to depend on a trust region method, meaning
216
+ that other sets of methods can be fully discarded from its dependency stack.
217
+
218
+ ** Information to Get Started** : The OrdinaryDiffEq.jl solvers are all found in
219
+ [ the Github repository] ( https://github.com/SciML/OrdinaryDiffEq.jl ) and
220
+ the format of the package is docmented in the
221
+ [ developer documentation] ( https://docs.sciml.ai/DiffEqDevDocs/stable/ ) . [ https://github.com/SciML/OrdinaryDiffEq.jl/issues/2177 ] ( https://github.com/SciML/OrdinaryDiffEq.jl/issues/2177 )
222
+ documents the process on OrdinaryDiffEq.jl to
223
+
224
+ ** Related Issues** :
225
+
226
+ ** Success Criteria** : The independent solver packages are registered and released,
227
+ and a breaking update to OrdinaryDiffEq.jl is released which reduces the loading
228
+ time by not including all solvers by default. This success also requires updating
229
+ package documentation to reflect these changes.
230
+
231
+ ** Recommended Skills** : Since all of the code for the solvers exists and this a refactor,
232
+ no prior knowledge of numerical differential equations is required. Only standard software
233
+ development skills and test-driven development of a large code base is required.
234
+
235
+ ** Reviewers** : Chris Rackauckas, Avik Pal
236
+
209
237
## Refactor OrdinaryDiffEq.jl Solver Sets to Reuse perform_step! Implementations via Tableaus (\$ 100/solver set)
210
238
239
+ ** In Progress** : Claimed by Param Umesh Thakkar for the time period of August 11th, 2024 - September 11th 2024.
240
+
211
241
The perform_step! implementations per solver in OrdinaryDiffEq.jl are often "bespoke", i.e.
212
242
one step implementation per solver. The reason is because the package code grew organically
213
243
over time and this is the easiest way to ensure performance and write out a new method.
0 commit comments