Communication tools using the MPI framework

Description

Collaboration diagram for Communication tools using the MPI framework:

Classes

class  chrono::synchrono::SynMPIManager
 Concrete class using MPI AllGatherV calls to manage state synchronization. More...
 

Enumerations

enum  chrono::synchrono::SynMPIMemoryMode { chrono::synchrono::SynMPIMemoryMode::PREALLOCATED, chrono::synchrono::SynMPIMemoryMode::PREALLOCATED_WITH_REALLOC, chrono::synchrono::SynMPIMemoryMode::DYNAMIC_RESERVE }
 Memory mode for the MPIManager. More...
 

Variables

const SynMPIConfig chrono::synchrono::MPI_CONFIG_DEFAULT
 

Enumeration Type Documentation

◆ SynMPIMemoryMode

Memory mode for the MPIManager.

PREALLOCATED: Least allocations. Largest memory footprint relative to message size. May result in inadequate space for incoming/outgoing messages! PREALLOCATED_WITH_REALLOC: If used well, better memory footprint than PREALLOCATED at the cost of more allocations. Ensures always enough space for incoming/outgoing messages. DYNAMIC_RESERVE: Least memory footprint (always exactly enough space) with highest number of allocations.

Enumerator
PREALLOCATED 

Preallocated at the beginning of the simulation.

PREALLOCATED_WITH_REALLOC 

Preallocated at the beginning of the simulation but reallocated if new message size is larger than current buffer size.

DYNAMIC_RESERVE 

Buffer is reallocated every time a message is received.