Set of classes managing concurrency. More...
Classes | |
| class | Arcane::ParallelLoopOptions |
| Execution options for a parallel loop in multi-threading. More... | |
| class | Arcane::ITaskImplementation |
| Implementation of a task factory. More... | |
| class | Arcane::TaskContext |
| Execution context of a task. More... | |
| class | Arcane::ITaskFunctor |
| Interface for a task functor. More... | |
| class | Arcane::TaskFunctor< InstanceType > |
| Functor without arguments for a task. More... | |
| class | Arcane::TaskFunctorWithContext< InstanceType > |
| Functor for a task taking a TaskContext as an argument. More... | |
| class | Arcane::ITask |
| Interface for a concurrent task. More... | |
| class | Arcane::TaskFactory |
| Factory for tasks. More... | |
Functions | |
| template<typename InstanceType, typename ItemType> | |
| void | Arcane::arcaneParallelForeach (const ItemVectorView &items_view, const ForLoopRunInfo &run_info, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items)) |
| Applies the method function of the instance instance concurrently on the view items_view with the options options. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelForeach (const ItemVectorView &items_view, const ForLoopRunInfo &run_info, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the view items_view with the 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)) |
| Applies the method function of the instance instance concurrently on the view items_view with the 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)) |
| Applies the method function of the instance instance concurrently on the group items with the options options. | |
| template<typename InstanceType, typename ItemType> | |
| void | Arcane::arcaneParallelForeach (const ItemVectorView &items_view, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items)) |
| Applies the method function of the instance instance concurrently on the view items_view. | |
| template<typename InstanceType, typename ItemType> | |
| void | Arcane::arcaneParallelForeach (const ItemGroup &items, InstanceType *instance, void(InstanceType::*function)(ItemVectorViewT< ItemType > items)) |
| Applies the method function of the instance instance concurrently on the group items. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelForeach (const ItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the view items_view with the options options. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelForeach (const ItemGroup &items, const ParallelLoopOptions &options, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function concurrently on the group items with the options options. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelForeach (const ItemVectorView &items_view, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the view items_view. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelForeach (const ItemGroup &items, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function concurrently on the group items. | |
| template<typename InstanceType> | |
| void | Arcane::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,i0+size]. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelFor (Integer i0, Integer size, const ForLoopRunInfo &options, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function concurrently over the iteration range [i0,i0+size] with the options options. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelFor (Integer i0, Integer size, const ParallelLoopOptions &options, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function concurrently over the iteration range [i0,i0+size] with the options options. | |
| template<typename LambdaType, typename... Views> | |
| void | Arcane::arcaneParallelForVa (const ForLoopRunInfo &run_info, const LambdaType &lambda_function, Views... views) |
| Applies the lambda function lambda_function instance concurrently on the container views views with the options options. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelForeach (const ComponentItemVectorView &items_view, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the component view items_view. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelForeach (const ComponentItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the component view items_view with the options options. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelForeach (const EnvItemVectorView &items_view, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the environment view items_view. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelForeach (const EnvItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the environment view items_view with the options options. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelForeach (const MatItemVectorView &items_view, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the material view items_view. | |
| template<typename LambdaType> | |
| void | Arcane::arcaneParallelForeach (const MatItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the material view items_view with the options options. | |
| template<typename LambdaType> | |
| void | Arcane::Parallel::Foreach (const ComponentItemVectorView &items_view, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the component view items_view. | |
| template<typename LambdaType> | |
| void | Arcane::Parallel::Foreach (const ComponentItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the component view items_view with the options options. | |
| template<typename LambdaType> | |
| void | Arcane::Parallel::Foreach (const EnvItemVectorView &items_view, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the environment view items_view. | |
| template<typename LambdaType> | |
| void | Arcane::Parallel::Foreach (const EnvItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the environment view items_view with the options options. | |
| template<typename LambdaType> | |
| void | Arcane::Parallel::Foreach (const MatItemVectorView &items_view, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the material view items_view. | |
| template<typename LambdaType> | |
| void | Arcane::Parallel::Foreach (const MatItemVectorView &items_view, const ParallelLoopOptions &options, const LambdaType &lambda_function) |
| Applies the lambda function lambda_function instance concurrently on the material view items_view with the options options. | |
Set of classes managing concurrency.
For more information, refer to the page arcanedoc_parallel_concurrency
|
inline |
Applies the lambda function lambda_function concurrently over the iteration range [i0,i0+size] with the options options.
Definition at line 217 of file Concurrency.h.
References Arcane::TaskFactory::executeParallelFor().
|
inline |
Applies the lambda function lambda_function concurrently over the iteration range [i0,i0+size] with the options options.
Definition at line 231 of file Concurrency.h.
References arcaneParallelFor().
|
inline |
Applies the lambda function lambda_function concurrently over the iteration range [i0,i0+size].
Definition at line 203 of file Concurrency.h.
References Arcane::TaskFactory::executeParallelFor().
Referenced by Arcane::Accelerator::Impl::_applyConstituentCells(), and arcaneParallelFor().
|
inline |
Applies the lambda function lambda_function instance concurrently on the component view items_view.
Definition at line 88 of file MatConcurrency.h.
References Arcane::TaskFactory::executeParallelFor(), and Arcane::Materials::ComponentItemVectorView::nbItem().
|
inline |
Applies the lambda function lambda_function instance concurrently on the component view items_view with the options options.
Definition at line 100 of file MatConcurrency.h.
References Arcane::TaskFactory::executeParallelFor(), and Arcane::Materials::ComponentItemVectorView::nbItem().
|
inline |
Applies the lambda function lambda_function instance concurrently on the environment view items_view.
Definition at line 113 of file MatConcurrency.h.
References Arcane::TaskFactory::executeParallelFor(), and Arcane::Materials::ComponentItemVectorView::nbItem().
|
inline |
Applies the lambda function lambda_function instance concurrently on the environment view items_view with the options options.
Definition at line 125 of file MatConcurrency.h.
References Arcane::TaskFactory::executeParallelFor(), and Arcane::Materials::ComponentItemVectorView::nbItem().
|
inline |
Applies the method function of the instance instance concurrently on the group items with the options options.
Definition at line 119 of file Concurrency.h.
References arcaneParallelForeach().
|
inline |
Applies the lambda function lambda_function concurrently on the group items.
Definition at line 190 of file Concurrency.h.
References Arcane::ItemGroup::_paddedView(), and arcaneParallelForeach().
|
inline |
Applies the lambda function lambda_function concurrently on the group items with the options options.
Definition at line 167 of file Concurrency.h.
References Arcane::ItemGroup::_paddedView(), and arcaneParallelForeach().
|
inline |
Applies the method function of the instance instance concurrently on the group items.
Definition at line 143 of file Concurrency.h.
References arcaneParallelForeach().
|
inline |
Applies the lambda function lambda_function instance concurrently on the view items_view with the options options.
Definition at line 81 of file Concurrency.h.
References Arcane::AbstractItemRangeFunctor::blockGrainSize(), Arcane::TaskFactory::defaultParallelLoopOptions(), Arcane::TaskFactory::executeParallelFor(), Arcane::AbstractItemRangeFunctor::nbBlock(), and Arcane::ParallelLoopOptions::setGrainSize().
|
inline |
Applies the method function of the instance instance concurrently on the view items_view with the options options.
Definition at line 57 of file Concurrency.h.
References Arcane::AbstractItemRangeFunctor::blockGrainSize(), Arcane::TaskFactory::defaultParallelLoopOptions(), Arcane::TaskFactory::executeParallelFor(), Arcane::AbstractItemRangeFunctor::nbBlock(), and Arcane::ParallelLoopOptions::setGrainSize().
Referenced by Arcane::Accelerator::impl::_applyItems(), arcaneParallelForeach(), arcaneParallelForeach(), arcaneParallelForeach(), arcaneParallelForeach(), arcaneParallelForeach(), arcaneParallelForeach(), arcaneParallelForeach(), arcaneParallelForeach(), Arcane::Parallel::Foreach(), Arcane::Parallel::Foreach(), Arcane::Parallel::Foreach(), Arcane::Parallel::Foreach(), Arcane::Parallel::Foreach(), and Arcane::Parallel::Foreach().
|
inline |
Applies the lambda function lambda_function instance concurrently on the view items_view.
Definition at line 179 of file Concurrency.h.
References arcaneParallelForeach().
|
inline |
Applies the lambda function lambda_function instance concurrently on the view items_view with the options options.
Definition at line 155 of file Concurrency.h.
References arcaneParallelForeach().
|
inline |
Applies the method function of the instance instance concurrently on the view items_view with the options options.
Definition at line 106 of file Concurrency.h.
References arcaneParallelForeach().
|
inline |
Applies the method function of the instance instance concurrently on the view items_view.
Definition at line 131 of file Concurrency.h.
References arcaneParallelForeach().
|
inline |
Applies the lambda function lambda_function instance concurrently on the material view items_view.
Definition at line 138 of file MatConcurrency.h.
References Arcane::TaskFactory::executeParallelFor(), and Arcane::Materials::ComponentItemVectorView::nbItem().
|
inline |
Applies the lambda function lambda_function instance concurrently on the material view items_view with the options options.
Definition at line 150 of file MatConcurrency.h.
References Arcane::TaskFactory::executeParallelFor(), and Arcane::Materials::ComponentItemVectorView::nbItem().
|
inline |
Applies the lambda function lambda_function instance concurrently on the container views views with the options options.
Definition at line 258 of file Concurrency.h.
References ARCANE_FATAL, and Arcane::TaskFactory::executeParallelFor().
|
inline |
Applies the lambda function lambda_function instance concurrently on the component view items_view.
Definition at line 172 of file MatConcurrency.h.
References Arcane::arcaneParallelForeach().
|
inline |
Applies the lambda function lambda_function instance concurrently on the component view items_view with the options options.
Definition at line 183 of file MatConcurrency.h.
References Arcane::arcaneParallelForeach().
|
inline |
Applies the lambda function lambda_function instance concurrently on the environment view items_view.
Definition at line 195 of file MatConcurrency.h.
References Arcane::arcaneParallelForeach().
|
inline |
Applies the lambda function lambda_function instance concurrently on the environment view items_view with the options options.
Definition at line 206 of file MatConcurrency.h.
References Arcane::arcaneParallelForeach().
|
inline |
Applies the lambda function lambda_function instance concurrently on the material view items_view.
Definition at line 218 of file MatConcurrency.h.
References Arcane::arcaneParallelForeach().
|
inline |
Applies the lambda function lambda_function instance concurrently on the material view items_view with the options options.
Definition at line 229 of file MatConcurrency.h.
References Arcane::arcaneParallelForeach().