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

Gestion de réductions multiples. Plus de détails...

#include <arcane/core/parallel/IMultiReduce.h>

+ Graphe d'héritage de Arcane::IMultiReduce:
+ Graphe de collaboration de Arcane::IMultiReduce:

Fonctions membres publiques

virtual ~IMultiReduce ()
 Libère les ressources.
 
virtual void execute ()=0
 Exécute les réductions.
 
virtual bool isStrict () const =0
 Indique si on utilise le mode strict.
 
virtual void setStrict (bool is_strict)=0
 Positionne le mode strict.
 
virtual ReduceSumOfRealHelpergetSumOfReal (const String &name)=0
 Retourne le gestionnaire de nom name. S'il n'existe pas de gestionnaire de nom name il est créé. L'objet retourné reste la propriété de cette instance et ne doit pas être détruit explicitement. Il le sera lorsque cette instance sera détruite.
 

Fonctions membres publiques statiques

static IMultiReducecreate (IParallelMng *pm)
 

Description détaillée

Gestion de réductions multiples.

Pour l'instant, seule les réductions de type 'somme' sur des réels est supporté.

Il est possible de spécifier un mode strict, via setStrict(), qui permet que ces sommes soient identiques quelles que soit l'ordre des opérations. Cela nécessite cependant de stocker toutes les valeurs intermédiaire et donc est couteux en mémoire et non extensible car un seul processeur se chargera du calcul de la somme.

Le mode strict doit être spécifié avant la création des réductions. Le mode strict est automatiquement actif si la variable d'environnement ARCANE_STRICT_REDUCE est positionnée.

Définition à la ligne 97 du fichier IMultiReduce.h.

Documentation des constructeurs et destructeur

◆ ~IMultiReduce()

virtual Arcane::IMultiReduce::~IMultiReduce ( )
inlinevirtual

Libère les ressources.

Définition à la ligne 101 du fichier IMultiReduce.h.

Documentation des fonctions membres

◆ create()

IMultiReduce * Arcane::IMultiReduce::create ( IParallelMng pm)
static

Définition à la ligne 88 du fichier MultiReduce.cc.

◆ execute()

virtual void Arcane::IMultiReduce::execute ( )
pure virtual

Exécute les réductions.

Implémenté dans Arcane::MultiReduce.

◆ getSumOfReal()

virtual ReduceSumOfRealHelper * Arcane::IMultiReduce::getSumOfReal ( const String name)
pure virtual

Retourne le gestionnaire de nom name. S'il n'existe pas de gestionnaire de nom name il est créé. L'objet retourné reste la propriété de cette instance et ne doit pas être détruit explicitement. Il le sera lorsque cette instance sera détruite.

Implémenté dans Arcane::MultiReduce.

◆ isStrict()

virtual bool Arcane::IMultiReduce::isStrict ( ) const
pure virtual

Indique si on utilise le mode strict.

Implémenté dans Arcane::MultiReduce.

◆ setStrict()

virtual void Arcane::IMultiReduce::setStrict ( bool  is_strict)
pure virtual

Positionne le mode strict.

Implémenté dans Arcane::MultiReduce.


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