Classes | |
| class | TaskInfoLockGuard |
| Classe pour positionner TaskThreadInfo::taskIndex(). Plus de détails... | |
| class | Impl |
| class | ParallelForExecute |
Fonctions membres publiques | |
| class | ARCCORE_ALIGNAS_PACKED (64) TaskThreadInfo |
| void | build () |
| 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 (Int32 begin, Int32 size, const ParallelLoopOptions &options, IRangeFunctor *f) final |
| Exécute le fonctor f en concurrence. | |
| void | executeParallelFor (Int32 begin, Int32 size, Integer grain_size, IRangeFunctor *f) final |
| Exécute le fonctor f en concurrence. | |
| void | executeParallelFor (Int32 begin, Int32 size, IRangeFunctor *f) final |
| 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) final |
| Exécute une boucle 1D en concurrence. | |
| void | executeParallelFor (const ComplexForLoopRanges< 2 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 2 > *functor) final |
| Exécute une boucle 2D en concurrence. | |
| void | executeParallelFor (const ComplexForLoopRanges< 3 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 3 > *functor) final |
| Exécute une boucle 3D en concurrence. | |
| void | executeParallelFor (const ComplexForLoopRanges< 4 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 4 > *functor) final |
| Exécute une boucle 4D en concurrence. | |
| bool | isActive () const final |
| Indique si l'implémentation est active. | |
| Int32 | currentTaskThreadIndex () const final |
| Implémentation de TaskFactory::currentTaskThreadIndex(). | |
| Int32 | currentTaskIndex () const final |
| Implémentation de TaskFactory::currentTaskIndex(). | |
| void | printInfos (std::ostream &o) const final |
| Affiche les informations sur le runtime utilisé | |
| TaskThreadInfo * | currentTaskThreadInfo () const |
| Instance de TaskThreadInfo associé au thread courant. | |
| Fonctions membres publiques hérités de Arcane::ITaskImplementation | |
| Int32 | nbAllowedThread () const |
| Nombre de threads utilisés au maximum pour gérer les tâches. | |
Définition à la ligne 344 du fichier TBBTaskImplementation.cc.
|
override |
Définition à la ligne 1038 du fichier TBBTaskImplementation.cc.
|
inline |
Définition à la ligne 332 du fichier TBBTaskImplementation.cc.
|
inline |
Définition à la ligne 413 du fichier TBBTaskImplementation.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 417 du fichier TBBTaskImplementation.cc.
|
finalvirtual |
Implémentation de TaskFactory::currentTaskIndex().
Implémente Arcane::ITaskImplementation.
Définition à la ligne 1246 du fichier TBBTaskImplementation.cc.
Références currentTaskThreadIndex(), et currentTaskThreadInfo().
|
inlinefinalvirtual |
Implémentation de TaskFactory::currentTaskThreadIndex().
Implémente Arcane::ITaskImplementation.
Définition à la ligne 461 du fichier TBBTaskImplementation.cc.
Références Arcane::ITaskImplementation::nbAllowedThread().
Référencé par currentTaskIndex(), et currentTaskThreadInfo().
| TBBTaskImplementation::TaskThreadInfo * Arcane::TBBTaskImplementation::currentTaskThreadInfo | ( | ) | const |
Instance de TaskThreadInfo associé au thread courant.
Peut-être nul si le thread courant n'est pas associé à un thread TBB ou si en dehors d'une exécution d'une tâche ou d'une boucle parallèle.
Définition à la ligne 1234 du fichier TBBTaskImplementation.cc.
Références currentTaskThreadIndex().
Référencé par currentTaskIndex().
|
inlinefinalvirtual |
Exécute une boucle 1D en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 431 du fichier TBBTaskImplementation.cc.
|
inlinefinalvirtual |
Exécute une boucle 2D en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 437 du fichier TBBTaskImplementation.cc.
|
inlinefinalvirtual |
Exécute une boucle 3D en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 443 du fichier TBBTaskImplementation.cc.
|
inlinefinalvirtual |
Exécute une boucle 4D en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 449 du fichier TBBTaskImplementation.cc.
|
overridevirtual |
Exécute la boucle loop_info en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 1134 du fichier TBBTaskImplementation.cc.
|
finalvirtual |
Exécute le fonctor f en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 1225 du fichier TBBTaskImplementation.cc.
Références executeParallelFor().
Référencé par executeParallelFor(), executeParallelFor(), et executeParallelFor().
|
finalvirtual |
Exécute le fonctor f en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 1213 du fichier TBBTaskImplementation.cc.
Références Arcane::TaskFactory::defaultParallelLoopOptions(), executeParallelFor(), et Arcane::ParallelLoopOptions::setGrainSize().
|
inlinefinalvirtual |
Exécute le fonctor f en concurrence.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 425 du fichier TBBTaskImplementation.cc.
Références Arcane::TaskFactory::defaultParallelLoopOptions(), et executeParallelFor().
|
overridevirtual |
Implémente Arcane::ITaskImplementation.
Définition à la ligne 1047 du fichier TBBTaskImplementation.cc.
|
inlinefinalvirtual |
Indique si l'implémentation est active.
Implémente Arcane::ITaskImplementation.
Définition à la ligne 456 du fichier TBBTaskImplementation.cc.
|
finalvirtual |
Affiche les informations sur le runtime utilisé
Implémente Arcane::ITaskImplementation.
Définition à la ligne 1074 du fichier TBBTaskImplementation.cc.
|
overridevirtual |
Implémente Arcane::ITaskImplementation.
Définition à la ligne 1065 du fichier TBBTaskImplementation.cc.