fix(lammps): support 2025 Kokkos API - #5987
Conversation
Backport conda-forge/deepmd-kit-feedstock patch 0002 at d02138263b0b30629fe28c68c8bcecc2b8644513. Agent: ChatGPT Model: GPT-5.6 Sol
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughChangesKokkos compatibility updates
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This PR updates LAMMPS Kokkos compatibility in a localized set of files without any identified merge-blocking correctness, security, availability, or deployment risk; no actionable merge-blocking risk remains beyond normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #5987 +/- ##
==========================================
- Coverage 79.10% 78.84% -0.26%
==========================================
Files 1105 1105
Lines 130981 130981
Branches 4771 4765 -6
==========================================
- Hits 103609 103271 -338
- Misses 25686 26027 +341
+ Partials 1686 1683 -3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
OutisLi
left a comment
There was a problem hiding this comment.
The compatibility cutoff is incorrect. Both headers select the legacy tdual_xfloat_1d reverse-communication signature and legacy energy accumulator types for every LAMMPS version before 20260704, but the official patch_10Sep2025 release already uses DAT::tdual_double_1d in KokkosBase and provides ttransform_kkacc_1d / t_kkacc_1d; the same APIs remain in patch_10Dec2025, patch_11Feb2026, and patch_30Mar2026. Consequently those releases take the wrong branch, and the override declarations do not match the base virtual functions, causing compilation to fail for both deepmd/kk and dpa4spin/kk. Please use the actual API-introduction boundary (the released-tag evidence points to 20250910) and validate at least stable_22Jul2025_update5, patch_10Sep2025, and the current LAMMPS release.
Use the 10Sep2025 release as the boundary for the double reverse-communication buffer and transformed energy accumulator APIs. Coding-Agent: Codex Codex-Version: codex-cli 0.149.0 Model: gpt-5.6-sol Reasoning-Effort: xhigh
|
Addressed in I validated the combined #5987, #5989, and #5988 changes with
Both Coding agent: Codex |
## Summary Backport `0004-register-lammps-kokkos-plugin-styles.patch` from `conda-forge/deepmd-kit-feedstock@d02138263b0b30629fe28c68c8bcecc2b8644513`. Runtime LAMMPS plugins do not consume the `PairStyle` declarations used by the built-in package machinery, so explicitly register: - `deepmd/kk` - `deepmd/kk/device` - `deepmd/kk/host` - `dpa4spin/kk` - `dpa4spin/kk/device` - `dpa4spin/kk/host` The newly registered Kokkos plugin styles are attributed to **Tiancheng Li** via `plugin.author`. ## Validation - Single-file change derived from the feedstock patch, with only the requested author attribution adjusted. - Existing non-Kokkos plugin author fields are unchanged. - Split from deepmodeling#5985 so plugin registration can be reviewed independently. - Full build/runtime validation is left to upstream CI. Agent: ChatGPT Model: GPT-5.6 Sol <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added Kokkos-enabled support for DeepMD and DPA-4Spin pair styles. - Added host and device runtime variants for improved compatibility across supported execution environments. - Registered additional pair-style aliases so these implementations can be selected through standard runtime configuration. <!-- end of auto-generated comment: release notes by coderabbit.ai --> ## Dependencies and follow-up validation Merge order: corrected deepmodeling#5987, then deepmodeling#5989, then this PR. The Kokkos registrations in this PR depend on the compatibility boundary from deepmodeling#5987 and the shared-runtime linkage from deepmodeling#5989. Validated the combined changes with `DEEPMD_LAMMPS_KOKKOS=ON`, `PKG_PLUGIN=ON`, and `PKG_KOKKOS=ON` against `stable_22Jul2025_update5`, `patch_10Sep2025`, and `patch_20Aug2026`. In every build, `plugin load` succeeded and `plugin list` reported all six aliases: `deepmd/kk`, `deepmd/kk/device`, `deepmd/kk/host`, `dpa4spin/kk`, `dpa4spin/kk/device`, and `dpa4spin/kk/host`. Coding agent: Codex Codex version: codex-cli 0.149.0 Model: gpt-5.6-sol Reasoning effort: xhigh Co-authored-by: OutisLi <137472077+OutisLi@users.noreply.github.com>
Summary
Backport
0002-support-lammps-2025-kokkos-api.patchfromconda-forge/deepmd-kit-feedstock@d02138263b0b30629fe28c68c8bcecc2b8644513.Support both the LAMMPS 22Jul2025 Kokkos API and newer LAMMPS releases by selecting the appropriate reverse-communication buffer and per-atom energy accumulator types from
LAMMPS_VERSION_NUMBER.Validation
Agent: ChatGPT
Model: GPT-5.6 Sol
Summary by CodeRabbit
Compatibility
Bug Fixes