Skip to content

Conversation

@talagayev
Copy link
Member

@talagayev talagayev commented Nov 27, 2024

Fixes #4662

Changes made in this Pull Request:

  • atomicdistances.AtomicDistances explicitly marked as not parallelizable
  • Addition of tests to test_atomicdistances.py to assert serial backend

Reason why atomicdistances.AtomicDistances is not parallelizable:

  • Currently Results uses UserDict as input, while atomicdistances.AtomicDistances outputs an numpy.ndarray
    so it would require the modification of the output or modification of Results to make it parallelizable

PR Checklist

  • Tests?
  • Docs?
  • CHANGELOG updated?
  • Issue raised/referenced?

Developers certificate of origin


📚 Documentation preview 📚: https://mdanalysis--4808.org.readthedocs.build/en/4808/

marking atomidistances as not parallelizable
added to changelog the non paralellization
@pep8speaks
Copy link

pep8speaks commented Nov 27, 2024

Hello @talagayev! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

There are currently no PEP 8 issues detected in this Pull Request. Cheers! 🍻

Comment last updated at 2024-11-27 16:16:07 UTC

@codecov
Copy link

codecov bot commented Nov 27, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 93.66%. Comparing base (abc9806) to head (ab86552).
Report is 58 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #4808      +/-   ##
===========================================
- Coverage    93.68%   93.66%   -0.03%     
===========================================
  Files          177      189      +12     
  Lines        21742    22809    +1067     
  Branches      3055     3055              
===========================================
+ Hits         20368    21363     +995     
- Misses         927     1000      +73     
+ Partials       447      446       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member

@orbeckst orbeckst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right — but the issue is really that we somehow never upgraded this analysis class to use Results. I am not sure how this slipped through. I raised #4819.

Even though your PR looks fine, I'd prefer to fix #4819 and then parallelize the class because from the outside it makes no sense that such a simple calculation "cannot be parallelized". This would not look good.

Until we decide what to do with #4819, this PR should be on hold.

@talagayev
Copy link
Member Author

You're right — but the issue is really that we somehow never upgraded this analysis class to use Results. I am not sure how this slipped through. I raised #4819.

Even though your PR looks fine, I'd prefer to fix #4819 and then parallelize the class because from the outside it makes no sense that such a simple calculation "cannot be parallelized". This would not look good.

Until we decide what to do with #4819, this PR should be on hold.

Yes that sounds reasonable, since if #4819 is adressed, than it should not be a problem to implement the parallelization here with some quick adjustments

@orbeckst
Copy link
Member

@talagayev I am closing this PR — one way or another, we'll decide on PR #4822 how to continue.

@orbeckst orbeckst closed this Dec 17, 2024
@talagayev
Copy link
Member Author

@talagayev I am closing this PR — one way or another, we'll decide on PR #4822 how to continue.

Yes, sounds good by me :) I can just create a new PR as soon as the decision is done for PR #4822. Adding
the parallelization in #4822 would also not be a problem.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MDAnalysis.analysis.atomicdistances: Implement parallelization or mark as unparallelizable

3 participants