Overview
Allegro is a package implementing the Allegro E(3)-equivariant machine-learning interatomic potential within the NequIP framework. It provides a model implementation for building interatomic potentials rather than a supplied, ready-to-use potential for a particular chemical system. Its workflow role is to connect Allegro model configuration with NequIP’s training, testing and model-use facilities.
The repository points users to configs/tutorial.yaml as a minimal training configuration and delegates the broader workflow to NequIP documentation. Configuration files are therefore a documented starting input, while the resulting models can be used through NequIP or integrated into LAMMPS simulations. The source excerpts do not specify training-data schemas, predicted quantity conventions or available pretrained weights; those details should be checked in the linked documentation before preparing a system-specific workflow.
For GPU execution, the README describes acceleration modifiers using CuEquivariance or custom Triton kernels. These two options are explicitly mutually exclusive. LAMMPS integration is provided through the separate pair_allegro plugin repository, which is described as supporting Kokkos acceleration, MPI and parallel multi-GPU simulations. These are source-described capabilities, not independently measured performance results.
Dependency alignment matters: the README warns about a historical backwards-incompatible NequIP update, while the supplied package metadata declares nequip>=0.18.0 and Python >=3.10. Users should follow requirements for their selected release rather than treat the historical version pairing as current installation guidance. No application-specific accuracy, hardware compatibility or simulation validation is established by these excerpts.
Key Features
- Implements the Allegro E(3)-equivariant machine-learning interatomic potential as an extension to NequIP.
- Provides a minimal training configuration at `configs/tutorial.yaml`, with training, testing and model use handled through NequIP workflows.
- Offers GPU acceleration modifiers through CuEquivariance integration or custom Triton kernels, which must not be used together.
- Connects Allegro models to LAMMPS through the separate `pair_allegro` plugin, with documented Kokkos, MPI and parallel multi-GPU support.
Use Cases
- Intended evaluation: train a system-specific Allegro potential through NequIP and assess its suitability on representative held-out atomistic configurations.
- Intended evaluation: integrate an appropriately validated Allegro model into a LAMMPS atomistic dynamics workflow using `pair_allegro`.
- Intended evaluation: compare the documented CuEquivariance and Triton acceleration alternatives separately for a chosen training or inference workload.
How to Use
- Review the Allegro repository to understand its role as a NequIP extension. Select a release deliberately, noting the README’s warning about older, incompatible framework versions.
- Consult the NequIP documentation for dependency and PyTorch guidance. The supplied package metadata requires Python
>=3.10andnequip>=0.18.0; the README identifies the PyPI package asnequip-allegro. - Locate
configs/tutorial.yamlin the repository and read the Allegro documentation. Confirm dataset requirements and model outputs before adapting the configuration to your chemical system. - Follow NequIP’s documented training and testing workflow. As an intended evaluation, check model behavior on representative held-out configurations before using it for simulation.
- Read the acceleration guide if using GPUs. Choose CuEquivariance or custom Triton kernels, never both together.
- For LAMMPS deployment, consult the separate plugin repository. Evaluate the relevant Kokkos, MPI or multi-GPU setup for your simulation environment.