@@ -6,7 +6,16 @@ nav_order: 3
66
77# Change Log
88
9- ## Unreleased
9+ ## 4.0.3
10+ - ** New: LAMMPS integration for TensorNet and M3GNet potentials (#815 ).** ` matgl.ext.lammps.LAMMPSMatGLModel `
11+ exports a PyG ` Potential ` to a TorchScript artifact (via the new ` mgl create-lammps-model ` CLI subcommand),
12+ consumed by a ` pair_matgl ` CPU pair style and a ` pair_matgl/kk ` Kokkos GPU pair style shipped under
13+ ` lammps/ ` . The export wrapper uses a kernel-composition pattern (` _TensorNetKernel ` / ` _M3GNetKernel ` )
14+ with the strain/autograd machinery in the outer module; M3GNet required pure-tensor, script-safe ports of
15+ the three-body indexer and basis (` create_line_graph_torch ` , ` _m3gnet_three_body_basis_torch ` ). Includes
16+ drop-in CMake snippets, build instructions, parity tests, and CI jobs. Single-GPU only for Kokkos
17+ (multi-rank Kokkos + libtorch is unreliable). Fixes a ghost-row folding bug that caused a ~ 30-42 eV energy
18+ gap vs the ASE calculator.
1019- ** Fix: ` SoftExponential ` activation autograd correctness and NaN safety (#788 ).** ` forward ` now selects
1120 its ` alpha < 0 ` / ` alpha > 0 ` / ` alpha ≈ 0 ` branches with ` torch.where ` instead of a Python ` if ` on the
1221 learnable ` alpha ` parameter. The old ` if self.alpha < 0.0 ` forced a host-device sync and dropped the
@@ -26,6 +35,19 @@ nav_order: 3
2635 (~ 19× at ` n_passes=20 ` on M3GNet, GPU). Numerically equivalent to the naive loop; engaged only when
2736 a probe proves the head is the model's terminal op, otherwise falls back automatically (e.g. CHGNet,
2837 which pools after dropout).
38+ - ** Fix: training checkpoints loadable under ` torch.load(weights_only=True) ` (#802 ).** ` ModelLightningModule `
39+ / ` PotentialLightningModule ` pickled optimizer/scheduler objects (and a numpy ` element_refs ` array) into
40+ the checkpoint hyperparameters, so resuming via ` Trainer.fit(ckpt_path=...) ` broke under torch ≥ 2.6's
41+ ` weights_only=True ` default. Optimizer/scheduler are now excluded from ` save_hyperparameters ` (their state
42+ is already in ` optimizer_states ` / ` lr_schedulers ` ) and ` element_refs ` is stored as a plain list.
43+ - ** Fix: silent mismatch between dataset and model element lists (#819 ).** Added a guard that reads
44+ ` element_types ` from the dataset's converter (the actual source that stamps ` graph.node_type ` ) and
45+ validates it against ` model.element_types ` , catching a common fine-tuning misconfiguration that
46+ previously failed silently.
47+ - ** Fix: load MatPES datasets from JSONL on Hugging Face.** ` MGLDatasetLoader ` now downloads the
48+ line-delimited ` .jsonl ` files (dataset and per-element atomrefs) that ` materialyze/matpes ` moved to;
49+ monty's ` loadfn ` parses them transparently.
50+ - ** New: stress warning added to ` JAXPESCalculator ` .**
2951
3052## 4.0.2
3153- ** Bug fix: charges restored for charge-predicting potentials (QET) in the ASE calculators.**
0 commit comments