Garden's Almanac of Matter Models | Checkpoint | Params | Polaris | Sophia | Perlmutter | Delta | Frontier | Della |
|---|---|---|---|---|---|---|---|
| gemnet-oc-large-s2ef-oc20-all-md | 168M | ○ | ○ | ○ | — | — | — |
| gemnet-oc-s2ef-oc20-all-md | 39M | ○ | ○ | ○ | — | — | — |
| gemnet-oc-s2ef-oc20-all | 39M | ○ | ○ | ○ | — | — | — |
| gemnet-dt-s2ef-oc20-all | 32M | ○ | ● | ● | — | — | — |
● 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="gemnet-oc-large-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.
gemnet_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"""
17GemNet environment for Rootstock.
18
19Uses fairchem-core 1.x to access legacy OC20 GemNet checkpoints via
20OCPCalculator. These checkpoints are optimized for catalysis systems
21(slabs + adsorbates), not general-purpose total-energy materials modeling.
22
23Models:
24 - "GemNet-OC-Large-S2EF-OC20-All+MD": GemNet-OC large, default
25 - "GemNet-OC-S2EF-OC20-All+MD": GemNet-OC All+MD
26 - "GemNet-OC-S2EF-OC20-All": GemNet-OC All
27 - "GemNet-dT-S2EF-OC20-All": GemNet-dT / GemNet-T All
28"""
29
30CHECKPOINTS = {
31 "gemnet-oc-large-s2ef-oc20-all-md": "GemNet-OC-Large-S2EF-OC20-All+MD",
32 "gemnet-oc-s2ef-oc20-all-md": "GemNet-OC-S2EF-OC20-All+MD",
33 "gemnet-oc-s2ef-oc20-all": "GemNet-OC-S2EF-OC20-All",
34 "gemnet-dt-s2ef-oc20-all": "GemNet-dT-S2EF-OC20-All",
35}
36
37
38def setup(checkpoint: str, device: str = "cuda"):
39 """
40 Load a GemNet 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.