WARNING: Pre-alpha software This project is in early development. APIs may change without notice, and there may be bugs or incomplete features. Not recommended for production use.
Standalone C++ implementation of Machine Learning Interatomic Potentials (MLIPs) using ggml.
Currently supports PET-MAD for energies, forces, stresses
- ggml - Tensor library (fetched automatically via CMake)
- fmt - Formatting library (fetched automatically)
Note: This project uses a modified fork of ggml with additional backpropagation support for CONCAT and CLAMP operations, required for force/stress computation.
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . -jDownload and convert the official PET-MAD model to GGUF format:
uv run scripts/convert_pet_mad.py --output pet-mad.gguf# Energy only
./build/bin/simple_inference pet-mad.gguf structure.xyz
# With forces
./build/bin/simple_inference pet-mad.gguf structure.xyz --forces
# With forces and stress (periodic systems)
./build/bin/simple_inference pet-mad.gguf structure.xyz --forces --stressC, C++, and Fortran APIs are provided. See examples/ for usage.
BSD 3-Clause