Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::AutoDetecterMPI Class Reference
Inheritance diagram for Arcane::AutoDetecterMPI:
Collaboration diagram for Arcane::AutoDetecterMPI:

Public Member Functions

void visit (ApplicationBuildInfo &app_build_info) override
 Fills default values for message passing services.

Detailed Description

Definition at line 134 of file ArcaneMpi.cc.

Member Function Documentation

◆ visit()

void Arcane::AutoDetecterMPI::visit ( ApplicationBuildInfo & app_build_info)
overridevirtual

Fills default values for message passing services.

To know which service to use for message passing, it is necessary to know the number of available MPI processes. Unfortunately, this is not possible without initializing MPI, and MPI initialization depends on the desired multi-threading level. To know this, we must know if we want shared memory subdomains. If so, we try init with MPI_THREAD_MULTIPLE. Otherwise, we use MPI_THREAD_SERIALIZED. The parallelism manager will be responsible for checking if the available thread level is sufficient (via MPI_Query_thread).

Implements Arcane::IApplicationBuildInfoVisitor.

Definition at line 156 of file ArcaneMpi.cc.

References Arcane::arcaneInitializeMPI(), and Arcane::ApplicationBuildInfo::internalSetDefaultMessagePassingService().

Here is the call graph for this function:

The documentation for this class was generated from the following file: