Classes, Types et macros pour gérer la concurrence. Plus de détails...
#include "arcane/utils/ConcurrencyUtils.h"
#include "arcane/core/Item.h"
#include "arcane/core/ItemFunctor.h"
#include "arcane/core/ItemGroup.h"
#include <arcane/core/materials/MatItem.h>
Aller au code source de ce fichier.
Espaces de nommage | |
namespace | Arcane |
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*- | |
namespace | Arcane::Parallel |
Implémentation de la concurrence. | |
Fonctions | |
Int32 | Arcane::impl::adaptGrainSize (const ForLoopRunInfo &run_info) |
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 > | |
void | Arcane::arcaneParallelFor (Integer i0, Integer size, const LambdaType &lambda_function) |
Applique en concurrence la fonction lambda lambda_function sur l'intervalle d'itération [i0,i0+size]. | |
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 InstanceType , typename ItemType > | |
void | Arcane::Parallel::Foreach (const ItemVectorView &items_view, const ParallelLoopOptions &options, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items)) |
template<typename InstanceType , typename ItemType > | |
void | Arcane::Parallel::Foreach (const ItemGroup &items, const ParallelLoopOptions &options, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items)) |
template<typename InstanceType , typename ItemType > | |
void | Arcane::Parallel::Foreach (const ItemVectorView &items_view, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items)) |
template<typename InstanceType , typename ItemType > | |
void | Arcane::Parallel::Foreach (const ItemGroup &items, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items)) |
template<typename LambdaType > | |
void | Arcane::Parallel::Foreach (const ItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function) |
template<typename LambdaType > | |
void | Arcane::Parallel::Foreach (const ItemGroup &items, const ParallelLoopOptions &options, const LambdaType &lambda_function) |
template<typename LambdaType > | |
void | Arcane::Parallel::Foreach (const ItemVectorView &items_view, const LambdaType &lambda_function) |
template<typename LambdaType > | |
void | Arcane::Parallel::Foreach (const ItemGroup &items, const LambdaType &lambda_function) |
template<typename InstanceType > | |
ARCANE_DEPRECATED_122 void | Arcane::Parallel::For (Integer i0, Integer size, Integer grain_size, InstanceType *itype, void(InstanceType::*lambda_function)(Integer i0, Integer size)) |
template<typename InstanceType > | |
void | Arcane::Parallel::For (Integer i0, Integer size, const ParallelLoopOptions &options, InstanceType *itype, void(InstanceType::*lambda_function)(Integer i0, Integer size)) |
template<typename LambdaType > | |
ARCANE_DEPRECATED_122 void | Arcane::Parallel::For (Integer i0, Integer size, Integer grain_size, const LambdaType &lambda_function) |
template<typename InstanceType > | |
void | Arcane::Parallel::For (Integer i0, Integer size, InstanceType *itype, void(InstanceType::*lambda_function)(Integer i0, Integer size)) |
template<typename LambdaType > | |
void | Arcane::Parallel::For (Integer i0, Integer size, const ParallelLoopOptions &options, const LambdaType &lambda_function) |
template<typename LambdaType > | |
void | Arcane::Parallel::For (Integer i0, Integer size, const LambdaType &lambda_function) |
Classes, Types et macros pour gérer la concurrence.
Pour plus de renseignements, se reporter à la page Concurrence et multi-threading
Définition dans le fichier Concurrency.h.
|
inline |
Définition à la ligne 31 du fichier Concurrency.h.