Arcane  v3.14.10.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.
 

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 Arcane::arcaneParallelFor().

◆ arcaneParallelFor() [3/3]

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

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

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

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

Référencé par Arcane::Accelerator::impl::_applyEnvCells(), Arcane::Accelerator::impl::_applyGenericLoop(), Arcane::arcaneParallelFor(), Arcane::arcaneParallelFor(), Arcane::arcaneParallelFor(), et Arcane::arcaneParallelFor().

◆ arcaneParallelForeach() [1/10]

template<typename InstanceType , typename ItemType >
void Arcane::arcaneParallelForeach ( const ItemGroup items,
const ForLoopRunInfo run_info,
InstanceType *  instance,
void(InstanceType::*)(ItemVectorViewT< ItemType > items)  function 
)
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 Arcane::ItemGroup::_paddedView(), et Arcane::arcaneParallelForeach().

◆ arcaneParallelForeach() [2/10]

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 Arcane::arcaneParallelForeach().

◆ arcaneParallelForeach() [3/10]

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 Arcane::arcaneParallelForeach().

◆ arcaneParallelForeach() [4/10]

template<typename InstanceType , typename ItemType >
void Arcane::arcaneParallelForeach ( const ItemGroup items,
InstanceType *  instance,
void(InstanceType::*)(ItemVectorViewT< ItemType > items)  function 
)
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 Arcane::ItemGroup::_paddedView(), et Arcane::arcaneParallelForeach().

◆ arcaneParallelForeach() [5/10]

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() [6/10]

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

◆ arcaneParallelForeach() [7/10]

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 Arcane::arcaneParallelForeach().

◆ arcaneParallelForeach() [8/10]

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 Arcane::arcaneParallelForeach().

◆ arcaneParallelForeach() [9/10]

template<typename InstanceType , typename ItemType >
void Arcane::arcaneParallelForeach ( const ItemVectorView items_view,
const ParallelLoopOptions options,
InstanceType *  instance,
void(InstanceType::*)(ItemVectorViewT< ItemType > items)  function 
)
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 Arcane::arcaneParallelForeach().

◆ arcaneParallelForeach() [10/10]

template<typename InstanceType , typename ItemType >
void Arcane::arcaneParallelForeach ( const ItemVectorView items_view,
InstanceType *  instance,
void(InstanceType::*)(ItemVectorViewT< ItemType > items)  function 
)
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 Arcane::arcaneParallelForeach().

◆ 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().