YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Frost
Incremental GNN inference for geometric rollouts
Edge-local caching with conservative-by-construction staleness, for machine-learned interatomic potentials and learned physics simulators.
The idea
Machine-learned interatomic potentials are accurate to tens of meV/Ã… against their DFT reference. Every production engine evaluates them to floating-point precision, a million times per nanosecond, uniformly across every atom whether or not its local environment changed. The gap between what the model is worth and what the arithmetic delivers spans four to five orders of magnitude, and it is currently spent on nothing.
Frost claims that gap. It treats the message-passing state of a rollout GNN as a cache whose invalidation predicate comes from the physics of atomic motion rather than from a heuristic, and whose staleness is conservative by construction, so energy drift admits a proved bound rather than an empirical hope.
Three moves make it work:
| Move | What it buys |
|---|---|
| Cache edges, not nodes | Layer-1 staleness propagates nowhere. Node-level caching provably saturates. |
| Propagate error, not flags | The effective closure radius collapses far below M × r_c. |
| Differentiate through the cache | Forces stay the exact gradient of a well-defined surrogate energy. |
The full design is in docs/design/Frost.pdf. The
implementation plan, including everything measured so far, is in
docs/design/plan.md.
Status
Pre-alpha. The runtime is not built yet. What exists is a verified toolchain and the week-0 measurements that decide whether building it is worthwhile.
Four of the design's structural claims are already confirmed on the real deployed MACE-MP-0 checkpoint:
| Claim | Measured |
|---|---|
| Zero closure at layer 1 (Prop. 3.4) | one moved atom changes exactly its 92 incident edge rows, and no others |
| Closure saturation (Thm. 3.2) | the same perturbation dirties 52% of atoms at layer 2 |
| Zeroth-order caching deletes forces (Thm. 6.1) | 67.7% of the force RMS wrong at zero displacement, flat to a factor of 1.00 |
| First-order caching is a true perturbation (Thm. 6.2) | exact at zero, then scaling exponent 1.00 |
Reproduce them with python experiments/probes/probe_zero_closure.py and
python experiments/probes/probe_force_error.py.
Quick start
Frost needs two environments, because mace-torch pins e3nn==0.4.4 and
nequip requires e3nn>=0.6. See CONTRIBUTING.md for the
full setup.
source scripts/env.sh mace # or: nequip
./scripts/verify.sh # 36 checks, must be 0 failures
./scripts/status.sh # what is installed and downloaded
python -m frost.systems # build the simulation cells
python experiments/probes/probe_force_error.py # confirm Thm. 6.1 and 6.2
pytest -q # unit and integration tests
Fetch data in tiers, resumably:
python scripts/fetch_data.py --list
python scripts/fetch_data.py --tier A
Layout
src/frost/ the runtime
cache.py edge cache: SoA storage, hashing, generation counters
predicate.py invalidation; the sensitivity table
edgekey.py periodic edge identity and displacement continuity
systems.py the simulation cells, built from script
shims/ one adapter per architecture (~100 lines each)
kernels/ fused predicate + gather; Triton affine-cache evaluation
integrations/ ASE, TorchSim, LAMMPS surfaces
analysis/ metrics, drift fitting, plotting
experiments/ pre-registered, one package per experiment id
probes/ week-0 theorem checks
e1_redundancy/ the Gate 1 measurement
benchmarks/ timing harnesses and baseline parity
tests/{unit,integration,gpu}
scripts/ env, verify, status, data fetch, third-party builds
configs/{env,systems,experiments}
docs/{design,guides}
data/ models, datasets, logs, results (gitignored)
third_party/ vendored reference implementations (gitignored)
Non-goals
Frost is not a new MLIP architecture and trains no models; it consumes pretrained checkpoints unmodified. It is not a replacement for kernel-level acceleration — cuEquivariance, FlashTP and OpenEquivariance make each tensor product cheaper, Frost decides which ones to evaluate, and the two compose multiplicatively. It makes no claim to improve accuracy: the best possible outcome is that it is indistinguishable from exact evaluation at lower cost.
Licence
MIT, matching TorchSim, so that upstreaming is frictionless. See LICENSE.