SciML / ModelingToolkit.jl

An acausal modeling framework for automatically parallelized scientific machine learning (SciML) in Julia. A computer algebra system for integrated symbolics for physics-informed machine learning and automated transformations of differential equations
https://mtk.sciml.ai/dev/
Other
1.43k stars 209 forks source link

Documentation how to run simulations in parallel missing #2350

Open ufechner7 opened 12 months ago

ufechner7 commented 12 months ago

Running simulations in parallel can save a lot of time if you need to run the same model with different parameters. This sometimes works well, and sometimes not at all. It is not documented under which conditions it works well.

ChrisRackauckas commented 12 months ago

Can you give more information on what's missing from https://docs.sciml.ai/DiffEqDocs/stable/features/ensemble/ ?

ufechner7 commented 12 months ago

I did not know about "ensemble", and I do not know yet if it would be useful for my purpose or just make things more complicated. I would write something like this:

Speeding up simulations by multithreading is effective under a number of conditions:

ChrisRackauckas commented 11 months ago

I need to think about the right way to document this. Indeed ModelingToolkit's documentation is doing two things: it's a modeling compiler, and it's a front end for many industrial modelers. If you look at for example Catalyst.jl, https://docs.sciml.ai/Catalyst/stable/, its documentation has all sorts of "not actually Catalyst.jl stuff" like inverse problems which is really just showing the user how to use Catalyst.jl and ModelingToolkit.jl effectively in the domain of computational biology. The ModelingToolkit.jl documentation as a documentation for the MTK system and compiler focuses largely on the core MTK, how to build models and run its transformations. However, there is definitely space for it to grow into including things like how to use MTK effectively in industrial scale modeling and simulation, including things that are in other docs like DifferentialEquations.jl to really narrow down on what's required in this domain. But with MTK's docs focusing on MTK proper, there is a bit of tension on how to fit it all in here.