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/base/ForLoopRunInfo.h"
38template <
int RankValue,
typename LambdaType,
typename... ReducerArgs>
inline void
41 const LambdaType& lambda_function,
42 const ReducerArgs&... reducer_args)
54template <
int RankValue,
typename LambdaType,
typename... ReducerArgs>
inline void
57 const LambdaType& lambda_function,
58 const ReducerArgs&... reducer_args)
70template <
int RankValue,
typename LambdaType,
typename... ReducerArgs>
inline void
73 const LambdaType& lambda_function,
74 const ReducerArgs&... reducer_args)
86template <
int RankValue,
typename LambdaType,
typename... ReducerArgs>
inline void
89 const LambdaType& lambda_function,
90 const ReducerArgs&... reducer_args)
102template <
int RankValue,
typename LambdaType>
inline void
104 const LambdaType& lambda_function)
116template <
int RankValue,
typename LambdaType>
inline void
118 const LambdaType& lambda_function)
Declarations of types used in Arcane.
Loop execution information.
Execution options for a parallel loop in multi-threading.
void arcaneParallelFor(Integer i0, Integer size, InstanceType *itype, void(InstanceType::*lambda_function)(Integer i0, Integer size))
Applies the lambda function lambda_function concurrently over the iteration range [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)
Applies the lambda function lambda_function concurrently over the iteration interval given by loop_ra...