Milady

What is MILADY?

MILADY — Machine Learning DYnamics — is a package created to improve the accuracy and predictive power of atomistic simulations. It builds machine-learning interatomic potentials and regression models from ab initio data, while keeping a reasonable computational cost. MILADY is an open-source code distributed under the Academic Software Licence (ASL), and is coupled to LAMMPS for large-scale molecular dynamics.

Main functionalities:

  • Training of machine-learning force fields (energies, forces and stresses) for molecular dynamics, with an optional physics-based short-range ZBL repulsive core and k2b pair channel.

  • Representation of atomic structures in the feature space of atomic descriptors, for structural analysis and visualization.

  • Analysis, sparsification and optimization of datasets (MCD/Mahalanobis and CUR selection of reference points).

Descriptors and models:

  • A large library of atomic descriptors, including the Atomic Cluster Expansion (ACE), bispectrum SO(4) and many other choices.

  • Only models that are linear in the parameters: built as polynomials in the descriptors, together with kernels (including random-feature kernels), the available choice depending on the descriptor. They are solved by SVD/QR, block ALS-Ridge, or a low-memory online (streaming) solver.

Advantages of MILADY:

  • Designed for High Performance Computing: well parallelized with MPI, PBLAS and ScaLapack, and scalable to large training sets — including a streaming mode that avoids storing the full design matrix.

  • Reads databases in the native .poscar format and in extended XYZ (ASE-compatible).

  • Open-source package — contributions are very welcome.

Build with CMake

MILADY is compiled with CMake (≥ 3.24). Once the prerequisites are in place (a Fortran compiler, MKL / ScaLapack and an MPI library), the build boils down to:

source ${MLD_SRCDIR}/scripts/compile_milady.bash
f_compile_milady_mix   # or f_compile_milady_intel / f_compile_milady_gnu
make -j6

The executable is then in bin/milady_main.exe. Both Intel ifort and ifx are supported (when the matching MPI / ScaLapack are compatible), and HDF5 I/O is optional (enabled with MLD_HDF5=ON; a bundled HDF5 is built automatically unless you point HDF5_DIR to your own). The full, step-by-step procedure is on the Local build page; the former, Makefile-based way is kept for reference on the Former build (Makefile) page.

Contributors

The development of MILADY started in 2015 at SRMP, CEA Saclay, France.
The current architecture was designed by M.-C. Marinica and A. M. Goryaeva.
Main contributors in chronological order, all current or former members of SRMP, CEA Saclay:
M.-C. Marinica (2015-present)
W. Unn-Toc (2015-2017)
A. M. Goryaeva (2018-2024)
C. Lapointe (2018-2021)
J. Deres (2019-2021)
J. Baima (2020-2022)
A. Allera (2022-2024)
A. Zhong (2022-present)
Software development support is provided by:
Anida Khizar (LGLS, CEA Saclay),
Christian Van Wambeke (LGLS, CEA Saclay).

The coupling of MILADY and LAMMPS was developed by Thomas D. Swinburne (CINaM, Marseille).

Contact

Questions and suggestions can be sent to . We will be happy to answer!

They appreciate and use MILADY

_images/cea.png _images/cnrs.png _images/cinam.png _images/la_rochelle.png _images/ensulm.jpg _images/eurofusion.png _images/CCFE.png _images/polwar.png