Skip to content
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

Performance advice for Jump simulation tutorial #750

Open
wants to merge 20 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".

@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 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 mentioned this pull request May 18, 2024
48 tasks
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.

None yet

3 participants