Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::NullTaskImplementation Class Reference

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 88 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 103 of file ConcurrencyUtils.cc.

◆ currentTaskIndex()

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

Implementation of TaskFactory::currentTaskIndex().

Implements Arcane::ITaskImplementation.

Definition at line 158 of file ConcurrencyUtils.cc.

◆ currentTaskThreadIndex()

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

Implementation of TaskFactory::currentTaskThreadIndex().

Implements Arcane::ITaskImplementation.

Definition at line 154 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 126 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 132 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 138 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 144 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 122 of file ConcurrencyUtils.cc.

References Arcane::IRangeFunctor::executeFunctor().

◆ 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 112 of file ConcurrencyUtils.cc.

References Arcane::IRangeFunctor::executeFunctor().

◆ 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 107 of file ConcurrencyUtils.cc.

References Arcane::IRangeFunctor::executeFunctor().

◆ 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 118 of file ConcurrencyUtils.cc.

References Arcane::IRangeFunctor::executeFunctor().

◆ initialize()

void Arcane::NullTaskImplementation::initialize ( Int32 nb_thread)
inlineoverridevirtual

Implements Arcane::ITaskImplementation.

Definition at line 97 of file ConcurrencyUtils.cc.

◆ isActive()

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

Indicates if the implementation is active.

Implements Arcane::ITaskImplementation.

Definition at line 150 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 163 of file ConcurrencyUtils.cc.

◆ terminate()

void Arcane::NullTaskImplementation::terminate ( )
inlineoverridevirtual

Implements Arcane::ITaskImplementation.

Definition at line 100 of file ConcurrencyUtils.cc.

Member Data Documentation

◆ singleton

NullTaskImplementation Arcane::NullTaskImplementation::singleton
static

Definition at line 93 of file ConcurrencyUtils.cc.


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