Frequently Asked Questions#

General#

How do I get started?#

For installation instructions, check the installation guide. For a quick working example, see the User Guide. For detailed API usage, refer to the API documentation.

If your question is not answered here, please submit a Github Issue.

What hardware does this support?#

ALCHEMI Toolkit runs on:

  • CUDA-capable NVIDIA GPUs (Compute Capability 8.0+, i.e. A100 and newer)

  • CPU execution via NVIDIA Warp (x86 and ARM, including Apple Silicon)

For best performance, we recommend CUDA 12+ with driver version 570.xx or newer. See the installation guide for full prerequisites.

Dynamics & Simulation#

How do I compute neighbor lists during a simulation?#

Register a NeighborListHook on your dynamics engine. The hook recomputes neighbors at the BEFORE_COMPUTE stage of every step (with optional Verlet-skin buffering to skip redundant rebuilds). See the dynamics hooks user guide and the custom hook example for a full walkthrough.

How do I run a distributed (multi-GPU) pipeline?#

Chain dynamics stages with the | operator to build a DistributedPipeline, then launch with torchrun. See the distributed pipeline API docs and the distributed pipeline example for a complete multi-rank setup.

Models#

How do I download and use a MACE checkpoint?#

Use MACEWrapper.from_checkpoint() with either a foundation-model name (e.g. "medium-0b2") or a local .pt path. The method handles downloading automatically. For a full simulation example, see the MACE NVT example and the models user guide.

Interoperability#

How do I convert from ASE Atoms to nvalchemi?#

Use AtomicData.from_atoms() to convert an ase.Atoms object into an AtomicData graph. ASE integer tags are automatically mapped to AtomCategory values. See the ASE integration example for a round-trip workflow (ASE -> nvalchemi -> ASE).