DPA4C-OMol25-100M provides a series of DPA4C machine-learning interatomic
potentials trained on the OMol25 100M split. DPA4C is the compact,
compressible member of the DPA4 family. The models are conservative, span the
full periodic table, and are intended for molecular systems within the
chemical space covered by OMol25. Each local environment is read once, there
is no message-passing state, and the compressed CUDA path replaces the
analytic radial functions with tabulated splines.
Overview
General information:
Item
Value
Architecture
DPA4C
Backend
PyTorch Exportable (dp --pt-expt)
Precision
float32
Elements
Full periodic table (H–Og)
Cutoff radius
6.0 Å
Training data
OMol25 100M (101,666,280 frames)
Validation data
OMol25 (2,762,021 frames)
Trained with
DeePMD-kit 3.2.0, PyTorch 2.11 / CUDA 12.8
Released files:
A release is identified by a date-based <version>
carried in the file name, so additional sizes or re-trained checkpoints of an
existing size can be published alongside earlier ones. Each release provides,
for every variant, a checkpoint and its training configuration:
File
Description
DPA4C-<Variant>-OMol25-100M-<version>.pt
Model checkpoint.
DPA4C-<Variant>-OMol25-100M-<version>.json
Training configuration.
Architecture, hyperparameters, and parameter counts are in the released
.json. The architecture is described in the
DeePMD-kit DPA4C documentation.
The models predict atomic energies, from which forces are obtained by
differentiation:
The descriptor is one-hop local: an atom's features depend only on neighbors
within rcut. Frame-level total charge and spin multiplicity condition the
descriptor through FiLM.
Validation
Results on the OMol25 OMol-0 out-of-distribution composition validation
split. Energy and force are MAEs. Lower errors and lower training cost are
preferred.
Model
Energyᵃ
Forceᵃ
Params
Training hoursᵇ
eSEN-sm-cons.
1.77
0.190
6.3M
–
MACE-OMol-L-0
4.56
0.250
–
–
DPA4-Nano
8.02
0.776
0.480M
283.2
DPA4-Mini
4.97
0.502
0.655M
656.3
DPA4C series
DPA4C-Nano
40.97
2.485
0.035M
33.6
DPA4C-Mini
28.58
1.881
0.200M
56.7
DPA4C-Neo
24.74
1.731
0.539M
91.2
DPA4C-Air
21.37
1.597
0.630M
142.1
DPA4C-Plus
16.77
1.383
2.189M
340.9
ᵃ Mean absolute errors: kcal/mol for total energy, kcal/mol/Å for
forces. Values originally reported in meV and meV/Å are converted with
1 meV = 0.0230605 kcal/mol.
ᵇ Total training cost in H20 GPU-hours. A dash means no comparable
total is available.
Usage
DPA4C runs on the PyTorch Exportable backend (dp --pt-expt). Export uses
.pt2 (AOTInductor). Usage follows the
DeePMD-kit DPA4C documentation.
In the commands below, replace <version> with the release date and
<Variant> with the model variant.
Installation
DPA4C is available in the DeePMD-kit main branch (version 3.2.0). Add the
official install skill and let an agent perform the installation:
For offline or backend-specific installation, see the
DeePMD-kit installation guide.
Compression and the fused CUDA inference path require CUDA.
Evaluate a checkpoint
dp --pt-expt test -m DPA4C-<Variant>-OMol25-100M-<version>.pt -s /path/to/test/system -n 1000
Freeze and compress for deployment
Compression is the deployment step. It replaces the analytic radial functions
and their type-pair modulation with tabulated splines evaluated by fused CUDA
kernels, and re-exports the model in the compact canonical graph form that the
fast inference path consumes. Because the radial map is analytically bounded
and vanishes at rcut, the table needs no extrapolation region and no overflow
checking.
Freeze the released checkpoint, then compress the frozen archive:
The two archives are not interchangeable. frozen_model.pt2 carries the plain
graph lower and is the uncompressed intermediate; compressed_model.pt2
carries the compact canonical graph lower and is what you deploy. Compression
selects that lower on its own, so it takes no lower-kind option of its own.
Only -s, --step applies to DPA4C; it sets the uniform spline spacing in Å, and
a smaller value means a finer table and a larger model.
The .pt2 is an AOTInductor archive and is target-specific. Freeze and
compress on the target machine rather than reusing a .pt2 across different
hardware.
Compression requires the PyTorch Exportable backend on CUDA,
precision: "float32", and channels / lmax / radial_modes inside the
compiled sets listed under
Intended use and limitations.
All released sizes satisfy these constraints.
Inference settings
Inference behavior is controlled by environment variables read when the model
is constructed. Set them before running dp --pt-expt freeze or
dp --pt-expt compress. The exported .pt2 is an AOTInductor artifact, so the
precision policy is captured into the graph at export time and is not
re-evaluated when the .pt2 is later loaded by LAMMPS or ASE.
Environment variable
Default
Effect
DP_AMP_INFER
off
bf16 autocast over the per-edge stage during inference. Independent of the training-time use_amp.
For molecular dynamics sensitive to the smoothness of the potential energy
surface, keep DP_TF32_INFER=0 and DP_AMP_INFER=0.
Run in LAMMPS
DPA4C uses the PyTorch .pt2 export path and is served by the deepmd pair
style:
lammps
1atom_modify map yes
2pair_style deepmd compressed_model.pt2
3pair_coeff * * O H
atom_modify map yes is required: .pt2 graph inference relies on an explicit
ghost/periodic-image to local-atom map, and the Kokkos pair style fails fast if
the map is absent. Keep the type_map order consistent across the released
input file and the pair_coeff mapping.
The compact canonical graph form exists so that the whole step can stay on the
device. Only the Kokkos pair styles use that device-resident entry point; the
host styles run the same archive through a per-step host round trip. Reaching
DPA4C's advertised throughput therefore takes a Kokkos-enabled LAMMPS build on
the GPU backend together with the compressed archive. Compression already
enables the fused CUDA path.
Pair style
Build
Accepted archive
Execution
deepmd
any
graph lower or compressed
host round trip each step
deepmd/kk
Kokkos, GPU backend only
graph lower or compressed
device-resident; compressed uses fused kernels
Run under Kokkos with one GPU:
lmp -k on g 1 -sf kk -in in.lammps
Because DPA4C performs no message passing, it needs no cross-rank halo exchange
of intermediate features, and MPI domain decomposition follows the ordinary
pair-style path. Launch one MPI rank per GPU and make every target device
visible:
CUDA_VISIBLE_DEVICES=0,1,2,3 mpirun -np 4 lmp -k on g 1 -sf kk -in in.lammps
Use a non-zero neighbor skin, for example neighbor 2.0 bin, to keep per-step
GPU memory stable; a zero skin rebuilds the neighbor list every step.
Run with ASE
OMol-style models read the frame-level total charge and spin multiplicity from
atoms.info["charge_spin"]. If the field is omitted, the model uses the
default [0, 1] (neutral singlet).
Start from the corresponding released input file and keep the entire model
section unchanged — descriptor, fitting net, the full-periodic-table
type_map, and the charge/spin conditioning. Replace only the
training/validation data and use a small learning rate (e.g. start_lr = 1e-4):
Intended for energy and force prediction of molecular systems within the
chemistry and configuration space covered by OMol25, including variable
charge and spin multiplicity, and for large-scale molecular dynamics where
throughput rather than the last increment of accuracy is the binding
constraint. Accuracy outside this domain should be validated before use.
PyTorch Exportable backend only (dp --pt-expt); export is .pt2
(AOTInductor).
The descriptor is one-hop local by construction. Interactions beyond rcut
are not represented.
The default charge/spin condition is [0, 1]. In ASE, set
atoms.info["charge_spin"] to the physical [charge, multiplicity].
Model compression requires CUDA, float32, and a configuration inside the
compiled sets (channels in {8, 16, 32, 64, 128}, lmax in {2, 3, 4},
radial_modes in {0, 2, 4, 8}). All released sizes satisfy these
constraints.
The device-resident inference path requires a Kokkos-enabled LAMMPS build on
the GPU backend and the compressed archive.
Citation
If you use these models, please cite the DPA4C paper and DeePMD-kit, and
acknowledge the OMol25 dataset.
bibtex
1@article{li2026dpa4c,
2 title = {Universal Machine-learning Molecular Dynamics at the Speed
3 of Empirical Potentials},
4 author = {Li, Tiancheng and Xue, Jianming and Zhang, Linfeng and
5 Zhang, Duo and Wang, Han},
6 journal = {arXiv preprint arXiv:2608.19041},
7 year = {2026},
8 doi = {10.48550/arXiv.2608.19041},
9 url = {https://arxiv.org/abs/2608.19041}
10}
1112@article{Wang_ComputPhysCommun_2018_v228_p178,
13 author = {Wang, Han and Zhang, Linfeng and Han, Jiequn and E, Weinan},
14 title = {{DeePMD-kit: A deep learning package for many-body potential
15 energy representation and molecular dynamics}},
16 journal = {Comput. Phys. Comm.},
17 volume = {228},
18 pages = {178--184},
19 year = {2018},
20 doi = {10.1016/j.cpc.2018.03.016}
21}
2223@article{Zeng_JChemPhys_2023_v159_p054801,
24 author = {Jinzhe Zeng and Duo Zhang and Denghui Lu and Pinghui Mo and Zeyu
25 Li and Yixiao Chen and Mari{\'a}n Rynik and Li'ang Huang and Ziyao
26 Li and Shaochen Shi and Yingze Wang and Haotian Ye and Ping Tuo
27 and Jiabin Yang and Ye Ding and Yifan Li and Davide Tisi and Qiyu
28 Zeng and Han Bao and Yu Xia and Jiameng Huang and Koki Muraoka and
29 Yibo Wang and Junhan Chang and Fengbo Yuan and Sigbj{\o}rn
30 L{\o}land Bore and Chun Cai and Yinnian Lin and Bo Wang and Jiayan
31 Xu and Jia-Xin Zhu and Chenxing Luo and Yuzhi Zhang and Rhys E A
32 Goodall and Wenshuo Liang and Anurag Kumar Singh and Sikai Yao and
33 Jingchao Zhang and Renata Wentzcovitch and Jiequn Han and Jie Liu
34 and Weile Jia and Darrin M York and Weinan E and Roberto Car and
35 Linfeng Zhang and Han Wang},
36 title = {{DeePMD-kit v2: A software package for deep potential models}},
37 journal = {J. Chem. Phys.},
38 volume = {159},
39 issue = {5},
40 pages = {054801},
41 year = {2023},
42 doi = {10.1063/5.0155600}
43}
4445@article{Zeng_JChemTheoryComput_2025_v21_p4375,
46 author = {Jinzhe Zeng and Duo Zhang and Anyang Peng and Xiangyu Zhang and
47 Sensen He and Yan Wang and Xinzijian Liu and Hangrui Bi and Yifan
48 Li and Chun Cai and Chengqian Zhang and Yiming Du and Jia-Xin Zhu
49 and Pinghui Mo and Zhengtao Huang and Qiyu Zeng and Shaochen Shi
50 and Xuejian Qin and Zhaoxi Yu and Chenxing Luo and Ye Ding and
51 Yun-Pei Liu and Ruosong Shi and Zhenyu Wang and Sigbj{\o}rn
52 L{\o}land Bore and Junhan Chang and Zhe Deng and Zhaohan Ding and
53 Siyuan Han and Wanrun Jiang and Guolin Ke and Zhaoqing Liu and
54 Denghui Lu and Koki Muraoka and Hananeh Oliaei and Anurag Kumar
55 Singh and Haohui Que and Weihong Xu and Zhangmancang Xu and
56 Yong-Bin Zhuang and Jiayu Dai and Timothy J. Giese and Weile Jia
57 and Ben Xu and Darrin M. York and Linfeng Zhang and Han Wang},
58 title = {{DeePMD-kit v3: A Multiple-Backend Framework for Machine Learning
59 Potentials}},
60 journal = {J. Chem. Theory Comput.},
61 volume = {21},
62 number = {9},
63 pages = {4375--4385},
64 year = {2025},
65 doi = {10.1021/acs.jctc.5c00340}
66}
6768@misc{levine2025omol25,
69 title = {The Open Molecules 2025 ({OMol25}) Dataset, Evaluations,
70 and Models},
71 author = {Levine, Daniel S. and Shuaibi, Muhammed and
72 Spotte-Smith, Evan Walter Clark and Taylor, Michael G. and
73 Hasyim, Muhammad R. and Michel, Kyle and Batatia, Ilyes and
74 Cs{\'a}nyi, G{\'a}bor and Dzamba, Misko and Eastman, Peter
75 and Frey, Nathan C. and Fu, Xiang and Gharakhanyan, Vahe
76 and Krishnapriyan, Aditi S. and Rackers, Joshua A. and
77 Raja, Sanjeev and Rizvi, Ammar and Rosen, Andrew S. and
78 Ulissi, Zachary and Vargas, Santiago and
79 Zitnick, C. Lawrence and Blau, Samuel M. and
80 Wood, Brandon M.},
81 year = {2025},
82 eprint = {2505.08762},
83 archivePrefix = {arXiv},
84 primaryClass = {physics.chem-ph},
85 doi = {10.48550/arXiv.2505.08762},
86 url = {https://arxiv.org/abs/2505.08762}
87}