Garden's Almanac of Matter Models

MACE-MPA-0

December 2024

Checkpoint Params Polaris Sophia Perlmutter Delta Frontier Della
mace-mpa-0-medium 9.06M
mace: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
4with RootstockCalculator(
5 cluster=YOUR_CLUSTER_ID, # eg, "delta"
6 checkpoint="mace-mpa-0-medium",
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.

mace_env.py
1# /// script
2# requires-python = ">=3.11"
3# dependencies = [
4# # >=0.3.16: mace_mp() grew the loader keys for the newer foundation
5# # models (mpa-0, omat-0, matpes, 0b3, mh) added 2026-07-30.
6# "mace-torch>=0.3.16",
7# "ase>=3.22",
8# "torch>=2.4.0,<2.10",
9# ]
10# ///
11"""MACE env — hosts the MACE foundation models (MP/MPA/OMAT/MATPES/MH + OFF23).
12
13All ship in the same `mace-torch` package, so they share an environment.
14The `off:` prefix on the upstream string in CHECKPOINTS routes to mace_off()
15instead of mace_mp(). Catalog: https://github.com/ACEsuit/mace-foundations
16(the intermediate MP-0b/0b2 revisions are deliberately not listed — 0b3
17supersedes them).
18"""
19
20CHECKPOINTS = {
21 "mace-mp-0-small": "small",
22 "mace-mp-0-medium": "medium",
23 "mace-mp-0-large": "large",
24 # Latest MP-0 revision (fixes phonons vs 0b2, pair repulsion vs 0a).
25 "mace-mp-0b3-medium": "medium-0b3",
26 # MPtrj+sAlex training set; upstream default and Matbench SOTA.
27 "mace-mpa-0-medium": "medium-mpa-0",
28 # OMat24-trained, best phonons.
29 "mace-omat-0-small": "small-omat-0",
30 "mace-omat-0-medium": "medium-omat-0",
31 # MatPES-trained: PBE without +U, and r2SCAN.
32 "mace-matpes-pbe-0-medium": "mace-matpes-pbe-0",
33 "mace-matpes-r2scan-0-medium": "mace-matpes-r2scan-0",
34 # MACE-MH: cross-domain (surfaces/bulk/molecules), single size each.
35 # Multi-head models — see MULTI_HEAD_DEFAULT_HEAD below.
36 "mace-mh-0": "mh-0",
37 "mace-mh-1": "mh-1",
38 "mace-off23-small": "off:small",
39 "mace-off23-medium": "off:medium",
40 "mace-off23-large": "off:large",
41 # Your own fine-tuned weights: pair with weights= (loaded via setup_from_path).
42 "mace-mp:custom": None,
43 "mace-off23:custom": None,
44}
45
46
47# The MACE-MH models are multi-head: MACECalculator refuses to load them
48# without a `head=` selecting the training fidelity (available heads incl.
49# omat_pbe, mp_pbe_refit_add, matpes_r2scan, omol, spice_wB97M, ...).
50# Default to omat_pbe — the universal-materials head, consistent with the
51# omat lineage elsewhere in the catalog — so no-kwarg paths (sync, plain
52# `rootstock add`) keep working. Override at runtime via
53# setup_kwargs={"head": ...} (or --kwarg head=... for `rootstock add`);
54# single-head models take no head. (Same pattern as sevennet's `modal`.)
55MULTI_HEAD_DEFAULT_HEAD = {
56 "mh-0": "omat_pbe",
57 "mh-1": "omat_pbe",
58}
59
60
61def setup(checkpoint: str, device: str = "cuda", head: str | None = None):
62 arg = CHECKPOINTS[checkpoint]
63 if arg.startswith("off:"):
64 from mace.calculators import mace_off
65
66 return mace_off(model=arg[4:], device=device, default_dtype="float32")
67 from mace.calculators import mace_mp
68
69 kwargs = {}
70 head = head or MULTI_HEAD_DEFAULT_HEAD.get(arg)
71 if head is not None:
72 kwargs["head"] = head
73 return mace_mp(model=arg, device=device, default_dtype="float32", **kwargs)
74
75
76def setup_from_path(path: str, device: str = "cuda"):
77 # Custom checkpoints (`:custom` ids with user weights): fine-tunes load through
78 # MACECalculator directly — the mp/off dispatch in setup() only exists
79 # to pick which pretrained file to download.
80 from mace.calculators import MACECalculator
81
82 return MACECalculator(model_paths=path, device=device, default_dtype="float32")
83

Built on Delta: 2026-07-31

Couldn't load the current environments from Rootstock.


References
  1. Batatia, Ilyes, Benner, Philipp, Chiang, Yuan, Elena, Alin M., Kovács, Dávid P., Riebesell, Janosh, Advincula, Xavier R., Asta, Mark, Avaylon, Matthew, Baldwin, William J., Berger, Fabian, Bernstein, Noam, Bhowmik, Arghya, Bigi, Filippo, Blau, Samuel M., Cărare, Vlad, Ceriotti, Michele, Chong, Sanggyu, Darby, James P., De, Sandip, Della Pia, Flaviano, Deringer, Volker L., Elijošius, Rokas, El-Machachi, Zakariya, Falcioni, Fabio, Fako, Edvin, Ferrari, Andrea C., Gardner, John L. A., Gawkowski, Mikolaj J., Genreith-Schriever, Annalena, George, Janine, Goodall, Rhys E. A., Grandel, Jonas, Grey, Clare P., Grigorev, Petr, Han, Shuang, Handley, Will, Heenen, Hendrik H., Hermansson, Kersti, Holm, Christian, Ho, Cheuk Hin, Hofmann, Stephan, Jaafar, Jad, Jakob, Konstantin S., Jung, Hyunwook, Kapil, Venkat, Kaplan, Aaron D., Karimitari, Nima, Kermode, James R., Kourtis, Panagiotis, Kroupa, Namu, Kullgren, Jolla, Kuner, Matthew C., Kuryla, Domantas, Liepuoniute, Guoda, Lin, Chen, Margraf, Johannes T., Magdău, Ioan-Bogdan, Michaelides, Angelos, Moore, J. Harry, Naik, Aakash A., Niblett, Samuel P., Norwood, Sam Walton, O'Neill, Niamh, Ortner, Christoph, Persson, Kristin A., Reuter, Karsten, Rosen, Andrew S., Rosset, Louise A. M., Schaaf, Lars L., Schran, Christoph, Shi, Benjamin X., Sivonxay, Eric, Stenczel, Tamás K., Svahn, Viktor, Sutton, Christopher, Swinburne, Thomas D., Tilly, Jules, van der Oord, Cas, Vargas, Santiago, Varga-Umbrich, Eszter, Vegge, Tejs, Vondrák, Martin, Wang, Yangshuai, Witt, William C., Wolf, Thomas, Zills, Fabian, Csányi, Gábor, A foundation model for atomistic materials chemistry, arXiv, 2024.