Fonctions membres publiques | |
void | initialize (Int32 nb_thread) override |
void | terminate () override |
ITask * | createRootTask (ITaskFunctor *f) override |
Créé une tâche racine. L'implémentation doit recopier la valeur de f qui est soit un TaskFunctor, soit un TaskFunctorWithContext. | |
void | executeParallelFor (Integer begin, Integer size, Integer block_size, IRangeFunctor *f) override |
Exécute le fonctor f en concurrence. | |
void | executeParallelFor (Integer begin, Integer size, const ParallelLoopOptions &options, IRangeFunctor *f) override |
Exécute le fonctor f en concurrence. | |
void | executeParallelFor (Integer begin, Integer size, IRangeFunctor *f) override |
Exécute le fonctor f en concurrence. | |
void | executeParallelFor (const ParallelFor1DLoopInfo &loop_info) override |
Exécute la boucle loop_info en concurrence. | |
void | executeParallelFor (const ComplexForLoopRanges< 1 > &loop_ranges, const ParallelLoopOptions &options, IMDRangeFunctor< 1 > *functor) override |
Exécute une boucle 1D en concurrence. | |
void | executeParallelFor (const ComplexForLoopRanges< 2 > &loop_ranges, const ParallelLoopOptions &options, IMDRangeFunctor< 2 > *functor) override |
Exécute une boucle 2D en concurrence. | |
void | executeParallelFor (const ComplexForLoopRanges< 3 > &loop_ranges, const ParallelLoopOptions &options, IMDRangeFunctor< 3 > *functor) override |
Exécute une boucle 3D en concurrence. | |
void | executeParallelFor (const ComplexForLoopRanges< 4 > &loop_ranges, const ParallelLoopOptions &options, IMDRangeFunctor< 4 > *functor) override |
Exécute une boucle 4D en concurrence. | |
bool | isActive () const override |
Indique si l'implémentation est active. | |
Int32 | nbAllowedThread () const override |
Nombre de threads utilisés au maximum pour gérer les tâches. | |
Int32 | currentTaskThreadIndex () const override |
Implémentation de TaskFactory::currentTaskThreadIndex() | |
Int32 | currentTaskIndex () const override |
Implémentation de TaskFactory::currentTaskIndex() | |
void | printInfos (std::ostream &o) const final |
Affiche les informations sur le runtime utilisé | |
Attributs publics statiques | |
static NullTaskImplementation | singleton |
Définition à la ligne 74 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Créé une tâche racine. L'implémentation doit recopier la valeur de f qui est soit un TaskFunctor, soit un TaskFunctorWithContext.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 86 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Implémentation de TaskFactory::currentTaskIndex()
Implémente Arcane::ITaskImplementation.
Définition à la ligne 142 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Implémentation de TaskFactory::currentTaskThreadIndex()
Implémente Arcane::ITaskImplementation.
Définition à la ligne 138 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Exécute une boucle 1D en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 106 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Exécute une boucle 2D en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 112 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Exécute une boucle 3D en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 118 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Exécute une boucle 4D en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 124 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Exécute la boucle loop_info en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 102 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Exécute le fonctor f en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 94 du fichier ConcurrencyUtils.cc.
Références Arcane::IRangeFunctor::executeFunctor().
|
inlineoverridevirtual |
Exécute le fonctor f en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 90 du fichier ConcurrencyUtils.cc.
Références Arcane::IRangeFunctor::executeFunctor().
|
inlineoverridevirtual |
Exécute le fonctor f en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 98 du fichier ConcurrencyUtils.cc.
Références Arcane::IRangeFunctor::executeFunctor().
|
inlineoverridevirtual |
. Initialise l'implémentation avec au maximum nb_thread. Si nb_thread vaut 0, l'implémentation peut choisir le nombre de thread automatiquement. Cette méthode est interne à Arcane et ne doit être appelée que lors de l'initialisation de l'exécution.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 80 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Indique si l'implémentation est active.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 130 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Nombre de threads utilisés au maximum pour gérer les tâches.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 134 du fichier ConcurrencyUtils.cc.
|
inlinefinalvirtual |
Affiche les informations sur le runtime utilisé
Implémente Arcane::ITaskImplementation.
Définition à la ligne 147 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
. Termine l'utilisation de l'implémentation. Cette méthode doit être appelée en fin de calcul uniquement.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 83 du fichier ConcurrencyUtils.cc.
|
static |
Définition à la ligne 78 du fichier ConcurrencyUtils.cc.