Public Member Functions | |
| void | initialize (Int32 nb_thread) override |
| void | terminate () override |
| ITask * | createRootTask (ITaskFunctor *f) override |
| Creates a root task. The implementation must copy the value of f, which is either a TaskFunctor or a TaskFunctorWithContext. | |
| void | executeParallelFor (Integer begin, Integer size, Integer block_size, IRangeFunctor *f) override |
| Executes the functor f in parallel. | |
| void | executeParallelFor (Integer begin, Integer size, const ParallelLoopOptions &options, IRangeFunctor *f) override |
| Executes the functor f in parallel. | |
| void | executeParallelFor (Integer begin, Integer size, IRangeFunctor *f) override |
| Executes the functor f in parallel. | |
| void | executeParallelFor (const ParallelFor1DLoopInfo &loop_info) override |
| Executes the loop loop_info in parallel. | |
| void | executeParallelFor (const ComplexForLoopRanges< 1 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 1 > *functor) override |
| Executes a 1D loop in parallel. | |
| void | executeParallelFor (const ComplexForLoopRanges< 2 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 2 > *functor) override |
| Executes a 2D loop in parallel. | |
| void | executeParallelFor (const ComplexForLoopRanges< 3 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 3 > *functor) override |
| Executes a 3D loop in parallel. | |
| void | executeParallelFor (const ComplexForLoopRanges< 4 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 4 > *functor) override |
| Executes a 4D loop in parallel. | |
| bool | isActive () const override |
| Indicates if the implementation is active. | |
| Int32 | currentTaskThreadIndex () const override |
| Implementation of TaskFactory::currentTaskThreadIndex(). | |
| Int32 | currentTaskIndex () const override |
| Implementation of TaskFactory::currentTaskIndex(). | |
| void | printInfos (std::ostream &o) const final |
| Prints information about the runtime used. | |
| Public Member Functions inherited from Arcane::ITaskImplementation | |
| Int32 | nbAllowedThread () const |
| Maximum number of threads used to manage tasks. | |
Static Public Attributes | |
| static NullTaskImplementation | singleton |
Definition at line 101 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Creates a root task. The implementation must copy the value of f, which is either a TaskFunctor or a TaskFunctorWithContext.
Implements Arcane::ITaskImplementation.
Definition at line 116 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Implementation of TaskFactory::currentTaskIndex().
Implements Arcane::ITaskImplementation.
Definition at line 171 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Implementation of TaskFactory::currentTaskThreadIndex().
Implements Arcane::ITaskImplementation.
Definition at line 167 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Executes a 1D loop in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 139 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Executes a 2D loop in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 145 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Executes a 3D loop in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 151 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Executes a 4D loop in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 157 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Executes the loop loop_info in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 135 of file ConcurrencyUtils.cc.
References Arcane::IRangeFunctor::executeFunctor().
|
inlineoverridevirtual |
Executes the functor f in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 125 of file ConcurrencyUtils.cc.
References Arcane::IRangeFunctor::executeFunctor().
|
inlineoverridevirtual |
Executes the functor f in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 120 of file ConcurrencyUtils.cc.
References Arcane::IRangeFunctor::executeFunctor().
|
inlineoverridevirtual |
Executes the functor f in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 131 of file ConcurrencyUtils.cc.
References Arcane::IRangeFunctor::executeFunctor().
|
inlineoverridevirtual |
. Initializes the implementation with a maximum of nb_thread. If nb_thread is 0, the implementation can choose the number of threads automatically. This method is internal to Arcane and should only be called during the execution initialization.
Implements Arcane::ITaskImplementation.
Definition at line 110 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Indicates if the implementation is active.
Implements Arcane::ITaskImplementation.
Definition at line 163 of file ConcurrencyUtils.cc.
|
inlinefinalvirtual |
Prints information about the runtime used.
Implements Arcane::ITaskImplementation.
Definition at line 176 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
. Terminates the use of the implementation. This method must be called only at the end of the calculation.
Implements Arcane::ITaskImplementation.
Definition at line 113 of file ConcurrencyUtils.cc.
|
static |
Definition at line 106 of file ConcurrencyUtils.cc.