librascal icon indicating copy to clipboard operation
librascal copied to clipboard

OpenMP test branch

Open ceriottm opened this issue 3 years ago • 0 comments

Let's open - at least as a playground - this can of worms. Is it possible with manageable effort to get openmp parallelization of the loop over centers that appear in all of the time-consuming step of the calculation?

Rationale and detailed description of the changes:

  • added the minimal amount of infrastructure to Iterators to get parallel for loops to work
  • added placeholders for the loops that could be parallelized
  • at the moment, any actual parallelization breaks all the tests

Tasks before review:

  • [ ] Add tests, examples, and complete documentation of any added functionality
    • [ ] Make sure the autogenerated documentation appears in Sphinx and is formatted correctly (ask @max-veit if you need help with this task).
    • [ ] Write additional documentation in the Sphinx (not docstrings!) to explain the feature and its usage in plain English
    • [ ] Make sure the examples run (!) and produce the expected output
    • [ ] For bugfix pull requests, list here which tests have been added or re-enabled to verify the fix and catch future regressions as well as similar bugs elsewhere in the code.
  • [ ] Run make lint on the project, ensure it passes
    • [ ] Run make pretty-cpp and make pretty-python, check that the auto-formatting is sensible
    • [ ] Review variable names, make sure they're descriptive (ask a friend)
    • [ ] Review all TODOs, convert to issues wherever possible
    • [ ] Make sure draft, in-progress, and commented-out code is moved to its own branch
  • [ ] If committing any code in Jupyter/IPython notebooks, install and run nbstripout
  • [ ] Merge with master and resolve any conflicts
  • [ ] (anything else that's still in progress)

Remaining tasks, out of scope of this pull request:

Parallelization across nodes, best left to the calling code's domain decomposition

ceriottm avatar May 02 '21 10:05 ceriottm