Skip to content

pip: bump nvalchemi-toolkit-ops from 0.2.0 to 0.3.1#1964

Open
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/pip/nvalchemi-toolkit-ops-0.3.1
Open

pip: bump nvalchemi-toolkit-ops from 0.2.0 to 0.3.1#1964
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/pip/nvalchemi-toolkit-ops-0.3.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 15, 2026

Bumps nvalchemi-toolkit-ops from 0.2.0 to 0.3.1.

Release notes

Sourced from nvalchemi-toolkit-ops's releases.

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.

v0.3.0 Release Notes

New Features

Molecular Dynamics Integrators and Geometry Optimization (#17)

GPU-accelerated MD integrators and geometry optimization are now available:

  • Velocity Verlet (NVE) — microcanonical ensemble
  • Langevin dynamics (NVT) — BAOAB splitting for optimal stability
  • Nosé-Hoover Chain (NVT) — deterministic thermostat
  • NPT/NPH ensembles — Martyna-Tobias-Klein barostat with dynamic cell fluctuations
  • Velocity rescaling — direct temperature control
  • FIRE2 optimizer — adaptive timestep geometry optimization with variable cell support

All integrators support both single-system and batched computation modes.

JAX Bindings (#24)

A new nvalchemiops.jax namespace provides JAX JIT-compatible wrappers for neighbor lists, electrostatics (Ewald, PME), DFT-D3 dispersion, splines, and batch utilities. Warp kernels are exposed via warp.jax_experimental.jax_kernel.

Note: Cell list operations that require runtime-dependent array allocation are not yet JIT-compatible. JAX autograd (differentiation) support is not yet implemented.

Damped Shifted Force (DSF) Electrostatics (#21)

... (truncated)

Changelog

Sourced from nvalchemi-toolkit-ops's changelog.

Changelog

0.3.0 - 2026-XX-XX

Breaking Changes

  • PyTorch is now an optional dependency: The previous PyTorch-based functionality has been moved to a separate nvalchemiops.torch namespace. See the hosted documentation for a detailed migration guide. Previous imports should still be supported, however will issue deprecation warnings. The old interfaces will be removed in an upcoming release.

Added

  • Framework-agnostic Warp kernel layer for all modules (neighbors, electrostatics, dispersion, math/spline) that operates directly on warp.array objects. A best effort to have interfaces that mirror their framework bindings is made, however due to differences in functionalities this may not always be possible.
  • Thin PyTorch bindings in nvalchemiops.torch.* that wrap the Warp kernels.
  • Deprecation warnings for old import paths to guide migration.
  • JAX bindings in nvalchemiops.jax.* that wrap the Warp kernels, providing support for neighbor lists, DFT-D3 dispersion, electrostatics (Coulomb, Ewald, PME), and splines with jax.jit compatibility.
  • GPU-accelerated molecular dynamics integrators with single-system and batched modes: Velocity Verlet (NVE), Langevin (NVT), Nosé-Hoover Chain (NVT), NPT, NPH, and Velocity Rescaling
  • FIRE (Fast Inertial Relaxation Engine) geometry optimizer with adaptive timestep, variable cell optimization, and cell filtering for constrained optimization
  • Lennard-Jones potential with GPU-accelerated energy, force, and virial computation integrated with neighbor lists
  • Batch processing utilities (nvalchemiops.batch_utils) with support for both batch_idx (ragged arrays) and atom_ptr (CSR format) including operations: batch_sum, batch_mean, batch_max, batch_min, batch_scale, batch_normalize, batch_gather, batch_scatter
  • Cell manipulation utilities including volume calculation, inverse, wrapping, alignment, and transformation
  • SHAKE and RATTLE constraint algorithms for bond length constraints and rigid molecules
Commits
  • 8f4ab23 0.3.1 rc docs (#70)
  • 4836469 CUDA 13 instructions (#68)
  • 7d0b325 Update init.py
  • 0144cf3 fix: use strain rate tensor in NPT/NPH drag and cell kinetic energy (#66)
  • 1164fd3 fix: support retain_graph=True in warp_custom_op backward (#64)
  • ec4b881 fix: detach charges and cell in PME reciprocal virial background corr… (#65)
  • 687aefb fix: add background energy virial correction for non-neutral Ewald/PME system...
  • 8bc0643 CUDA 13 support (#60)
  • 7b55c48 update README Key Features for v0.3.0 (#45)
  • bf593f5 Add testmon to CI testing (#55)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file minor Minor version release python Pull requests that update Python code labels Apr 15, 2026
@github-actions
Copy link
Copy Markdown

Original Dependabot description

Bumps nvalchemi-toolkit-ops from 0.2.0 to 0.3.1.

Release notes

Sourced from nvalchemi-toolkit-ops's releases.

v0.3.0 Release Notes

New Features

Molecular Dynamics Integrators and Geometry Optimization (#17)

GPU-accelerated MD integrators and geometry optimization are now available:

  • Velocity Verlet (NVE) — microcanonical ensemble
  • Langevin dynamics (NVT) — BAOAB splitting for optimal stability
  • Nosé-Hoover Chain (NVT) — deterministic thermostat
  • NPT/NPH ensembles — Martyna-Tobias-Klein barostat with dynamic cell fluctuations
  • Velocity rescaling — direct temperature control
  • FIRE2 optimizer — adaptive timestep geometry optimization with variable cell support

All integrators support both single-system and batched computation modes.

JAX Bindings (#24)

A new nvalchemiops.jax namespace provides JAX JIT-compatible wrappers for neighbor lists, electrostatics (Ewald, PME), DFT-D3 dispersion, splines, and batch utilities. Warp kernels are exposed via warp.jax_experimental.jax_kernel.

Note: Cell list operations that require runtime-dependent array allocation are not yet JIT-compatible. JAX autograd (differentiation) support is not yet implemented.

Damped Shifted Force (DSF) Electrostatics (#21)

A new O(N) electrostatics method is available via nvalchemiops.torch.dsf and nvalchemiops.jax.dsf:

  • Full PBC and virial stress tensor support
  • CSR and dense neighbor matrix formats
  • Charge gradient support via straight-through estimator for MLIP training
  • Benchmarks show ~80× speedup over PME at 54k atoms; scales to 195k atoms where Ewald/PME encounter memory limits

Differentiable Virial for Ewald and PME (#20)

Ewald and PME now support analytical stress tensor computation via a new compute_virial parameter. Virial is computed in the forward pass and attached to the autograd tape, enabling stress-based loss functions for MLIP training. Typical overhead: +5–12% for Ewald, +8–27% for PME.

compute_charge_gradients in ewald_summation (#27)

The high-level ewald_summation() now accepts compute_charge_gradients=True, forwarding it to both ewald_real_space() and ewald_reciprocal_space() components. Previously only available via the low-level APIs.

GPU-Side Batch Rebuild Detection and Selective Skip (#38)

Per-system neighbor list rebuild detection now runs entirely on the GPU with no CPU–GPU synchronization:

  • batch_neighbor_list_needs_rebuild() and batch_cell_list_needs_rebuild() return per-system boolean flags
  • All neighbor list APIs (naive, batch_naive, cell_list, batch_cell_list) accept an optional rebuild_flags tensor to skip non-rebuilding systems at the kernel level
  • Available in PyTorch and JAX bindings

Breaking Changes

... (truncated)

Changelog

Sourced from nvalchemi-toolkit-ops's changelog.

Changelog

0.3.0 - 2026-XX-XX

Breaking Changes

  • PyTorch is now an optional dependency: The previous PyTorch-based functionality has been moved to a separate nvalchemiops.torch namespace. See the hosted documentation for a detailed migration guide. Previous imports should still be supported, however will issue deprecation warnings. The old interfaces will be removed in an upcoming release.

Added

  • Framework-agnostic Warp kernel layer for all modules (neighbors, electrostatics, dispersion, math/spline) that operates directly on warp.array objects. A best effort to have interfaces that mirror their framework bindings is made, however due to differences in functionalities this may not always be possible.
  • Thin PyTorch bindings in nvalchemiops.torch.* that wrap the Warp kernels.
  • Deprecation warnings for old import paths to guide migration.
  • JAX bindings in nvalchemiops.jax.* that wrap the Warp kernels, providing support for neighbor lists, DFT-D3 dispersion, electrostatics (Coulomb, Ewald, PME), and splines with jax.jit compatibility.
  • GPU-accelerated molecular dynamics integrators with single-system and batched modes: Velocity Verlet (NVE), Langevin (NVT), Nosé-Hoover Chain (NVT), NPT, NPH, and Velocity Rescaling
  • FIRE (Fast Inertial Relaxation Engine) geometry optimizer with adaptive timestep, variable cell optimization, and cell filtering for constrained optimization
  • Lennard-Jones potential with GPU-accelerated energy, force, and virial computation integrated with neighbor lists
  • Batch processing utilities (nvalchemiops.batch_utils) with support for both batch_idx (ragged arrays) and atom_ptr (CSR format) including operations: batch_sum, batch_mean, batch_max, batch_min, batch_scale, batch_normalize, batch_gather, batch_scatter
  • Cell manipulation utilities including volume calculation, inverse, wrapping, alignment, and transformation
  • SHAKE and RATTLE constraint algorithms for bond length constraints and rigid molecules
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@meta-cla meta-cla Bot added the cla signed label Apr 15, 2026
@dependabot dependabot Bot force-pushed the dependabot/pip/nvalchemi-toolkit-ops-0.3.1 branch from 970be81 to 4aabb65 Compare April 15, 2026 23:26
Bumps [nvalchemi-toolkit-ops](https://github.com/NVIDIA/nvalchemi-toolkit-ops) from 0.2.0 to 0.3.1.
- [Release notes](https://github.com/NVIDIA/nvalchemi-toolkit-ops/releases)
- [Changelog](https://github.com/NVIDIA/nvalchemi-toolkit-ops/blob/main/CHANGELOG.md)
- [Commits](https://github.com/NVIDIA/nvalchemi-toolkit-ops/commits)

---
updated-dependencies:
- dependency-name: nvalchemi-toolkit-ops
  dependency-version: 0.3.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/pip/nvalchemi-toolkit-ops-0.3.1 branch from 4aabb65 to 7d64ba1 Compare April 18, 2026 00:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla signed dependencies Pull requests that update a dependency file minor Minor version release python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants