Garden's Almanac of Matter Models ● 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, "sophia", "perlmutter"
6 checkpoint="painn-s2ef-oc20-all",
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.
painn_env.py
1# /// script
2# requires-python = ">=3.10,<3.11"
3# dependencies = [
4# "torch>=2.4.0",
5# "fairchem-core>=1.0.0,<2.0.0",
6# "ase>=3.22",
7# "torch-geometric",
8# "torch-scatter",
9# "torch-sparse",
10# "torch-cluster",
11# ]
12#
13# [tool.uv]
14# find-links = ["https://data.pyg.org/whl/torch-2.4.0+cu121.html"]
15# ///
16"""
17PaiNN environment for Rootstock.
18
19Uses fairchem-core 1.x to access legacy OC20 PaiNN checkpoints via
20OCPCalculator. These checkpoints are optimized for catalysis systems
21(slabs + adsorbates).
22
23Models:
24 - "PaiNN-S2EF-OC20-All": default
25"""
26
27CHECKPOINTS = {
28 "painn-s2ef-oc20-all": "PaiNN-S2EF-OC20-All",
29}
30
31
32def setup(checkpoint: str, device: str = "cuda"):
33 """
34 Load a PaiNN OC20 calculator.
35
36 Args:
37 checkpoint: Canonical checkpoint id, must be a key of CHECKPOINTS.
38 device: PyTorch device string (e.g., "cuda", "cpu").
39
40 Returns:
41 ASE-compatible OCPCalculator.
42 """
43 import os
44 from fairchem.core import OCPCalculator
45 from fairchem.core.models.model_registry import model_name_to_local_file
46
47 cache_dir = os.environ.get("XDG_CACHE_HOME", os.path.expanduser("~/.cache"))
48 local_path = model_name_to_local_file(CHECKPOINTS[checkpoint], local_cache=cache_dir)
49 return OCPCalculator(checkpoint_path=local_path, cpu=(device == "cpu"))
50
Built on Polaris: 2026-05-12
Couldn't load the current environments from Rootstock.