Classes, Types et macros pour gérer la concurrence. Plus de détails...
#include "arcane/utils/UtilsTypes.h"
#include "arcane/utils/RangeFunctor.h"
#include "arcane/utils/FatalErrorException.h"
#include "arcane/utils/ForLoopTraceInfo.h"
#include "arcane/utils/ParallelLoopOptions.h"
#include <optional>
Aller au code source de ce fichier.
Classes | |
class | Arcane::TaskContext |
Contexte d'éxecution d'une tâche. Plus de détails... | |
class | Arcane::ITaskFunctor |
Interface d'un fonctor pour une tâche. Plus de détails... | |
class | Arcane::TaskFunctor< InstanceType > |
Fonctor sans argument pour une tâche. Plus de détails... | |
class | Arcane::TaskFunctorWithContext< InstanceType > |
Fonctor pour une tâche prenant un TaskContext en argument. Plus de détails... | |
class | Arcane::ITask |
Interface d'une tâche concourante. Plus de détails... | |
class | Arcane::ITaskImplementation |
Implémentation d'une fabrique de tâches. Plus de détails... | |
class | Arcane::TaskFactory |
Fabrique pour les tâches. Plus de détails... | |
class | Arcane::ForLoopRunInfo |
Informations d'exécution d'une boucle. Plus de détails... | |
class | Arcane::ParallelFor1DLoopInfo |
Caractéristiques d'un boucle 1D multi-thread. Plus de détails... | |
Espaces de nommage | |
namespace | Arcane |
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*- | |
Fonctions | |
template<int RankValue, typename LambdaType , typename... ReducerArgs> | |
void | Arcane::arcaneParallelFor (const ComplexForLoopRanges< RankValue > &loop_ranges, const ParallelLoopOptions &options, const LambdaType &lambda_function, const ReducerArgs &... reducer_args) |
Applique en concurrence la fonction lambda lambda_function sur l'intervalle d'itération donné par loop_ranges. | |
template<int RankValue, typename LambdaType , typename... ReducerArgs> | |
void | Arcane::arcaneParallelFor (const SimpleForLoopRanges< RankValue > &loop_ranges, const ParallelLoopOptions &options, const LambdaType &lambda_function, const ReducerArgs &... reducer_args) |
Applique en concurrence la fonction lambda lambda_function sur l'intervalle d'itération donné par loop_ranges. | |
template<int RankValue, typename LambdaType > | |
void | Arcane::arcaneParallelFor (const ComplexForLoopRanges< RankValue > &loop_ranges, const LambdaType &lambda_function) |
Applique en concurrence la fonction lambda lambda_function sur l'intervalle d'itération donné par loop_ranges. | |
template<int RankValue, typename LambdaType > | |
void | Arcane::arcaneParallelFor (const SimpleForLoopRanges< RankValue > &loop_ranges, const LambdaType &lambda_function) |
Applique en concurrence la fonction lambda lambda_function sur l'intervalle d'itération donné par loop_ranges. | |
Classes, Types et macros pour gérer la concurrence.
Pour plus de renseignements, se reporter à la page arcanedoc_parallel_concurrency
Définition dans le fichier ConcurrencyUtils.h.