ReleaseNVIDIANVIDIApublished Apr 15, 2026seen 5d

NVIDIA/nvalchemi-toolkit-ops v0.3.1

NVIDIA/nvalchemi-toolkit-ops

Open original ↗

Captured source

source ↗
published Apr 15, 2026seen 5dcaptured 9hhttp 200method plain

v0.3.1

Repository: NVIDIA/nvalchemi-toolkit-ops

Tag: v0.3.1

Published: 2026-04-15T23:28:32Z

Prerelease: no

Release notes:

v0.3.1 Release Notes

Breaking Changes

  • Virial sign convention for DSF and LJ (#56): previous implementation used the wrong sign for DSF and LJ virials. Virials now consistently follow W = -Σ rᵢⱼ ⊗ fᵢⱼ (positive pressure produces positive virial trace). A new conventions page at docs/userguide/about/conventions.md documents the convention used throughout the library.

---

Additions/New Features

  • Hybrid forces mode for PME/Ewald electrostatics (#57): new forces_mode parameter ("real", "reciprocal", "full") enables ~3x speedup for force and virial prediction with geometry-dependent charges.
  • Left- and right-handed lattice support in cell list neighbor search (#59 ): cell_list and batch_cell_list now correctly handle both lattice handedness via absolute value of the determinant.
  • CUDA 13 support (#60, #68): compatibility fixes for CUDA 13 toolkit, updated install documentation and FAQ.

---

Bug Fixes

  • `torch.compile` correctness for PME and Ewald (#53): rewrote the warp_custom_op autograd wrapper to produce computation graphs compatible with torch.compile; added comprehensive autograd unit tests.
  • PME reciprocal virial shape for single-system batches (#52): virial output now correctly returns shape (n_systems, 3, 3) even when n_systems=1, for both PyTorch and JAX bindings.
  • Background energy virial correction for non-neutral Ewald/PME systems (#62): the background self-energy correction now properly contributes its virial term via the strain derivative for both PyTorch and JAX.
  • Detached charges/cell in PME reciprocal virial background correction (#65): prevents incorrect gradient flow through the background correction term during backpropagation.
  • `retain_graph=True` support in `warp_custom_op` backward (#64): the backward pass no longer invalidates saved tensors on the first call, enabling multiple backward passes over the same graph.
  • NPT/NPH strain rate tensor (#66): drag force and cell kinetic energy now use the strain rate tensor ε̇ = ḣ h⁻¹ instead of the raw cell velocity, fixing barostat dynamics for constant-pressure simulations.

Notability

notability 3.0/10

Routine minor release of toolkit.