Install the MULTICORE module
Multicore solver module for Chrono.
Features
The MULTICORE module provides features for performing multibody simulations using shared-memory parallel computing within Chrono
- introduces a custom ChSystemMulticore class
- implements a high-performance multicore collision detection algorithm
- uses efficient APIs for parallelism (OpenMP, Thrust, etc.)
Requirements
- To build this module you need:
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
Download the following libraries (depending on the platform, the process can be different)
- the Blaze library
- the Boost library (if using Blaze 3.1 or older)
- the Thrust (also included in CUDA SDK)
For use with the Chrono::Multicore module, no installation is required for the above headers-only libraries. However, if so desired, they can be installed in the appropriate system directories (on platforms that support them).
- Repeat the instructions for the full installation, with the following additional steps:
- Set the
ENABLE_MODULE_MULTICORE
as 'on', then press 'Configure' (to refresh the variable list) - If prompted, set the path for
BLAZE_DIR
, the press 'Configure' - If using an older version of Blaze (pre 3.2) and if so prompted, set the path for
BOOST_DIR
- 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.