-
Notifications
You must be signed in to change notification settings - Fork 750
Enabling of MDAnalysis.analysis.align.AverageStructure parallelization
#4738
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
base: develop
Are you sure you want to change the base?
Conversation
|
Hello @talagayev! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:
Comment last updated at 2025-01-11 21:40:18 UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #4738 +/- ##
========================================
Coverage 92.72% 92.73%
========================================
Files 180 180
Lines 22472 22491 +19
Branches 3188 3191 +3
========================================
+ Hits 20837 20856 +19
Misses 1177 1177
Partials 458 458 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
c37add2 to
03eef45
Compare
|
@marinegor I would ping you in this PR as well. Here basically I tried different ways to see if it is possible to parallelize the I added As for |
I think parallelization should not actually work with
If you're running out of ideas, I'd suggest making this PR for Also, I imagine there are problems with serialization of |
Yes makes sense. I think the current two ones that use Yes that would be good, I can then rename the PR to cover only |
| if requested_backend not in (None, "serial"): | ||
| warnings.warn( | ||
| "The in-memory parallel trajectory usage is inefficient" | ||
| "and not supported. Falling back to serial.", | ||
| RuntimeWarning, | ||
| ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I won't be in favor of a warning, and would rather explicitly raise ValueError because, well, how often do you switch off / ignore warnings?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True, adjusted it to raise a ValueError for that case and adjusted the test to cover the ValueError.
|
@talagayev ok, will be waiting for your message. |
MDAnalysis.analysis.align.AverageStructure parallelization
Added the Documentation, |
Fixes #4659 attempt
Changes made in this Pull Request:
backendsandaggregatorstoAlignTrajandAverageStructureinanalysis.align.client_AlignTrajandclient_AverageStructureinconftest.pyclient_AlignTrajandclient_AverageStructureinrun()intest_align.pyCurrently for
AlignTrajit only acceptsserialanddaskwithmultiprocessingleading to the pytests taking forever. An additional error that appears is the following:OSError: File opened in mode: self.mode. Reading only allow in mode "r"For
AverageStructurethe Failure that appears is the following:AttributeError: 'numpy.ndarray' object has no attribute 'load_new'Which leads me to believe that
AverageStructurecan not be parallelized, but I would need additional opinions on it and onAlignTraj:)PR Checklist
Developers certificate of origin
📚 Documentation preview 📚: https://mdanalysis--4738.org.readthedocs.build/en/4738/