Garden's Almanac of Matter Models | Checkpoint | Params | Polaris | Sophia | Perlmutter | Delta | Frontier | Della |
|---|---|---|---|---|---|---|---|
| grace-2l-smax-omat-large | β | β | β | β | β | β | |
| grace-3l-omat-large-ft-am | 42.1M | β | β | β | β | β | β |
β verified, last 30 days β installed, not recently verified β not installed
No cluster has installed any checkpoint of this model yet.
Running this model
1# from a job or interactive session on a supported cluster:
2from rootstock import RootstockCalculator
3
4with RootstockCalculator(
5 cluster=YOUR_CLUSTER_ID, # eg, "polaris", "sophia"
6 checkpoint="grace-2l-smax-omat-large",
7 device="cuda",
8) as calc:
9 # model is now running in subprocess on compute node
10 atoms.calc = calc
11 atoms.get_potential_energy()
Environments
Rootstock runs each model family inside an isolated Python environment defined by a single file. This environment file includes the specific dependencies needed, plus a setup() function that loads the model and returns an ASE calculator. These files are usually almost identical for a given model family, but because of cluster-specific quirks (eg, an old CUDA driver) the dependencies and setup code can vary a bit.
grace_env.py
1# /// script
2# requires-python = ">=3.11"
3# dependencies = [
4# "tensorpotential>=0.6.0",
5# "ase>=3.22",
6# ]
7# ///
8"""GRACE env β hosts GRACE foundation checkpoints via tensorpotential.
9
10GRACE runs on TensorFlow, not torch. TPCalculator has no device argument:
11TF grabs whatever GPU it sees, so device selection happens via
12CUDA_VISIBLE_DEVICES, and both it and TF_USE_LEGACY_KERAS must be set
13before the first TF import. The first calculation triggers an XLA compile β
14a slow first step is expected.
15"""
16
17CHECKPOINTS = {
18 "grace-2l-smax-omat-large": "GRACE-2L-SMAX-OMAT-large",
19 "grace-3l-omat-large-ft-am": "GRACE-3L-OMAT-large-ft-AM",
20}
21
22
23def setup(checkpoint: str, device: str = "cuda"):
24 import os
25
26 os.environ["TF_USE_LEGACY_KERAS"] = "1"
27 if device == "cpu":
28 os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
29 elif device.startswith("cuda:"):
30 os.environ["CUDA_VISIBLE_DEVICES"] = device.split(":", 1)[1]
31
32 from tensorpotential.calculator import grace_fm
33
34 return grace_fm(CHECKPOINTS[checkpoint])
35
Built on Polaris: 2026-07-31
Couldn't load the current environments from Rootstock.