Gestion de réductions multiples. Plus de détails...
#include <arcane/core/parallel/IMultiReduce.h>
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 ReduceSumOfRealHelper * | getSumOfReal (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 IMultiReduce * | create (IParallelMng *pm) |
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.
|
inlinevirtual |
Libère les ressources.
Définition à la ligne 101 du fichier IMultiReduce.h.
|
static |
Définition à la ligne 88 du fichier MultiReduce.cc.
|
pure virtual |
Exécute les réductions.
Implémenté dans Arcane::MultiReduce.
|
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.
|
pure virtual |
Indique si on utilise le mode strict.
Implémenté dans Arcane::MultiReduce.
|
pure virtual |
Positionne le mode strict.
Implémenté dans Arcane::MultiReduce.