.. _installation: Installation ============ This section provides step-by-step instructions for installation of Tadah!MLIP (MLIP training) and Tadah!LAMMPS (LAMMPS plugin). .. _requirements: Requirements ------------ Both Tadah!MLIP and Tadah!LAMMPS utilize CMake for configuration and building of its components. The Tadah!LAMMPS interface and Tadah!MLIP toolkit require C++11 and C++17 compatible compilers, respectively. LAPACK and ScaLAPACK (Tadah!MLIP MPI version only) must be available on the user’s system. Other necessary libraries are either included in the codebase or downloaded during the compilation process. The internet connection is required during the installation process. Installing Tadah!MLIP Software ------------------------------ Tadah!MLIP provides a command-line interface binary, ``tadah``, for developing machine learning interatomic potentials. Obtaining Source Code ..................... To obtain Tadah!MLIP, clone the main branch using: .. code-block:: bash git clone https://git.ecdf.ed.ac.uk/tadah/tadah.mlip.git .. _building_tadah: Configuration and Compilation ............................. Tadah!MLIP uses CMake for configuration and Make for compilation. The executable ``tadah`` is installed in the ``bin`` directory by default (``${CMAKE_INSTALL_PREFIX}/bin``). If MPI is enabled, the executable is named ``tadah_mpi``. .. code-block:: bash # Navigate to the project directory cd tadah.mlip # Create and move into the build directory mkdir build && cd build # Configure with CMake cmake .. # Compile and install make && make install To change the installation location: .. code-block:: bash cmake .. -DCMAKE_INSTALL_PREFIX=/your/path Configuration Options --------------------- Customize the Tadah!MLIP build using CMake options: - ``TADAH_ENABLE_OPENMP``: Enable OpenMP for parallelization (default: OFF). - ``TADAH_BUILD_MPI``: Build MPI version (default: OFF). - ``TADAH_MARCH_NATIVE``: Use native optimizations (default: OFF). - ``TADAH_ENABLE_FAST_MATH``: Enable fast math optimizations (default: OFF). - ``TADAH_ENABLE_HPO``: Enable Hyperparameter Optimizer (default: OFF), see :ref:`installation_hpo`. - ``TADAH_LAMMPS_DIR``: Absolute path to the LAMMPS directory (required by ``TADAH_ENABLE_HPO``). - ``TADAH_LAMMPS_LIB``: Name of the LAMMPS library compiled with Tadah!LAMMPS (required by ``TADAH_ENABLE_HPO``). Additional CMake options to consider: - ``CMAKE_INSTALL_PREFIX``: Set the install directory destination when ``make install`` is invoked. A common choice is ``-DCMAKE_INSTALL_PREFIX=~/.local``. - ``BUILD_SHARED_LIBS``: Whether to build shared or static Tadah!MLIP libraries (default: ON). - ``BUILD_TESTING``: Include tests (default: OFF). Append any of the flags above to the `cmake` command with the `-D` prefix and a value of `ON`, `OFF`, or a path, e.g.: .. code-block:: bash cmake .. \ -DTADAH_ENABLE_OPENMP=ON \ -DTADAH_BUILD_MPI=ON \ -DCMAKE_INSTALL_PREFIX=~/.local You can string together as many `-D