Skip to content
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

Make use of boost container custimization #3638

Closed
fweik opened this issue Apr 7, 2020 · 0 comments · Fixed by #4414
Closed

Make use of boost container custimization #3638

fweik opened this issue Apr 7, 2020 · 0 comments · Fixed by #4414

Comments

@fweik
Copy link
Contributor

fweik commented Apr 7, 2020

Make the bond and exclusion lists in Particle smaller by using customization options, which are available starting from boost 1.67.

kodiakhq bot added a commit that referenced this issue Jul 28, 2021
Description of changes:
- require Python 3.7+, scipy 1.4.0+, numpy 1.17.4+ (as per #3421, fixes #4258)
- require Boost 1.69+ (enables #3638)
- remove OpenSUSE job from CI (Leap 15.3 doesn't package Python3 and Boost, Leap 15.2 is outdated)
@kodiakhq kodiakhq bot closed this as completed in #4414 Mar 28, 2022
kodiakhq bot added a commit that referenced this issue Mar 28, 2022
Fixes #4415, fixes #3638

Description of changes:
- mark classes `Utils::Array`, `Utils::Vector` and `Utils::Quaternion` as MPI datatypes and bitwise serializable
- remove MPI communication overhead for `Utils::Vector` and `Particle` by removing tracking information and metadata
- check in unit tests that all `Particle` substructs are bitwise serializable
- use compact vectors for the bond list and exclusion list

For a LJ fluid simulation, the speed-up is around 8% on maxset configuration and 3% on empty configuration.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant