Change Log#

Version 0.3.0#

Breaking Changes#

  • PyTorch is now an optional dependency: Core codebase consists of framework-agnostic warp-lang kernels with PyTorch bindings in separate namespace (nvalchemiops.torch.*). You can install the minimum supported version of PyTorch via uv pip install nvalchemiops[torch].

  • Naive PBC cached metadata changed: public Torch and JAX naive neighbor-list workflows now cache shift_range_per_dimension, num_shifts_per_system, and max_shifts_per_system. shift_offset and total_shifts are no longer part of the public API for cached naive-PBC inputs.

Migration Guide#

Tip

If PyTorch is detected in the environment, existing imports will continue to work for the next few minor version increments, but will emit warnings to remind users to update import paths (shown below).

  • Core modules comprise the pure warp-lang kernels and launchers.

  • PyTorch neighbor lists: Change nvalchemiops.neighborlist.neighbor_list to nvalchemiops.torch.neighbors.neighbor_list

  • DFT-D3: Change from nvalchemiops.interactions.dispersion import dftd3 to from nvalchemiops.torch.interactions.dispersion import dftd3

  • Coulomb: Change from nvalchemiops.interactions.electrostatics import coulomb_energy to from nvalchemiops.torch.interactions.electrostatics import coulomb_energy

  • Ewald: Change from nvalchemiops.interactions.electrostatics import ewald_summation to from nvalchemiops.torch.interactions.electrostatics import ewald_summation

  • PME: Change from nvalchemiops.interactions.electrostatics import particle_mesh_ewald to from nvalchemiops.torch.interactions.electrostatics import particle_mesh_ewald

  • Utility functions: estimate_cell_list_sizes and estimate_batch_cell_list_sizes are now imported directly from nvalchemiops.torch.neighbors (previously nvalchemiops.neighborlist.neighbor_utils)

Version 0.2.0#

  • Bug fixes associated with neighbor list computation.

  • Added electrostatics interface.

Version 0.1.0#

  • Initial public beta release of nvalchemiops.