Install the PARALLEL module

Parallel solver module for Chrono.

Features

The PARALLEL module provides features for performing multibody simulations using parallel computing within Chrono

  • introduces a custom ChSystemParallel class
  • implements a high-performance parallel collision detection algorithm
  • uses efficient APIs for parallelism (OpenMP, Thrust, etc.)
  • planned: support of MPI parallelism

Requirements

  • To build this module you need:
The latest version of Blaze (3.4) does not work with Visual Studio. Use an earlier version (e.g. 3.0).
The easiest way to obtain the Thrust library is by installing the CUDA SDK. Alternatively, you can download or clone Thrust from its GitHub repository. In that case, you will need to manually specify the path to the Thrust headers during CMake configuration (set the variable THRUST_INCLUDE_DIR).

Building instructions

  1. Download and install these libraries (depending on the platform, the process can be different)
  2. Repeat the instructions for the full installation, but when you see the CMake window, you must add the following steps:
  3. Set the ENABLE_MODULE_PARALLEL as 'on', then press 'Configure' (to refresh the variable list)
  4. Set the path for BLAZE_DIR
  5. Set the path for BOOST_DIR
  1. Press 'Configure' again, then 'Generate', and proceed as usual in the installation instructions.
Not all the features of the standard serial version of Chrono::Engine are supported.

How to use it

  • Look at the API section of this module for documentation about classes and functions.
  • Look at the C++ source of demos to learn how to use the functions of this module.