Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Concurrency.h File Reference

Classes, Types, and macros for managing concurrency. More...

#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"
#include <algorithm>
Include dependency graph for Concurrency.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Arcane
 -- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
namespace  Arcane::Parallel
 Concurrency implementation.

Functions

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))
 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>
void Arcane::arcaneParallelFor (Integer i0, Integer size, const LambdaType &lambda_function)
 Applies the lambda function lambda_function concurrently over the iteration range [i0,i0+size].
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 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)

Detailed Description

Classes, Types, and macros for managing concurrency.

For more information, refer to the page arcanedoc_parallel_concurrency

Definition in file Concurrency.h.

Function Documentation

◆ adaptGrainSize()

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

Definition at line 33 of file Concurrency.h.