Replies: 1 comment 1 reply
-
This is one that I think should be kept open for reference, or maybe moved to a Discussion if you think that's more appropriate. This is information that SLiM and other tskit clients might well want to see, down the road; it's knowledge that we don't want to lose track of. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This issue tracks what needs to be done to eliminate the need to sort the edges associated with new births.
The method has been used in fwdpy11 for about 3 years.
(It is what I presented to one of the first online tskit meetings in 2020.)
By more carefully recording edges as they are born, we can eliminate the need to sort them.
This works for overlapping and non-overlapping generations.
A Python prototype is here.
Some of the necessary changes to the C API are here, implemented via hacks to the C API in tskit-rust.
We can shave many hours off of simulation time (see prototype link above for images). The method approaches the efficiency of simplifying via threads that I presented recently. The parallel method is enabled by #2665. The results in the notebook shown above get about 80% of the performance gains that I saw with threads, but with one core and less memory needed, thus pushing back the parameter space where methods like #2665 will be helpful.
TODO list:
Notes:
Beta Was this translation helpful? Give feedback.
All reactions