Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::SequentialSection

Section de code à exécuter séquentiellement. Plus de détails...

#include <arcane/core/SequentialSection.h>

+ Graphe de collaboration de Arcane::SequentialSection:

Fonctions membres publiques

 SequentialSection (IParallelMng *)
 
 SequentialSection (ISubDomain *)
 
void setError (bool is_error)
 

Fonctions membres privées

void _init ()
 
void _sendError ()
 

Attributs privés

IParallelMngm_parallel_mng
 
bool m_has_error
 

Description détaillée

Section de code à exécuter séquentiellement.

Une instance de cette classe permet à une partie du code de s'exécuter un peu comme si le code était séquentiel. Le code compris dans la durée de vie de cet objet est d'abord exécuté sur le proc 0, puis si tout est ok sur les autres. Cela permet lorsque le code exécuter est le même partout (par exemple la lecture du jeu de données) de le vérifier une fois et en cas d'erreur d'afficher une seule fois les messages.

Comme les erreurs éventuelles ne sont affichées que par un seul sous-domaine, cette classe ne doit être utilisée que lorsqu'on est certain que tout les sous-domaines font le même traitement faute de quoi les erreurs ne seront pas reconnues.

De plus, comme tous les sous-domaines bloquent tant que le premier sous-domaine n'a pas fini d'exécuter le code, il faut ne faut pas faire d'appel au gestionnaire de parallélisme dans cette partie.

En cas d'erreur, une exception de type ExParallelFatalError est envoyée dans le destructeur.

{
... // Code exécuté séquentiellement.
ss.setError(true);
}
Section de code à exécuter séquentiellement.

Définition à la ligne 64 du fichier SequentialSection.h.

Documentation des constructeurs et destructeur

◆ SequentialSection() [1/2]

Arcane::SequentialSection::SequentialSection ( IParallelMng pm)

Définition à la ligne 31 du fichier SequentialSection.cc.

◆ SequentialSection() [2/2]

Arcane::SequentialSection::SequentialSection ( ISubDomain sd)

Définition à la ligne 42 du fichier SequentialSection.cc.

◆ ~SequentialSection()

Arcane::SequentialSection::~SequentialSection ( )

Définition à la ligne 53 du fichier SequentialSection.cc.

Documentation des fonctions membres

◆ _init()

void Arcane::SequentialSection::_init ( )
private

Définition à la ligne 73 du fichier SequentialSection.cc.

◆ _sendError()

void Arcane::SequentialSection::_sendError ( )
private

Définition à la ligne 93 du fichier SequentialSection.cc.

◆ setError()

void Arcane::SequentialSection::setError ( bool  is_error)

Définition à la ligne 107 du fichier SequentialSection.cc.

Documentation des données membres

◆ m_has_error

bool Arcane::SequentialSection::m_has_error
private

Définition à la ligne 79 du fichier SequentialSection.h.

◆ m_parallel_mng

IParallelMng* Arcane::SequentialSection::m_parallel_mng
private

Définition à la ligne 78 du fichier SequentialSection.h.


La documentation de cette classe a été générée à partir des fichiers suivants :