Garden's Almanac of Matter Models | Checkpoint | Params | Polaris | Sophia | Perlmutter | Delta | Frontier | Della |
|---|---|---|---|---|---|---|---|
| escn-l6-m2-lay12-s2ef-oc20-all-md | ○ | ● | ● | ● | — | — | |
| escn-l6-m3-lay20-s2ef-oc20-all-md | 200M | ○ | ● | ● | ● | — | — |
| escn-l6-m2-lay12-s2ef-oc20-2m | ○ | ● | ● | ● | — | — | |
| escn-l4-m2-lay12-s2ef-oc20-2m | ○ | ● | ● | ● | — | — |
● 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="escn-l6-m2-lay12-s2ef-oc20-all-md",
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.
escn_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"""
17eSCN environment for Rootstock.
18
19Uses fairchem-core 1.x to access legacy OC20 eSCN checkpoints via
20OCPCalculator. These checkpoints are optimized for catalysis systems
21(slabs + adsorbates).
22
23Models:
24 - "eSCN-L6-M2-Lay12-S2EF-OC20-All+MD": default
25 - "eSCN-L6-M3-Lay20-S2EF-OC20-All+MD"
26 - "eSCN-L6-M2-Lay12-S2EF-OC20-2M"
27 - "eSCN-L4-M2-Lay12-S2EF-OC20-2M"
28"""
29
30CHECKPOINTS = {
31 "escn-l6-m2-lay12-s2ef-oc20-all-md": "eSCN-L6-M2-Lay12-S2EF-OC20-All+MD",
32 "escn-l6-m3-lay20-s2ef-oc20-all-md": "eSCN-L6-M3-Lay20-S2EF-OC20-All+MD",
33 "escn-l6-m2-lay12-s2ef-oc20-2m": "eSCN-L6-M2-Lay12-S2EF-OC20-2M",
34 "escn-l4-m2-lay12-s2ef-oc20-2m": "eSCN-L4-M2-Lay12-S2EF-OC20-2M",
35}
36
37
38def setup(checkpoint: str, device: str = "cuda"):
39 """
40 Load an eSCN OC20 calculator.
41
42 Args:
43 checkpoint: Canonical checkpoint id, must be a key of CHECKPOINTS.
44 device: PyTorch device string (e.g., "cuda", "cpu").
45
46 Returns:
47 ASE-compatible OCPCalculator.
48 """
49 import os
50 from fairchem.core import OCPCalculator
51 from fairchem.core.models.model_registry import model_name_to_local_file
52
53 cache_dir = os.environ.get("XDG_CACHE_HOME", os.path.expanduser("~/.cache"))
54 local_path = model_name_to_local_file(CHECKPOINTS[checkpoint], local_cache=cache_dir)
55 return OCPCalculator(checkpoint_path=local_path, cpu=(device == "cpu"))
56
Built on Polaris: 2026-05-12
Couldn't load the current environments from Rootstock.