12#ifndef ARCCORE_BASE_ITASKIMPLEMENTATION_H
13#define ARCCORE_BASE_ITASKIMPLEMENTATION_H
17#include "arccore/concurrency/ConcurrencyGlobal.h"
53 virtual void initialize(
Int32 nb_thread) = 0;
59 virtual void terminate() = 0;
100 ARCCORE_DEPRECATED_REASON(
"Y2025: use ConcurrencyBase::maxAllowedThread() instead")
Loop execution information.
Interface of a functor on a multi-dimensional iteration interval of dimension RankValue.
Interface of a functor on an iteration interval.
virtual void executeParallelFor(Integer begin, Integer size, const ParallelLoopOptions &options, IRangeFunctor *f)=0
Executes the functor f in parallel.
virtual void executeParallelFor(Integer begin, Integer size, IRangeFunctor *f)=0
Executes the functor f in parallel.
virtual void executeParallelFor(const ParallelFor1DLoopInfo &loop_info)=0
Executes the loop loop_info in parallel.
Int32 nbAllowedThread() const
Maximum number of threads used to manage tasks.
virtual void executeParallelFor(const ComplexForLoopRanges< 2 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 2 > *functor)=0
Executes a 2D loop in parallel.
virtual void executeParallelFor(Integer begin, Integer size, Integer block_size, IRangeFunctor *f)=0
Executes the functor f in parallel.
virtual void executeParallelFor(const ComplexForLoopRanges< 3 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 3 > *functor)=0
Executes a 3D loop in parallel.
virtual ITask * createRootTask(ITaskFunctor *f)=0
Creates a root task. The implementation must copy the value of f, which is either a TaskFunctor or a ...
virtual Int32 currentTaskIndex() const =0
Implementation of TaskFactory::currentTaskIndex().
virtual bool isActive() const =0
Indicates if the implementation is active.
virtual void executeParallelFor(const ComplexForLoopRanges< 4 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 4 > *functor)=0
Executes a 4D loop in parallel.
virtual void executeParallelFor(const ComplexForLoopRanges< 1 > &loop_ranges, const ForLoopRunInfo &run_info, IMDRangeFunctor< 1 > *functor)=0
Executes a 1D loop in parallel.
virtual void printInfos(std::ostream &o) const =0
Prints information about the runtime used.
virtual Int32 currentTaskThreadIndex() const =0
Implementation of TaskFactory::currentTaskThreadIndex().
Interface for a concurrent task.
Characteristics of a multi-thread 1D loop.
Execution options for a parallel loop in multi-threading.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.
std::int32_t Int32
Signed integer type of 32 bits.