-
Notifications
You must be signed in to change notification settings - Fork 2
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
Minimal support for threads partitioning #277
Conversation
…hreads partitioning
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #277 +/- ##
==========================================
- Coverage 16.25% 15.59% -0.67%
==========================================
Files 289 296 +7
Lines 20592 21469 +877
==========================================
Hits 3348 3348
- Misses 17244 18121 +877 ☔ View full report in Codecov by Sentry. |
…s general and optimised for all cases
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some small nits, in-memory packed separable dispersal sampler, MPI partitioning, and threads partitioning not yet reviewed
necsim/impls/no-std/src/cogs/dispersal_sampler/in_memory/packed_alias/dispersal.rs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some more nits and one bug
necsim/impls/no-std/src/cogs/dispersal_sampler/in_memory/packed_separable_alias/dispersal.rs
Outdated
Show resolved
Hide resolved
necsim/impls/no-std/src/cogs/dispersal_sampler/in_memory/packed_separable_alias/dispersal.rs
Outdated
Show resolved
Hide resolved
necsim/impls/no-std/src/cogs/dispersal_sampler/in_memory/packed_separable_alias/dispersal.rs
Outdated
Show resolved
Hide resolved
necsim/impls/no-std/src/cogs/dispersal_sampler/in_memory/packed_separable_alias/dispersal.rs
Outdated
Show resolved
Hide resolved
necsim/impls/no-std/src/cogs/dispersal_sampler/in_memory/packed_separable_alias/mod.rs
Outdated
Show resolved
Hide resolved
Madingley fg0size12 habitat with turnover map and 10^-3 sample percentage ==== speciation 0.1 (with seed 42) ==== new independent monolithic: 4192785 old skipping monolithic: 4193180 ==== speciation 0.01 (all monolithic with entropy seeds) ==== new independent: 3996050, 3995425 |
While MPI and threads clearly work, the separable dispersal sampler does NOT |
==== speciation 0.01 (all monolithic with entropy seeds) ==== new v2 independent: 3995604, 3995902, 3995285, 3996393, 3995210 |
The new packed separable alias dispersal sampler should still be optimised further ... but it shall be good enough for now |
Fixes #106
This PR finally implements multithreading-based partitioning by limiting the scope:
serde
-basedClone
, e.g. by usingArc
s inside scenario cogsStill, this is an important step forward!
TODOs:
Arc
s for large arrays in scenario cogsHabitat
sDispersalSampler
s are initialised too late, they would need to be created earlier (no more separateScenario
init and build steps)