Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Concurrence

Ensemble des classes gérant la concurrence. Plus de détails...

Classes

class  Arcane::TaskContext
 Contexte d'éxecution d'une tâche. Plus de détails...
 
class  Arcane::ITask
 Interface d'une tâche concourante. Plus de détails...
 
class  Arcane::TaskFactory
 Fabrique pour les tâches. Plus de détails...
 
class  Arcane::ParallelLoopOptions
 Options d'exécution d'une boucle parallèle en multi-thread. Plus de détails...
 

Fonctions

template<typename InstanceType, typename ItemType>
void Arcane::arcaneParallelForeach (const ItemVectorView &items_view, const ForLoopRunInfo &run_info, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items))
 Applique en concurrence la méthode function de l'instance instance sur la vue items_view avec les options options.
 
template<typename LambdaType>
void Arcane::arcaneParallelForeach (const ItemVectorView &items_view, const ForLoopRunInfo &run_info, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue items_view avec les options options.
 
template<typename InstanceType, typename ItemType>
void Arcane::arcaneParallelForeach (const ItemVectorView &items_view, const ParallelLoopOptions &options, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items))
 Applique en concurrence la méthode function de l'instance instance sur la vue items_view avec les options options.
 
template<typename InstanceType, typename ItemType>
void Arcane::arcaneParallelForeach (const ItemGroup &items, const ForLoopRunInfo &run_info, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items))
 Applique en concurrence la méthode function de l'instance instance sur le groupe items avec les options options.
 
template<typename InstanceType, typename ItemType>
void Arcane::arcaneParallelForeach (const ItemVectorView &items_view, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items))
 Applique en concurrence la méthode function de l'instance instance sur la vue items_view.
 
template<typename InstanceType, typename ItemType>
void Arcane::arcaneParallelForeach (const ItemGroup &items, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items))
 Applique en concurrence la méthode function de l'instance instance sur le groupe items.
 
template<typename LambdaType>
void Arcane::arcaneParallelForeach (const ItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue items_view avec les options options.
 
template<typename LambdaType>
void Arcane::arcaneParallelForeach (const ItemGroup &items, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function sur le groupe items avec les options options.
 
template<typename LambdaType>
void Arcane::arcaneParallelForeach (const ItemVectorView &items_view, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue items_view.
 
template<typename LambdaType>
void Arcane::arcaneParallelForeach (const ItemGroup &items, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function sur le groupe items.
 
template<typename InstanceType>
void Arcane::arcaneParallelFor (Integer i0, Integer size, InstanceType *itype, void(InstanceType::*lambda_function)(Integer i0, Integer size))
 Applique en concurrence la fonction lambda lambda_function sur l'intervalle d'itération [i0,i0+size].
 
template<typename LambdaType>
void Arcane::arcaneParallelFor (Integer i0, Integer size, const ForLoopRunInfo &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function sur l'intervalle d'itération [i0,i0+size] avec les options options.
 
template<typename LambdaType>
void Arcane::arcaneParallelFor (Integer i0, Integer size, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function sur l'intervalle d'itération [i0,i0+size] avec les options options.
 
template<typename LambdaType, typename... Views>
void Arcane::arcaneParallelForVa (const ForLoopRunInfo &run_info, const LambdaType &lambda_function, Views... views)
 Applique en concurrence la fonction lambda lambda_function instance sur les vues des containers views avec les options options.
 
template<typename LambdaType>
void Arcane::arcaneParallelForeach (const ComponentItemVectorView &items_view, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue du composant items_view.
 
template<typename LambdaType>
void Arcane::arcaneParallelForeach (const ComponentItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue du composant items_view avec les options options.
 
template<typename LambdaType>
void Arcane::arcaneParallelForeach (const EnvItemVectorView &items_view, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue milieux items_view.
 
template<typename LambdaType>
void Arcane::arcaneParallelForeach (const EnvItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue milieux items_view avec les options options.
 
template<typename LambdaType>
void Arcane::arcaneParallelForeach (const MatItemVectorView &items_view, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue matériaux items_view.
 
template<typename LambdaType>
void Arcane::arcaneParallelForeach (const MatItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue matériaux items_view avec les options options.
 
template<typename LambdaType>
void Arcane::Parallel::Foreach (const ComponentItemVectorView &items_view, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue du composant items_view.
 
template<typename LambdaType>
void Arcane::Parallel::Foreach (const ComponentItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue du composant items_view avec les options options.
 
template<typename LambdaType>
void Arcane::Parallel::Foreach (const EnvItemVectorView &items_view, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue milieux items_view.
 
template<typename LambdaType>
void Arcane::Parallel::Foreach (const EnvItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue milieux items_view avec les options options.
 
template<typename LambdaType>
void Arcane::Parallel::Foreach (const MatItemVectorView &items_view, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue matériaux items_view.
 
template<typename LambdaType>
void Arcane::Parallel::Foreach (const MatItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function)
 Applique en concurrence la fonction lambda lambda_function instance sur la vue matériaux items_view avec les options options.
 

Description détaillée

Ensemble des classes gérant la concurrence.

Pour plus de renseignements, se reporter à la page Concurrence et multi-threading

Documentation des fonctions

◆ arcaneParallelFor() [1/3]

template<typename LambdaType>
void Arcane::arcaneParallelFor ( Integer i0,
Integer size,
const ForLoopRunInfo & options,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function sur l'intervalle d'itération [i0,i0+size] avec les options options.

Définition à la ligne 213 du fichier Concurrency.h.

Références Arcane::TaskFactory::executeParallelFor().

◆ arcaneParallelFor() [2/3]

template<typename LambdaType>
void Arcane::arcaneParallelFor ( Integer i0,
Integer size,
const ParallelLoopOptions & options,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function sur l'intervalle d'itération [i0,i0+size] avec les options options.

Définition à la ligne 227 du fichier Concurrency.h.

Références arcaneParallelFor().

◆ arcaneParallelFor() [3/3]

template<typename InstanceType>
void Arcane::arcaneParallelFor ( Integer i0,
Integer size,
InstanceType * itype,
void(InstanceType::* lambda_function )(Integer i0, Integer size) )
inline

◆ arcaneParallelForeach() [1/16]

template<typename LambdaType>
void Arcane::arcaneParallelForeach ( const ComponentItemVectorView & items_view,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue du composant items_view.

Définition à la ligne 80 du fichier MatConcurrency.h.

Références Arcane::TaskFactory::executeParallelFor(), et Arcane::Materials::ComponentItemVectorView::nbItem().

◆ arcaneParallelForeach() [2/16]

template<typename LambdaType>
void Arcane::arcaneParallelForeach ( const ComponentItemVectorView & items_view,
const ParallelLoopOptions & options,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue du composant items_view avec les options options.

Définition à la ligne 92 du fichier MatConcurrency.h.

Références Arcane::TaskFactory::executeParallelFor(), et Arcane::Materials::ComponentItemVectorView::nbItem().

◆ arcaneParallelForeach() [3/16]

template<typename LambdaType>
void Arcane::arcaneParallelForeach ( const EnvItemVectorView & items_view,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue milieux items_view.

Définition à la ligne 105 du fichier MatConcurrency.h.

Références Arcane::TaskFactory::executeParallelFor(), et Arcane::Materials::ComponentItemVectorView::nbItem().

◆ arcaneParallelForeach() [4/16]

template<typename LambdaType>
void Arcane::arcaneParallelForeach ( const EnvItemVectorView & items_view,
const ParallelLoopOptions & options,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue milieux items_view avec les options options.

Définition à la ligne 117 du fichier MatConcurrency.h.

Références Arcane::TaskFactory::executeParallelFor(), et Arcane::Materials::ComponentItemVectorView::nbItem().

◆ arcaneParallelForeach() [5/16]

template<typename InstanceType, typename ItemType>
void Arcane::arcaneParallelForeach ( const ItemGroup & items,
const ForLoopRunInfo & run_info,
InstanceType * instance,
void(InstanceType::* function )(ItemVectorViewT< ItemType > items) )
inline

Applique en concurrence la méthode function de l'instance instance sur le groupe items avec les options options.

Définition à la ligne 115 du fichier Concurrency.h.

Références arcaneParallelForeach().

◆ arcaneParallelForeach() [6/16]

template<typename LambdaType>
void Arcane::arcaneParallelForeach ( const ItemGroup & items,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function sur le groupe items.

Définition à la ligne 186 du fichier Concurrency.h.

Références Arcane::ItemGroup::_paddedView(), et arcaneParallelForeach().

◆ arcaneParallelForeach() [7/16]

template<typename LambdaType>
void Arcane::arcaneParallelForeach ( const ItemGroup & items,
const ParallelLoopOptions & options,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function sur le groupe items avec les options options.

Définition à la ligne 163 du fichier Concurrency.h.

Références Arcane::ItemGroup::_paddedView(), et arcaneParallelForeach().

◆ arcaneParallelForeach() [8/16]

template<typename InstanceType, typename ItemType>
void Arcane::arcaneParallelForeach ( const ItemGroup & items,
InstanceType * instance,
void(InstanceType::* function )(ItemVectorViewT< ItemType > items) )
inline

Applique en concurrence la méthode function de l'instance instance sur le groupe items.

Définition à la ligne 139 du fichier Concurrency.h.

Références arcaneParallelForeach().

◆ arcaneParallelForeach() [9/16]

template<typename LambdaType>
void Arcane::arcaneParallelForeach ( const ItemVectorView & items_view,
const ForLoopRunInfo & run_info,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue items_view avec les options options.

Définition à la ligne 77 du fichier Concurrency.h.

Références Arcane::AbstractItemRangeFunctor::blockGrainSize(), Arcane::TaskFactory::defaultParallelLoopOptions(), Arcane::TaskFactory::executeParallelFor(), Arcane::AbstractItemRangeFunctor::nbBlock(), et Arcane::ParallelLoopOptions::setGrainSize().

◆ arcaneParallelForeach() [10/16]

template<typename InstanceType, typename ItemType>
void Arcane::arcaneParallelForeach ( const ItemVectorView & items_view,
const ForLoopRunInfo & run_info,
InstanceType * instance,
void(InstanceType::* function )(ItemVectorViewT< ItemType > items) )
inline

◆ arcaneParallelForeach() [11/16]

template<typename LambdaType>
void Arcane::arcaneParallelForeach ( const ItemVectorView & items_view,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue items_view.

Définition à la ligne 175 du fichier Concurrency.h.

Références arcaneParallelForeach().

◆ arcaneParallelForeach() [12/16]

template<typename LambdaType>
void Arcane::arcaneParallelForeach ( const ItemVectorView & items_view,
const ParallelLoopOptions & options,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue items_view avec les options options.

Définition à la ligne 151 du fichier Concurrency.h.

Références arcaneParallelForeach().

◆ arcaneParallelForeach() [13/16]

template<typename InstanceType, typename ItemType>
void Arcane::arcaneParallelForeach ( const ItemVectorView & items_view,
const ParallelLoopOptions & options,
InstanceType * instance,
void(InstanceType::* function )(ItemVectorViewT< ItemType > items) )
inline

Applique en concurrence la méthode function de l'instance instance sur la vue items_view avec les options options.

Définition à la ligne 102 du fichier Concurrency.h.

Références arcaneParallelForeach().

◆ arcaneParallelForeach() [14/16]

template<typename InstanceType, typename ItemType>
void Arcane::arcaneParallelForeach ( const ItemVectorView & items_view,
InstanceType * instance,
void(InstanceType::* function )(ItemVectorViewT< ItemType > items) )
inline

Applique en concurrence la méthode function de l'instance instance sur la vue items_view.

Définition à la ligne 127 du fichier Concurrency.h.

Références arcaneParallelForeach().

◆ arcaneParallelForeach() [15/16]

template<typename LambdaType>
void Arcane::arcaneParallelForeach ( const MatItemVectorView & items_view,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue matériaux items_view.

Définition à la ligne 130 du fichier MatConcurrency.h.

Références Arcane::TaskFactory::executeParallelFor(), et Arcane::Materials::ComponentItemVectorView::nbItem().

◆ arcaneParallelForeach() [16/16]

template<typename LambdaType>
void Arcane::arcaneParallelForeach ( const MatItemVectorView & items_view,
const ParallelLoopOptions & options,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue matériaux items_view avec les options options.

Définition à la ligne 142 du fichier MatConcurrency.h.

Références Arcane::TaskFactory::executeParallelFor(), et Arcane::Materials::ComponentItemVectorView::nbItem().

◆ arcaneParallelForVa()

template<typename LambdaType, typename... Views>
void Arcane::arcaneParallelForVa ( const ForLoopRunInfo & run_info,
const LambdaType & lambda_function,
Views... views )
inline

Applique en concurrence la fonction lambda lambda_function instance sur les vues des containers views avec les options options.

Définition à la ligne 253 du fichier Concurrency.h.

Références ARCANE_FATAL, et Arcane::TaskFactory::executeParallelFor().

◆ Foreach() [1/6]

template<typename LambdaType>
void Arcane::Parallel::Foreach ( const ComponentItemVectorView & items_view,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue du composant items_view.

Définition à la ligne 164 du fichier MatConcurrency.h.

Références Arcane::arcaneParallelForeach().

◆ Foreach() [2/6]

template<typename LambdaType>
void Arcane::Parallel::Foreach ( const ComponentItemVectorView & items_view,
const ParallelLoopOptions & options,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue du composant items_view avec les options options.

Définition à la ligne 175 du fichier MatConcurrency.h.

Références Arcane::arcaneParallelForeach().

◆ Foreach() [3/6]

template<typename LambdaType>
void Arcane::Parallel::Foreach ( const EnvItemVectorView & items_view,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue milieux items_view.

Définition à la ligne 187 du fichier MatConcurrency.h.

Références Arcane::arcaneParallelForeach().

◆ Foreach() [4/6]

template<typename LambdaType>
void Arcane::Parallel::Foreach ( const EnvItemVectorView & items_view,
const ParallelLoopOptions & options,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue milieux items_view avec les options options.

Définition à la ligne 198 du fichier MatConcurrency.h.

Références Arcane::arcaneParallelForeach().

◆ Foreach() [5/6]

template<typename LambdaType>
void Arcane::Parallel::Foreach ( const MatItemVectorView & items_view,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue matériaux items_view.

Définition à la ligne 210 du fichier MatConcurrency.h.

Références Arcane::arcaneParallelForeach().

◆ Foreach() [6/6]

template<typename LambdaType>
void Arcane::Parallel::Foreach ( const MatItemVectorView & items_view,
const ParallelLoopOptions & options,
const LambdaType & lambda_function )
inline

Applique en concurrence la fonction lambda lambda_function instance sur la vue matériaux items_view avec les options options.

Définition à la ligne 221 du fichier MatConcurrency.h.

Références Arcane::arcaneParallelForeach().