Garden's Almanac of Matter Models

UMA

January 2025

Checkpoint Params Polaris Sophia Perlmutter Delta Frontier Della
uma-s-1p1 150M ○●●●●●
uma-s-1p2 290M ——●●●●
uma-m-1p1 1.4B —●●○●●
uma:custom β€”β€”β€”β€”β€”β€”
● verified, last 30 days β—‹ installed, not recently verified β€” not installed

No cluster has installed any checkpoint of this model yet.


Running this model

This model has task heads. You can select which output layer is active at inference time with setup_kwargs={"task": "omat"}.

Task head Trained against
omat default OMat24 β€” inorganic crystals
omol OMol25 β€” molecules
oc20 OC20 β€” surfaces/interfaces
odac ODAC23 β€” surfaces/interfaces (MOF frameworks + adsorbates)
omc OMC25 β€” molecular crystals
1# from a job or interactive session on a supported cluster:
2from rootstock import RootstockCalculator
3
4# this model accepts charge and spin
5atoms.info["charge"] = -1
6atoms.info["spin"] = 2
7
8with RootstockCalculator(
9 cluster=YOUR_CLUSTER_ID, # eg, "sophia", "perlmutter"
10 checkpoint="uma-s-1p1",
11 device="cuda",
12 setup_kwargs={"task": "omol"}, # select a head
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.

uma_env.py
1# /// script
2# requires-python = ">=3.10,<3.11"
3# dependencies = [
4# "torch>=2.4.0",
5# "fairchem-core>=2.0.0",
6# "ase>=3.22",
7# "torch-geometric",
8# ]
9#
10# [tool.uv]
11# find-links = ["https://data.pyg.org/whl/torch-2.4.0+cu121.html"]
12# ///
13"""UMA env β€” hosts Meta's UMA foundation model via FAIRChem."""
14
15CHECKPOINTS = {
16 "uma-s-1p1": "uma-s-1p1",
17}
18
19
20def setup(checkpoint: str, device: str = "cuda", task: str = "omat"):
21 from fairchem.core import FAIRChemCalculator, pretrained_mlip
22
23 predictor = pretrained_mlip.get_predict_unit(CHECKPOINTS[checkpoint], device=device)
24 return FAIRChemCalculator(predictor, task_name=task)
25

Built on Polaris: 2026-05-12

Couldn't load the current environments from Rootstock.


References
  1. Wood, Brandon M., Dzamba, Misko, Fu, Xiang, Gao, Meng, Shuaibi, Muhammed, Barroso-Luque, Luis, Abdelmaqsoud, Kareem, Gharakhanyan, Vahe, Kitchin, John R., Levine, Daniel S., Michel, Kyle, Sriram, Anuroop, Cohen, Taco, Das, Abhishek, Rizvi, Ammar, Sahoo, Sushree Jagriti, Ulissi, Zachary W., Zitnick, C. Lawrence, UMA: A Family of Universal Models for Atoms, arXiv, 2025.