-
Notifications
You must be signed in to change notification settings - Fork 5
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
Re-implement branch mpi-collective #8
Comments
Some clarification; reimplementing was my idea, since this branch is before the clang-tidy reformat of the whole codebase. Hence, automatic merging (which I tried) does not merge properly, I faced the same issues as back then. For example, git does not detect the large function signatures as the same, and often puts two of the same function in the same file. So I thought it's probably just easier to grab the needed code from the branch and update it in a new branch. Unless anyone else has other ideas? |
Manual test of correctness using 4 MD instances:MPI-collective: Sequential: Comparison: md5sum *.csv *.vtk | awk '{print $1}' > output.hashes # Ignore different filenames
diff output.hashes /path/to/sequential/version/output.hashes # Finds no difference |
Manual test of correctness using dynamic MD ensemble:MPI-collective:
Sequential: Comparison: ./compare_sim_outputs.py . /path/to/sequential/version/ The values in the output start to diverge after 36 coupling cycles.1 Values in output are identical if 2-way coupling is disabled. Footnotes
|
My suspicion is that the difference for dynamic MD ensembles is just attributable to the use of the MPI reduce operation. While Balaji and Kimpe 2013 mention that implementors are encouraged to take care not to introduce non-determinism between runs, this does not hold for collective vs. sequential implementation. A visual inspection of the two versions after 50 coupling cycles using ParaView shows no discernible difference, although that is quite a weak test: |
The branch mpi-collective was never merged and is way too far behind (see master...mpi-collective).
Thus, it is necessary to re-implement the features on this branch based on the current version of the master branch.
To-Do:
The text was updated successfully, but these errors were encountered: