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

Parrallelisation strategy #56

Open
Luthaf opened this issue Nov 27, 2016 · 0 comments
Open

Parrallelisation strategy #56

Luthaf opened this issue Nov 27, 2016 · 0 comments

Comments

@Luthaf
Copy link
Member

Luthaf commented Nov 27, 2016

For now, the code is plain old serial, and does not exploit the possibilities offered by Rust.

We should discuss about how to make this code parallel. I believe the first section of the code we should parallelize is the energy evaluation (#19 idea is to have both parallel and serial energy computation algorithm). I can see multiple area of improvement:

  • shared memory parallelism (OpenMP world), using something like rayon. This should be relatively easy to do;
  • Distributed memory parallelism (MPI world). This will need more work, as there is not clear MPI replacement for Rust, and MPI may not be the optimal strategy here.

At the same time, we can already enable some trivial parallelism because the code do not hold any global variable: parallel tempering should be very easy to setup, as should be running the same calculation with a single varying parameter. Here the question is more how can this be added to the input files in an intuitive manner.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant