Install the SYNCHRONO module

This is an optional module that enables the parallelization of Chrono::Vehicle simulation across different computing entities.

Read the introduction to modules for a technical background on the modularity of the Chrono project.


The SynChrono module allows users to parallelize the dynamics computations for Chrono::Vehicles across MPI entities.

Required Dependencies

  • To build applications based on this module, the following are required:
    • MPI
      • Linux: Tested with OpenMPI and MPICH.
      • Windows: Tested with Intel MPI and MS-MPI. You must ensure that the MPI dll (either impi.dll or msmpi.dll) is on your system path, for example by running a post-installation script (Intel MPI example).
    • FlatBuffers
      • A version is included in chrono_thirdparty as a submodule, for general development either that version or an externally built one can be used.

Building instructions

  1. Initialize the FlatBuffers submodule in chrono_thirdparty with git submodule init and git submodule update.
    • For running programs with SynChrono you just need the FlatBuffers header from initializing the submodule.
    • If you make modifications to the FlatBuffers message schemas you will need either an external version of the FlatBuffers binaries (for example from a package manager) or to build the submodule version included in chrono_thirdparty.
  2. Repeat the instructions for the full installation. Chrono::Vehicle is required and at least one of Chrono::Irrlicht or Chrono::Sensor is recommended for visualization. When you see the CMake window, you must make these additional changes:
  3. Set the ENABLE_MODULE_SYNCHRONO as 'on', then press 'Configure' (to refresh the variable list).
  4. Press 'Configure' again, then 'Generate', and proceed as usual in the installation instructions.

How to use it