You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ee27434
Browse filesBrowse the repository at this point in the historyBrowse files
KOKKOS ACE: optional direct (spline-free) ChebPow radial evaluation
Add an opt-in "direct" pair_style keyword (pace/kk) that replaces the
memory-bound radial spline-table lookup with direct on-the-fly evaluation
of the ChebPow basis, intended to raise arithmetic intensity on the GPU:
- gr/dgr from a Chebyshev recurrence (first and second kind) advanced on
the fly (no per-degree scratch);
- fr/dfr = crad . gr, a per-element-pair-constant matrix product whose
coefficients stay resident in cache instead of streaming a large,
randomly-indexed spline table every neighbor.
The hard-core term keeps its (single-function) spline. Falls back to the
spline path unless "direct" is given and the pair uses the ChebPow basis
(a warning is issued for unsupported bases). Spline remains the default, so
existing behaviour is unchanged.
Device data added: d_crad, d_lambda, d_cut, and a per-pair basis code.
Validation (CPU):
- The direct formula reproduces the ACE library's own analytic
all_radfunc (gr, dgr, fr, dfr) bit-for-bit (0.0 max abs diff) over 1381
radii across the full cutoff range (standalone test linked against the
pace library).
- End-to-end through the Kokkos kernels (run on the Serial backend):
product-mode spline matches the CPU evaluator to ~13 significant
figures, and direct vs spline differ only by the spline interpolation
error (energy ~3e-13 rel; max per-atom force diff ~2.5e-9 eV/A on a
displaced configuration) - nonzero, confirming the direct path runs
independently, and tiny, confirming it is correct.
GPU performance (the actual bandwidth-to-compute tradeoff) still needs to
be benchmarked on device hardware.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C752fRoWVbYmN4ugqitWps
0 commit comments