-
Notifications
You must be signed in to change notification settings - Fork 41
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
Improve performance for molecular dynamics simulations #359
Labels
application
Anything to support specific applications
performance
Something is slower than it should be
Comments
I think we can try these algorithms of [2] (or an approximation of them) without too much trouble:
Update: rope traversal implemented in #364. |
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
application
Anything to support specific applications
performance
Something is slower than it should be
Problem
Given a set of 3D points (particles) and a radius, for every particle find all particles within a sphere of the given radius.
Of note:
Half-neighbors only find each edge once
CSR vs 2D
Neighbor construction is followed by force calculations
Solvent/colloid simulations
Current status (CabanaMD)
Lagging behind Verlet list for uniform particle distribution, clear win for non-uniform
Things to try with the current ArborX implementation
The problem is auto-collision, thus sorting may be reused
E.g., Add knobs to control occupancy in bvh traversal algorithms #323
Things to consider implementing in ArborX
Papers from HOOMD group:
[1] Howard, M. P., Anderson, J. A., Nikoubashman, A., Glotzer, S. C., & Panagiotopoulos, A. Z. (2016). Efficient neighbor list calculation for molecular simulation of colloidal systems using graphics processing units. Computer Physics Communications, 203, 45-52.
[2] Howard, M. P., Statt, A., Madutsa, F., Truskett, T. M., & Panagiotopoulos, A. Z. (2019). Quantized bounding volume hierarchies for neighbor search in molecular simulations on graphics processing units. Computational Materials Science, 164, 139-146.
The code is available here: https://github.com/mphowardlab/neighbor
Summary of [2] (as I understand it):
The main difference of [2] compared to [1] is quantization. The claim is this is what allowed them to beat grid-based methods. Essentially, they are snapping to the boundaries of Morton cells (2^10 in each direction).
The text was updated successfully, but these errors were encountered: