12#ifndef ARCANE_UTILS_CONCURRENCYUTILS_H
13#define ARCANE_UTILS_CONCURRENCYUTILS_H
19#include "arccore/concurrency/ParallelFor.h"
20#include "arccore/concurrency/TaskFactory.h"
21#include "arccore/concurrency/ITaskImplementation.h"
22#include "arccore/concurrency/Task.h"
23#include "arccore/concurrency/ForLoopRunInfo.h"
37template<
int RankValue,
typename LambdaType,
typename... ReducerArgs>
inline void
40 const LambdaType& lambda_function,
41 const ReducerArgs&... reducer_args)
52template<
int RankValue,
typename LambdaType,
typename... ReducerArgs>
inline void
55 const LambdaType& lambda_function,
56 const ReducerArgs&... reducer_args)
67template <
int RankValue,
typename LambdaType,
typename... ReducerArgs>
inline void
70 const LambdaType& lambda_function,
71 const ReducerArgs&... reducer_args)
82template <
int RankValue,
typename LambdaType,
typename... ReducerArgs>
inline void
85 const LambdaType& lambda_function,
86 const ReducerArgs&... reducer_args)
97template<
int RankValue,
typename LambdaType>
inline void
99 const LambdaType& lambda_function)
110template<
int RankValue,
typename LambdaType>
inline void
112 const LambdaType& lambda_function)
Déclarations des types utilisés dans Arcane.
Interval d'itération complexe.
Informations d'exécution d'une boucle.
Options d'exécution d'une boucle parallèle en multi-thread.
Interval d'itération simple.
void 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,...
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
void arccoreParallelFor(const ComplexForLoopRanges< RankValue > &loop_ranges, const ForLoopRunInfo &run_info, const LambdaType &lambda_function, const ReducerArgs &... reducer_args)
Applique en concurrence la fonction lambda lambda_function sur l'intervalle d'itération donné par loo...