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 88 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 103 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Implementation of TaskFactory::currentTaskIndex().
Implements Arcane::ITaskImplementation.
Definition at line 158 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Implementation of TaskFactory::currentTaskThreadIndex().
Implements Arcane::ITaskImplementation.
Definition at line 154 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Executes a 1D loop in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 126 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Executes a 2D loop in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 132 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Executes a 3D loop in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 138 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Executes a 4D loop in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 144 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Executes the loop loop_info in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 122 of file ConcurrencyUtils.cc.
References Arcane::IRangeFunctor::executeFunctor().
|
inlineoverridevirtual |
Executes the functor f in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 112 of file ConcurrencyUtils.cc.
References Arcane::IRangeFunctor::executeFunctor().
|
inlineoverridevirtual |
Executes the functor f in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 107 of file ConcurrencyUtils.cc.
References Arcane::IRangeFunctor::executeFunctor().
|
inlineoverridevirtual |
Executes the functor f in parallel.
Implements Arcane::ITaskImplementation.
Definition at line 118 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 97 of file ConcurrencyUtils.cc.
|
inlineoverridevirtual |
Indicates if the implementation is active.
Implements Arcane::ITaskImplementation.
Definition at line 150 of file ConcurrencyUtils.cc.
|
inlinefinalvirtual |
Prints information about the runtime used.
Implements Arcane::ITaskImplementation.
Definition at line 163 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 100 of file ConcurrencyUtils.cc.
|
static |
Definition at line 93 of file ConcurrencyUtils.cc.