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 ForLoopRunInfo &run_info, IMDRangeFunctor< 1 > *functor) override |
Exécute une boucle 1D en concurrence. | |
void | executeParallelFor (const ComplexForLoopRanges< 2 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 2 > *functor) override |
Exécute une boucle 2D en concurrence. | |
void | executeParallelFor (const ComplexForLoopRanges< 3 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 3 > *functor) override |
Exécute une boucle 3D en concurrence. | |
void | executeParallelFor (const ComplexForLoopRanges< 4 > &loop_ranges, const ForLoopRunInfo &run_info, 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 77 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 89 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Implémentation de TaskFactory::currentTaskIndex()
Implémente Arcane::ITaskImplementation.
Définition à la ligne 145 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Implémentation de TaskFactory::currentTaskThreadIndex()
Implémente Arcane::ITaskImplementation.
Définition à la ligne 141 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Exécute une boucle 1D en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 109 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Exécute une boucle 2D en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 115 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Exécute une boucle 3D en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 121 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Exécute une boucle 4D en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 127 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Exécute la boucle loop_info en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 105 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Exécute le fonctor f en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 97 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 93 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 101 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 83 du fichier ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Indique si l'implémentation est active.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 133 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 137 du fichier ConcurrencyUtils.cc.
|
inlinefinalvirtual |
Affiche les informations sur le runtime utilisé
Implémente Arcane::ITaskImplementation.
Définition à la ligne 150 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 86 du fichier ConcurrencyUtils.cc.
|
static |
Définition à la ligne 81 du fichier ConcurrencyUtils.cc.