Arcane  4.2.2.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::NullTaskImplementation Class Reference
Inheritance diagram for Arcane::NullTaskImplementation:
Collaboration diagram for Arcane::NullTaskImplementation:

Public Member Functions

void initialize (Int32 nb_thread) override
void terminate () override
ITaskcreateRootTask (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

Detailed Description

Definition at line 101 of file ConcurrencyUtils.cc.

Member Function Documentation

◆ createRootTask()

ITask * Arcane::NullTaskImplementation::createRootTask ( ITaskFunctor * f)
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.

◆ currentTaskIndex()

Int32 Arcane::NullTaskImplementation::currentTaskIndex ( ) const
inlineoverridevirtual

Implementation of TaskFactory::currentTaskIndex().

Implements Arcane::ITaskImplementation.

Definition at line 171 of file ConcurrencyUtils.cc.

◆ currentTaskThreadIndex()

Int32 Arcane::NullTaskImplementation::currentTaskThreadIndex ( ) const
inlineoverridevirtual

Implementation of TaskFactory::currentTaskThreadIndex().

Implements Arcane::ITaskImplementation.

Definition at line 167 of file ConcurrencyUtils.cc.

◆ executeParallelFor() [1/8]

void Arcane::NullTaskImplementation::executeParallelFor ( const ComplexForLoopRanges< 1 > & loop_ranges,
const ForLoopRunInfo & run_info,
IMDRangeFunctor< 1 > * functor )
inlineoverridevirtual

Executes a 1D loop in parallel.

Implements Arcane::ITaskImplementation.

Definition at line 139 of file ConcurrencyUtils.cc.

◆ executeParallelFor() [2/8]

void Arcane::NullTaskImplementation::executeParallelFor ( const ComplexForLoopRanges< 2 > & loop_ranges,
const ForLoopRunInfo & run_info,
IMDRangeFunctor< 2 > * functor )
inlineoverridevirtual

Executes a 2D loop in parallel.

Implements Arcane::ITaskImplementation.

Definition at line 145 of file ConcurrencyUtils.cc.

◆ executeParallelFor() [3/8]

void Arcane::NullTaskImplementation::executeParallelFor ( const ComplexForLoopRanges< 3 > & loop_ranges,
const ForLoopRunInfo & run_info,
IMDRangeFunctor< 3 > * functor )
inlineoverridevirtual

Executes a 3D loop in parallel.

Implements Arcane::ITaskImplementation.

Definition at line 151 of file ConcurrencyUtils.cc.

◆ executeParallelFor() [4/8]

void Arcane::NullTaskImplementation::executeParallelFor ( const ComplexForLoopRanges< 4 > & loop_ranges,
const ForLoopRunInfo & run_info,
IMDRangeFunctor< 4 > * functor )
inlineoverridevirtual

Executes a 4D loop in parallel.

Implements Arcane::ITaskImplementation.

Definition at line 157 of file ConcurrencyUtils.cc.

◆ executeParallelFor() [5/8]

void Arcane::NullTaskImplementation::executeParallelFor ( const ParallelFor1DLoopInfo & loop_info)
inlineoverridevirtual

Executes the loop loop_info in parallel.

Implements Arcane::ITaskImplementation.

Definition at line 135 of file ConcurrencyUtils.cc.

References Arcane::IRangeFunctor::executeFunctor().

Here is the call graph for this function:

◆ executeParallelFor() [6/8]

void Arcane::NullTaskImplementation::executeParallelFor ( Integer begin,
Integer size,
const ParallelLoopOptions & options,
IRangeFunctor * f )
inlineoverridevirtual

Executes the functor f in parallel.

Implements Arcane::ITaskImplementation.

Definition at line 125 of file ConcurrencyUtils.cc.

References Arcane::IRangeFunctor::executeFunctor().

Here is the call graph for this function:

◆ executeParallelFor() [7/8]

void Arcane::NullTaskImplementation::executeParallelFor ( Integer begin,
Integer size,
Integer block_size,
IRangeFunctor * f )
inlineoverridevirtual

Executes the functor f in parallel.

Implements Arcane::ITaskImplementation.

Definition at line 120 of file ConcurrencyUtils.cc.

References Arcane::IRangeFunctor::executeFunctor().

Here is the call graph for this function:

◆ executeParallelFor() [8/8]

void Arcane::NullTaskImplementation::executeParallelFor ( Integer begin,
Integer size,
IRangeFunctor * f )
inlineoverridevirtual

Executes the functor f in parallel.

Implements Arcane::ITaskImplementation.

Definition at line 131 of file ConcurrencyUtils.cc.

References Arcane::IRangeFunctor::executeFunctor().

Here is the call graph for this function:

◆ initialize()

void Arcane::NullTaskImplementation::initialize ( Int32 nb_thread)
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.

◆ isActive()

bool Arcane::NullTaskImplementation::isActive ( ) const
inlineoverridevirtual

Indicates if the implementation is active.

Implements Arcane::ITaskImplementation.

Definition at line 163 of file ConcurrencyUtils.cc.

◆ printInfos()

void Arcane::NullTaskImplementation::printInfos ( std::ostream & o) const
inlinefinalvirtual

Prints information about the runtime used.

Implements Arcane::ITaskImplementation.

Definition at line 176 of file ConcurrencyUtils.cc.

◆ terminate()

void Arcane::NullTaskImplementation::terminate ( )
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.

Member Data Documentation

◆ singleton

NullTaskImplementation Arcane::NullTaskImplementation::singleton
static

Definition at line 106 of file ConcurrencyUtils.cc.


The documentation for this class was generated from the following file: