Arcane  v4.1.0.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 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 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é
 
- 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.
 

Attributs publics statiques

static NullTaskImplementation singleton
 

Description détaillée

Définition à la ligne 88 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 103 du fichier ConcurrencyUtils.cc.

◆ currentTaskIndex()

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

Implémentation de TaskFactory::currentTaskIndex()

Implémente Arcane::ITaskImplementation.

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

◆ currentTaskThreadIndex()

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

Implémentation de TaskFactory::currentTaskThreadIndex()

Implémente Arcane::ITaskImplementation.

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

◆ executeParallelFor() [1/8]

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

Exécute une boucle 1D en concurrence.

Implémente Arcane::ITaskImplementation.

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

◆ executeParallelFor() [2/8]

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

Exécute une boucle 2D en concurrence.

Implémente Arcane::ITaskImplementation.

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

◆ executeParallelFor() [3/8]

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

Exécute une boucle 3D en concurrence.

Implémente Arcane::ITaskImplementation.

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

◆ executeParallelFor() [4/8]

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

Exécute une boucle 4D en concurrence.

Implémente Arcane::ITaskImplementation.

Définition à la ligne 144 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 122 du fichier ConcurrencyUtils.cc.

Références Arcane::IRangeFunctor::executeFunctor().

+ Voici le graphe d'appel pour cette fonction :

◆ 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 112 du fichier ConcurrencyUtils.cc.

Références Arcane::IRangeFunctor::executeFunctor().

+ Voici le graphe d'appel pour cette fonction :

◆ 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 107 du fichier ConcurrencyUtils.cc.

Références Arcane::IRangeFunctor::executeFunctor().

+ Voici le graphe d'appel pour cette fonction :

◆ 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 118 du fichier ConcurrencyUtils.cc.

Références Arcane::IRangeFunctor::executeFunctor().

+ Voici le graphe d'appel pour cette fonction :

◆ 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 97 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 150 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 163 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 100 du fichier ConcurrencyUtils.cc.

Documentation des données membres

◆ singleton

NullTaskImplementation Arcane::NullTaskImplementation::singleton
static

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


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