Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du fichier Concurrency.h

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>
+ Graphe des dépendances par inclusion de Concurrency.h:
+ Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

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)
 

Description détaillée

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.

Documentation des fonctions

◆ adaptGrainSize()

Int32 Arcane::impl::adaptGrainSize ( const ForLoopRunInfo run_info)
inline

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