Garden's Almanac of Matter Models

EquiformerV2

January 2023

Checkpoint Params Polaris Sophia Perlmutter Delta Frontier Della
equiformer-v2-153m-s2ef-oc20-all-md 153M
equiformer-v2-31m-s2ef-oc20-all-md 31M
equiformer-v2-83m-s2ef-oc20-2m 83M
eqv2-31m-mp 31M
eqv2-31m-omat 31M
eqv2-86m-omat 86M
eqv2-153m-omat 153M
eqv2-31m-omat-mp-salex 31M
eqv2-86m-omat-mp-salex 86M
eqv2-153m-omat-mp-salex 153M
eqv2-dens-31m-mp 31M
eqv2-dens-86m-mp 86M
eqv2-dens-153m-mp 153M
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="equiformer-v2-153m-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.

equiformer_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"""
17EquiformerV2 environment for Rootstock.
18
19Uses fairchem-core 1.x to access legacy OC20 EquiformerV2 checkpoints via
20OCPCalculator. These checkpoints are optimized for catalysis systems
21(slabs + adsorbates).
22
23Models:
24 - "EquiformerV2-153M-S2EF-OC20-All+MD": default
25 - "EquiformerV2-31M-S2EF-OC20-All+MD"
26 - "EquiformerV2-83M-S2EF-OC20-2M"
27"""
28
29CHECKPOINTS = {
30 "equiformer-v2-153m-s2ef-oc20-all-md": "EquiformerV2-153M-S2EF-OC20-All+MD",
31 "equiformer-v2-31m-s2ef-oc20-all-md": "EquiformerV2-31M-S2EF-OC20-All+MD",
32 "equiformer-v2-83m-s2ef-oc20-2m": "EquiformerV2-83M-S2EF-OC20-2M",
33}
34
35
36def setup(checkpoint: str, device: str = "cuda"):
37 """
38 Load an EquiformerV2 OC20 calculator.
39
40 Args:
41 checkpoint: Canonical checkpoint id, must be a key of CHECKPOINTS.
42 device: PyTorch device string (e.g., "cuda", "cpu").
43
44 Returns:
45 ASE-compatible OCPCalculator.
46 """
47 import os
48 from fairchem.core import OCPCalculator
49 from fairchem.core.models.model_registry import model_name_to_local_file
50
51 cache_dir = os.environ.get("XDG_CACHE_HOME", os.path.expanduser("~/.cache"))
52 local_path = model_name_to_local_file(CHECKPOINTS[checkpoint], local_cache=cache_dir)
53 return OCPCalculator(checkpoint_path=local_path, cpu=(device == "cpu"))
54

Built on Polaris: 2026-05-12

Couldn't load the current environments from Rootstock.


References
  1. Liao, Yi-Lun, Wood, Brandon, Das, Abhishek, Smidt, Tess, EquiformerV2: Improved Equivariant Transformer for Scaling to Higher-Degree Representations, arXiv, 2023.