feat(dp): add GPU-resident edge compute path for DPA4/SeZM models#1601
Draft
SchrodingersCattt wants to merge 1 commit into
Draft
feat(dp): add GPU-resident edge compute path for DPA4/SeZM models#1601SchrodingersCattt wants to merge 1 commit into
SchrodingersCattt wants to merge 1 commit into
Conversation
- Replace DP_Data cell-list with Neighbor class (skin-based amortized rebuild) - Add compute_gpu_edges() for fully device-resident inference (no host transfers) - Simplify fallback path: delegate PBC handling to DeePMD internally - Remove profiling infrastructure (can be re-added later if needed) - Support non-periodic directions via box inflation (orthogonal + triclinic) Co-authored-by: OutisLi <137472077+OutisLi@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a fully GPU-resident edge-based compute path (
compute_gpu_edges) for DPA4/SeZM models in the Deep Potential integration, eliminating all host-device data transfers per MD step for large-box simulations.Modification
Replace
DP_Datacell-list withNeighborclass — uses skin-based amortized neighbor-list rebuild, consistent with other potentials in GPUMD.Add
compute_gpu_edges()device path — whencutoff < L/2for all periodic directions:rc + skinon GPU (amortized)rcper step[2, nedge]edge schema viadp_fill_edgeskerneldeep_pot.compute_edges_gpu()(new DeePMD-kit device API)dp_scatter_outputskernelSimplify fallback path (small boxes where
cutoff >= L/2):deep_pot.compute()without nlist)Remove profiling infrastructure (
DP_Profile_Record, env-varGPUMD_DP_PROFILE) — re-addable in follow-up.Dependencies
compute_edges_gpu()C++ API (feat(dpa4): multiple updates for dpa4 deepmodeling/deepmd-kit#5734, merged 2026-07-07).Others
Co-authored-by: OutisLi (DeePMD-kit device API author)