Upgrading to AtomWorks 3

RFD3, RFD3NA, MPNN and RF3 require AtomWorks >=3.0.1,<4 and PyTorch >=2.11. Upgrade Foundry and its declared dependencies together; rebuild containers rather than overlaying new source on an AtomWorks 2 environment. Run pip check after installation. Model checkpoints do not need conversion.

Input and preprocessing compatibility

Existing design specifications remain supported. Custom pipelines should use AtomWorks 3’s ParseConfig / PrepareConfig APIs and updated annotation/query imports. Foundry’s dataset configurations use its StructuralDatasetWrapper adapter for AtomWorks’ native PandasDataset and structure loader.

AtomWorks 3 corrects reference-conformer rotations and charges on covalently modified atoms. It also retains a ligand reference conformer after some UFF optimization failures where AtomWorks 2 masked it. These changes can alter predictions even with the same checkpoint and seed. Preserve an old environment if you need to reproduce AtomWorks 2 preprocessing.

RF3 preserves its training-only bond-distance cutoff of strictly less than 2.4 Å. Inference retains explicit finite-length bonds between components that have not yet been folded together. Template and conformer constraints survive CCD atom completion and residue renumbering; newly added atoms are unconditioned.

Inference behavior

RFD3 defaults to inference_mode=fast, which enables compiled inference and corrected pooling. Compilation adds startup cost for new shapes. Use inference_mode=legacy for the serial eager execution policy and original mean; it retains AtomWorks 3 preprocessing and cannot guarantee historical coordinates. The old CUDA mean is nondeterministic, and fast/legacy consume different random streams. See RFD3 input options and inference acceleration.

RF3 automatically selects the optimized LayerNorm on validated H200 / Torch 2.11.0 / CUDA 12.8 configurations and sufficiently large tensors. Other inference calls use native PyTorch, with one warning per fallback reason. Training and autograd always use native LayerNorm. Whole-model bitwise comparisons require CUBLAS_WORKSPACE_CONFIG=:4096:8 before CUDA initialization and torch.use_deterministic_algorithms(True) in both runs; inference does not enable these process-wide controls automatically.

For device debugging, FOUNDRY_DEVICE accepts auto (default), cpu, cuda, mps or xpu. The shared inference engines use one device/node and FP32 when CPU or MPS is explicitly requested. MPNN also reads this variable unless its Python device argument is supplied.

Quality and reproducibility limits

Corrected pooling improves numerical accumulation, but has not demonstrated a model-quality improvement. The tested RFD3 enzyme task showed no clear quality separation between fast and legacy; see the measurements and limits. RF3 fixed-feature replay matched across AtomWorks versions in the paired audit, while native preprocessing changed one peptide–DNA conformation substantially. These bounded comparisons do not establish broad folding or docking equivalence. Old and corrected BF16 training trajectories differ; full training convergence and downstream training quality have not been compared.