Garden's Almanac of Matter Models | Checkpoint | Params | Polaris | Sophia | Perlmutter | Delta | Frontier | Della |
|---|---|---|---|---|---|---|---|
| mace-polar-1-s | ● | ● | ● | ● | ● | ● | |
| mace-polar-1-m | ● | ● | ● | ● | ● | ● | |
| mace-polar-1-l | ● | ● | ● | ● | ● | ● | |
| mace-polar:custom | ● | ● | — | — | ● | — |
● 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
4# this checkpoint accepts charge, spin and external_field
5atoms.info["charge"] = -1
6atoms.info["spin"] = 2
7atoms.info["external_field"] = [0, 0, 0.1]
8
9with RootstockCalculator(
10 cluster=YOUR_CLUSTER_ID, # eg, "polaris", "sophia"
11 checkpoint="mace-polar-1-s",
12 device="cuda",
13) as calc:
14 # model is now running in subprocess on compute node
15 atoms.calc = calc
16 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.
mace_polar_env.py
1# /// script
2# requires-python = ">=3.11"
3# dependencies = [
4# "ase>=3.22",
5# "torch>=2.4.0,<2.10",
6# # 0.3.16 is the first PyPI release with mace_polar().
7# "mace-torch>=0.3.16",
8# # PolarMACE imports graph_longrange at runtime; the distribution is named
9# # graph-longrange and exists only as this git repo (no PyPI release).
10# "graph-longrange @ git+https://github.com/WillBaldwin0/graph_electrostatics.git",
11# ]
12# ///
13"""MACE-POLAR env — electrostatic/polarizable MACE foundation models (OMol25).
14
15Kept separate from the stable `mace` env because of the extra git-only
16graph-longrange dependency.
17
18POLAR checkpoints expect `charge`, `spin`, and `external_field` in atoms.info.
19"""
20
21CHECKPOINTS = {
22 "mace-polar-1-s": "polar-1-s",
23 "mace-polar-1-m": "polar-1-m",
24 "mace-polar-1-l": "polar-1-l",
25 # Your own fine-tuned weights: pair with weights= (loaded via setup_from_path).
26 "mace-polar:custom": None,
27}
28
29
30def setup(checkpoint: str, device: str = "cuda"):
31 from mace.calculators import mace_polar
32
33 return mace_polar(model=CHECKPOINTS[checkpoint], device=device, default_dtype="float32")
34
35
36def setup_from_path(path: str, device: str = "cuda"):
37 # Custom checkpoints (`:custom` ids with user weights): mace_polar() accepts a
38 # weights file directly, keeping the PolarMACE model-type wiring.
39 from mace.calculators import mace_polar
40
41 return mace_polar(model=path, device=device, default_dtype="float32")
42
Built on Polaris: 2026-07-31
Couldn't load the current environments from Rootstock.