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

Enable neighbor build on the device for pair hybrid substyles #1430

Merged
merged 5 commits into from Jun 17, 2019

Conversation

@ndtrung81
Copy link
Contributor

commented Apr 17, 2019

Summary

When used with pair hybrid and hybrid/overlay the GPU package enforces the neighbor lists to be built on the host (i.e. neigh no). This PR lifts this enforcement, allowing for the use of "neigh yes" and "split -1" for the command "package gpu" when using pair hybrid and pair hybrid/overlay with multiple /gpu pair styles.

Related Issues

N/A

Author(s)

Trung Nguyen (Northwestern)

Licensing

By submitting this pull request, I agree, that my contribution will be included in LAMMPS and redistributed under either the GNU General Public License version 2 (GPL v2) or the GNU Lesser General Public License version 2.1 (LGPL v2.1).

Backward Compatibility

The changes in this PR should maintain backward compability.

Implementation Notes

Moved the initilization of Neighbor storage out of Device::init() into a separate function (i.e. init_nbor()) so that the pair styles allocate the required memory on their own Neighbor instance. This change leads to updates in the function init_atomic() the Base* classes.

Post Submission Checklist

  • The feature or features in this pull request is complete
  • Licensing information is complete
  • Corresponding author information is complete
  • The source code follows the LAMMPS formatting guidelines
  • Suitable new documentation files and/or updates to the existing docs are included
  • The added/updated documentation is integrated and tested with the documentation build system
  • The feature has been verified to work with the conventional build system
  • The feature has been verified to work with the CMake based build system
  • A package specific README file has been included or updated
  • One or more example input decks are included

Further Information, Files, and Links

N/A

@akohlmey

This comment has been minimized.

Copy link
Member

commented Apr 30, 2019

@ndtrung81 FYI. We're holding back on merging this PR until after the upcoming stable release.

@ndtrung81

This comment has been minimized.

Copy link
Contributor Author

commented Apr 30, 2019

@akohlmey thanks for letting me know. I will wrap it up before assigning the PR to you in May.

@ndtrung81 ndtrung81 requested review from akohlmey and rbberger May 18, 2019

@ndtrung81 ndtrung81 assigned akohlmey and unassigned ndtrung81 May 18, 2019

@akohlmey
Copy link
Member

left a comment

@ndtrung81 i don't see any changes to the documentation. doesn't this change need to be documented or rather text describing the previous limitations be removed?

@@ -219,17 +218,6 @@ void FixGPU::init()
error->all(FLERR,"GPU package does not (yet) work with "
"atom_style template");

// hybrid cannot be used with force/neigh option

This comment has been minimized.

Copy link
@ndtrung81

ndtrung81 May 18, 2019

Author Contributor

@akohlmey These are the limitations that are removed from this PR.

@akohlmey akohlmey self-requested a review May 18, 2019

updated docs as needed

@ndtrung81

This comment has been minimized.

Copy link
Contributor

commented on dc8b43a May 18, 2019

@akohlmey thanks for your help with these updates!

@akohlmey akohlmey requested review from stanmoore1 and sjplimp Jun 13, 2019

@sjplimp
Copy link
Contributor

left a comment

thanks Trung - this is useful

@akohlmey akohlmey merged commit 2f29bd2 into lammps:master Jun 17, 2019

6 checks passed

lammps/pull-requests/build-docs-pr head run ended
Details
lammps/pull-requests/cmake/cmake-serial-pr head run ended
Details
lammps/pull-requests/kokkos-omp-pr head run ended
Details
lammps/pull-requests/openmpi-pr head run ended
Details
lammps/pull-requests/serial-pr head run ended
Details
lammps/pull-requests/shlib-pr head run ended
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.