Skip to content

Conversation

@orbeckst
Copy link
Member

No description provided.

Copy link
Member

@IAlibay IAlibay left a comment

Choose a reason for hiding this comment

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

thanks @orbeckst !

Copy link
Member

@p-j-smith p-j-smith left a comment

Choose a reason for hiding this comment

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

Thank you!

@orbeckst orbeckst self-assigned this Mar 13, 2025
@orbeckst
Copy link
Member Author

@hmacdope should we emphasize more that people should try and install

mamba install distopia

to make use of the much faster distance calculations? Or should we include it as a conda package run time dependency for x86 architectures?

@orbeckst
Copy link
Member Author

Distopia works on my old x86 macOS:

In [1]: import MDAnalysis as mda; import MDAnalysisTests.datafiles as data

In [2]: u = mda.Universe(data.TPR, data.TRR)

In [3]: u.atoms.n_atoms
Out[3]: 47681

In [10]: %timeit d = mda.lib.distances.distance_array(u.atoms[:5000], u.atoms[500:4000],
       ⋮ box=u.dimensions)
629 ms ± 2.78 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [11]: %timeit d = mda.lib.distances.distance_array(u.atoms[:5000], u.atoms[500:4000],
       ⋮ box=u.dimensions, backend="distopia")
324 ms ± 163 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

and gives 2x speed-up for a medium-sized problem.

For all 47k atoms ...

In [14]: %timeit d = mda.lib.distances.distance_array(u.atoms, u.atoms, box=u.dimensions, backend="distopia")
Segmentation fault: 11

oops.... but in all fairness, the serial version ran my laptop out of its 16 GB of memory but completed

In [4]: %timeit d = mda.lib.distances.distance_array(u.atoms, u.atoms, box=u.dimensions,
      ⋮ backend="serial")
1min 36s ± 3.02 s per loop (mean ± std. dev. of 7 runs, 1 loop each)

@orbeckst
Copy link
Member Author

orbeckst commented Mar 14, 2025

The post could now be published in principle (edit: because we now have 3.13 cf packages) but let’s wait until at least tomorrow in case anyone wants to make any changes.

@orbeckst orbeckst force-pushed the release-2.9.0-blogpost branch from b14be95 to 3f24e89 Compare March 14, 2025 17:56

* Support for Gromacs v2024.4 and v2025 TPR files.
* A new "water" keyword for selecting water residues.
* Support for **[distopia][] 0.4.0** as an optional distance library
Copy link
Member Author

Choose a reason for hiding this comment

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

@hmacdope can you look over the distopia part, please?

Copy link
Member Author

Choose a reason for hiding this comment

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

see also PR MDAnalysis/mdanalysis#4970 for doc update

@orbeckst orbeckst requested a review from hmacdope March 14, 2025 18:35
@orbeckst orbeckst changed the title draft for release 2.9.0 blog post release 2.9.0 blog post Mar 15, 2025
- installation instructions
- link to docs for backends
- mini example
- mention (currently undocumented) MDAnalysis.lib.distances.HAS_DISTOPIA
@orbeckst orbeckst force-pushed the release-2.9.0-blogpost branch from 463f1ef to 3199858 Compare March 15, 2025 21:34
@orbeckst orbeckst merged commit c7c833b into master Mar 16, 2025
1 check passed
@orbeckst
Copy link
Member Author

@jennaswa with release post up, are you able to put out announcements (LinkedIn, bsky, discussions)? (Not sure if I have any time soon)

@jennaswa
Copy link
Contributor

@RMeli RMeli mentioned this pull request Mar 21, 2025
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.

7 participants