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.
Features
The SynChrono module allows users to parallelize the dynamics computations for Chrono::Vehicles across MPI or DDS 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
ormsmpi.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.
- MPI
- The following are optional:
- FastDDS
- Please use the latest binaries for installation.
- Versions provided by package managers will likely work as well if they are reasonably up to date.
- FastDDS
Building instructions
- Initialize the FlatBuffers submodule in
chrono_thirdparty
withgit submodule init
andgit 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
.
- 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:
- Set the
ENABLE_MODULE_SYNCHRONO
as 'on', then press 'Configure' (to refresh the variable list). - (Optional) If using Fast_DDS set
USE_FAST_DDS
to 'on', then press 'Configure'.- If you used the installed binaries they should be picked up automatically by CMake
- If you built from source or installed in a non-standard location, you'll have to manually specify
FAST_DDS_INSTALL_DIR
.
- Press 'Configure' again, then 'Generate', and proceed as usual in the installation instructions.
How to use it
- Consult the SynChrono API.
- Read the overview.