Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::NullTaskImplementation
+ Graphe d'héritage de Arcane::NullTaskImplementation:
+ Graphe de collaboration de Arcane::NullTaskImplementation:

Fonctions membres publiques

void initialize (Int32 nb_thread) override
 
void terminate () override
 
ITaskcreateRootTask (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
 

Description détaillée

Définition à la ligne 74 du fichier ConcurrencyUtils.cc.

Documentation des fonctions membres

◆ createRootTask()

ITask * Arcane::NullTaskImplementation::createRootTask ( ITaskFunctor f)
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.

◆ currentTaskIndex()

Int32 Arcane::NullTaskImplementation::currentTaskIndex ( ) const
inlineoverridevirtual

Implémentation de TaskFactory::currentTaskIndex()

Implémente Arcane::ITaskImplementation.

Définition à la ligne 142 du fichier ConcurrencyUtils.cc.

◆ currentTaskThreadIndex()

Int32 Arcane::NullTaskImplementation::currentTaskThreadIndex ( ) const
inlineoverridevirtual

Implémentation de TaskFactory::currentTaskThreadIndex()

Implémente Arcane::ITaskImplementation.

Définition à la ligne 138 du fichier ConcurrencyUtils.cc.

◆ executeParallelFor() [1/8]

void Arcane::NullTaskImplementation::executeParallelFor ( const ComplexForLoopRanges< 1 > &  loop_ranges,
const ParallelLoopOptions options,
IMDRangeFunctor< 1 > *  functor 
)
inlineoverridevirtual

Exécute une boucle 1D en concurrence.

Implémente Arcane::ITaskImplementation.

Définition à la ligne 106 du fichier ConcurrencyUtils.cc.

◆ executeParallelFor() [2/8]

void Arcane::NullTaskImplementation::executeParallelFor ( const ComplexForLoopRanges< 2 > &  loop_ranges,
const ParallelLoopOptions options,
IMDRangeFunctor< 2 > *  functor 
)
inlineoverridevirtual

Exécute une boucle 2D en concurrence.

Implémente Arcane::ITaskImplementation.

Définition à la ligne 112 du fichier ConcurrencyUtils.cc.

◆ executeParallelFor() [3/8]

void Arcane::NullTaskImplementation::executeParallelFor ( const ComplexForLoopRanges< 3 > &  loop_ranges,
const ParallelLoopOptions options,
IMDRangeFunctor< 3 > *  functor 
)
inlineoverridevirtual

Exécute une boucle 3D en concurrence.

Implémente Arcane::ITaskImplementation.

Définition à la ligne 118 du fichier ConcurrencyUtils.cc.

◆ executeParallelFor() [4/8]

void Arcane::NullTaskImplementation::executeParallelFor ( const ComplexForLoopRanges< 4 > &  loop_ranges,
const ParallelLoopOptions options,
IMDRangeFunctor< 4 > *  functor 
)
inlineoverridevirtual

Exécute une boucle 4D en concurrence.

Implémente Arcane::ITaskImplementation.

Définition à la ligne 124 du fichier ConcurrencyUtils.cc.

◆ executeParallelFor() [5/8]

void Arcane::NullTaskImplementation::executeParallelFor ( const ParallelFor1DLoopInfo loop_info)
inlineoverridevirtual

Exécute la boucle loop_info en concurrence.

Implémente Arcane::ITaskImplementation.

Définition à la ligne 102 du fichier ConcurrencyUtils.cc.

◆ executeParallelFor() [6/8]

void Arcane::NullTaskImplementation::executeParallelFor ( Integer  begin,
Integer  size,
const ParallelLoopOptions options,
IRangeFunctor f 
)
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().

◆ executeParallelFor() [7/8]

void Arcane::NullTaskImplementation::executeParallelFor ( Integer  begin,
Integer  size,
Integer  block_size,
IRangeFunctor f 
)
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().

◆ executeParallelFor() [8/8]

void Arcane::NullTaskImplementation::executeParallelFor ( Integer  begin,
Integer  size,
IRangeFunctor f 
)
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().

◆ initialize()

void Arcane::NullTaskImplementation::initialize ( Int32  nb_thread)
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.

◆ isActive()

bool Arcane::NullTaskImplementation::isActive ( ) const
inlineoverridevirtual

Indique si l'implémentation est active.

Implémente Arcane::ITaskImplementation.

Définition à la ligne 130 du fichier ConcurrencyUtils.cc.

◆ nbAllowedThread()

Int32 Arcane::NullTaskImplementation::nbAllowedThread ( ) const
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.

◆ printInfos()

void Arcane::NullTaskImplementation::printInfos ( std::ostream &  o) const
inlinefinalvirtual

Affiche les informations sur le runtime utilisé

Implémente Arcane::ITaskImplementation.

Définition à la ligne 147 du fichier ConcurrencyUtils.cc.

◆ terminate()

void Arcane::NullTaskImplementation::terminate ( )
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.

Documentation des données membres

◆ singleton

NullTaskImplementation Arcane::NullTaskImplementation::singleton
static

Définition à la ligne 78 du fichier ConcurrencyUtils.cc.


La documentation de cette classe a été générée à partir du fichier suivant :