Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Performance advice for Jump simulation tutorial #750

Open
wants to merge 26 commits into
base: master
Choose a base branch
from

Conversation

TorkelE
Copy link
Member

@TorkelE TorkelE commented Dec 21, 2023

Adds a single tutorial, providing some advice on Jump simulation performance:

  • Managing of solution saving using save_positions and saveat.
  • Types of jumps and why e.g. k, E + S --> E + P is better than k*E, S --> P.
  • How to select a good solver and why e.g. RSSA is probably better than Direct (and RSSACR should be preferred for big models).
  • Mention of the existence and principle of hybrid simulation, however, notes that these are currently only a work in progress.

@TorkelE
Copy link
Member Author

TorkelE commented Dec 22, 2023

Also, @isaacsas, If you know a good reference book/article on Jump simulation it would be useful to know (so I could put a reference to it here, for further reading).

@isaacsas
Copy link
Member

I think for bio readers this is a nice one that is focused on algorithms: Luca Marchetti, Corrado Priami, Vo Hong Thanh,
"Simulation Algorithms for Computational Systems Biology".

@isaacsas isaacsas requested a review from Vilin97 December 30, 2023 00:43
@TorkelE
Copy link
Member Author

TorkelE commented Dec 30, 2023

I tried writing the tutorial assuming that someone wasn't familiar with rates, propensities, and rate laws, and hence basically just used rate instead of propensities. I don't min making it more rigorous, but then I want to add a proper introduction of what these things are. I think if we just start using propensity people not familiar with it will get confused really quickly.

(long term I want a better introduction to this somewhere in the docs as well, just so that it can be cross-referenced in situations like this)

@ChrisRackauckas
Copy link
Member

Is it worth mentioning small case static array stuff?

@isaacsas
Copy link
Member

isaacsas commented May 5, 2024

We should probably benchmark that case and see if there is a speed up. I don’t think we’ve ever done so.

@ChrisRackauckas
Copy link
Member

I have, you can see it here:

https://github.com/sdwfrost/Gillespie.jl?tab=readme-ov-file#benchmarks

It's a bit old but it works well for small problems. In fact, for the smallest of small problems we should probably make a different codegen approach, but that's a whole different story.

@TorkelE TorkelE force-pushed the ssa_performance_tutorial branch from baafeb4 to 5ffc323 Compare May 9, 2024 17:09
TorkelE and others added 20 commits May 16, 2024 13:15
Co-authored-by: Sam Isaacson <isaacsas@users.noreply.github.com>
Co-authored-by: Sam Isaacson <isaacsas@users.noreply.github.com>
Co-authored-by: Sam Isaacson <isaacsas@users.noreply.github.com>
Co-authored-by: Sam Isaacson <isaacsas@users.noreply.github.com>
Co-authored-by: Sam Isaacson <isaacsas@users.noreply.github.com>
Co-authored-by: Sam Isaacson <isaacsas@users.noreply.github.com>
Co-authored-by: Sam Isaacson <isaacsas@users.noreply.github.com>
Co-authored-by: Sam Isaacson <isaacsas@users.noreply.github.com>
Co-authored-by: Sam Isaacson <isaacsas@users.noreply.github.com>
Co-authored-by: Sam Isaacson <isaacsas@users.noreply.github.com>
Co-authored-by: Sam Isaacson <isaacsas@users.noreply.github.com>
@TorkelE TorkelE force-pushed the ssa_performance_tutorial branch from 5ffc323 to bdf964a Compare May 16, 2024 17:27
@TorkelE TorkelE changed the title Performance advice for Jump simulation tutorial [Documentation - Ready] Performance advice for Jump simulation tutorial Jun 5, 2024
@TorkelE TorkelE changed the title [Documentation - Ready] Performance advice for Jump simulation tutorial [Non-urgent - Ready] Performance advice for Jump simulation tutorial Jun 11, 2024
@TorkelE TorkelE changed the title [Non-urgent - Ready] Performance advice for Jump simulation tutorial Performance advice for Jump simulation tutorial Jul 13, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants