Garden's Almanac of Matter Models

ANI

June 2020

Checkpoint Params Polaris Sophia Perlmutter Delta Frontier Della
ani-2x
ani-1ccx
ani-1x
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, "polaris", "sophia"
6 checkpoint="ani-2x",
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.

polaris-ani_env.py
1# /// script
2# requires-python = ">=3.11"
3# dependencies = [
4# "torchani>=2.2",
5# "ase>=3.22",
6# "torch>=2.0",
7# ]
8#
9# [tool.uv.sources]
10# torch = { index = "pytorch-cu128" }
11#
12# [[tool.uv.index]]
13# name = "pytorch-cu128"
14# url = "https://download.pytorch.org/whl/cu128"
15# explicit = true
16# ///
17"""
18ANI-2x environment for Rootstock — Polaris variant.
19
20Identical to ani.py except torch is pinned to the cu128 index: Polaris's
21driver stack tops out at CUDA 12.8, and the default PyPI torch wheel is
22built against a newer CUDA, so cuda init fails at setup() (smoke-test
232026-08-04). Sophia keeps the unrestricted env.
24
25ANI-2x is a neural network potential for organic molecules containing
26H, C, N, O, F, S, Cl. It is not a universal potential — do not use it
27for inorganic or periodic systems.
28
29Models:
30 - "ANI2x": ANI-2x ensemble (default, 8 networks)
31 - "ANI1ccx": ANI-1ccx, trained on CCSD(T)/CBS data (H, C, N, O only)
32 - "ANI1x": ANI-1x (H, C, N, O only)
33"""
34
35CHECKPOINTS = {
36 "ani-2x": "ANI2x",
37 "ani-1ccx": "ANI1ccx",
38 "ani-1x": "ANI1x",
39}
40
41CLUSTERS = ["polaris"]
42
43
44def setup(checkpoint: str, device: str = "cuda"):
45 """
46 Load an ANI calculator.
47
48 Args:
49 checkpoint: Canonical checkpoint id, must be a key of CHECKPOINTS.
50 device: PyTorch device string (e.g., "cuda", "cpu").
51
52 Returns:
53 ASE-compatible calculator.
54 """
55 import torchani
56
57 model_map = {
58 "ANI2x": torchani.models.ANI2x,
59 "ANI1ccx": torchani.models.ANI1ccx,
60 "ANI1x": torchani.models.ANI1x,
61 }
62 model = CHECKPOINTS[checkpoint]
63
64 return model_map[model](periodic_table_index=True).to(device).ase()
65

Built on Polaris: 2026-08-05

Couldn't load the current environments from Rootstock.


References
  1. Devereux, Christian, Smith, Justin S., Huddleston, Kate K., Barros, Kipton, Zubatyuk, Roman, Isayev, Olexandr, Roitberg, Adrian E., Extending the Applicability of the ANI Deep Learning Molecular Potential to Sulfur and Halogens, Journal of Chemical Theory and Computation, 2020.