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

parallelize the global continuation calculation #140

Open
Datseris opened this issue Aug 1, 2024 · 0 comments
Open

parallelize the global continuation calculation #140

Datseris opened this issue Aug 1, 2024 · 0 comments
Labels
continuation Related with continuation functionality performance numeric performance and optimizing it

Comments

@Datseris
Copy link
Member

Datseris commented Aug 1, 2024

Okay I just realized we can parallelize global_continuation for the AttractorSeedContinueMatch mapper. I am writing it here to not forget it.

We can't truly parallelize because we need to seed attractors from previous step. However, this is the only step of the process that can't done in parallel but only sequentially.

So my idea is: first go through the continuation sequentially and map seeds from previous attractors to attractors. Only the seeds. Not the randomly sampled initial conditions in state space.

Then, go through the parameter curve a second time, but now in parallel, via deepcopying the mapper as many times as threads. In each thread we process one parameter, and run basins fractions with the pre-found attractors. So this way we populate the the basins fractions and/or find new attractors, in parallel.

Finally we do the matching step which needs to be done in sequence.

The question is: will this actually be faster? It is not clear; because we need to create as many mappers as parameter values, because we need to store all mappers, as each mapper has its own finite state machine status after finding attractors and it is not possible to just recreate this on the fly. So it will for sure require much more memory allocaiton, but maybe this will be in the end insignificant compared to the performance boost of multithreading the majority of the computations.

@Datseris Datseris added performance numeric performance and optimizing it continuation Related with continuation functionality labels Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
continuation Related with continuation functionality performance numeric performance and optimizing it
Projects
None yet
Development

No branches or pull requests

1 participant