FleCSI User API Version: 2.4.2
Loading...
Searching...
No Matches
scheduler Struct Reference

Launches tasks according to their execution-space (template) parameters. More...

Public Member Functions

template<class T, class... AA>
auto & allocate (std::unique_ptr< topology< T > > &p, const typename T::coloring &c, AA &&... aa)
 Create a topology instance with specialization support.
template<auto & F, class... AA>
auto execute (AA &&... aa)
 Launch a task.
template<class V, class... AA>
auto execute (AA &&... aa)
 Launch a variant of a task.
template<auto &, class R, class... AA>
auto reduce (AA &&...)
 Launch a reduction task.
template<class, class R, class... AA>
auto reduce (AA &&...)
 Launch a variant of a reduction task.
const flecsi::runtimeruntime () const
 Get the runtime (which created this scheduler).
 scheduler (scheduler &&)=delete
 Immovable.
template<class V, class... AA>
int test (AA &&... aa)
 Execute a variant of a test task.
template<auto &, class... AA>
int test (AA &&...)
 Execute a test task.

Detailed Description

Launches tasks according to their execution-space (template) parameters.

An instance is passed to control-model actions that accept it.

Note
MPI tasks cannot use this interface.

Constructor & Destructor Documentation

◆ scheduler()

scheduler ( scheduler && )
delete

Immovable.

Member Function Documentation

◆ reduce() [1/2]

template<class, class R, class... AA>
auto reduce ( AA && ...)
nodiscard

Launch a variant of a reduction task.

◆ execute() [1/2]

template<class V, class... AA>
auto execute ( AA &&... aa)

Launch a variant of a task.

Template Parameters
Vlike task_class

◆ test() [1/2]

template<class V, class... AA>
int test ( AA &&... aa)
nodiscard

Execute a variant of a test task.

◆ reduce() [2/2]

template<auto &, class R, class... AA>
auto reduce ( AA && ...)
nodiscard

Launch a reduction task.

Template Parameters
Rreduction operation
Returns
a future providing the reduced return value
See also
execute about parameter and argument types.

◆ execute() [2/2]

template<auto & F, class... AA>
auto execute ( AA &&... aa)

Launch a task.

◆ test() [2/2]

template<auto &, class... AA>
int test ( AA && ...)
nodiscard

Execute a test task.

◆ allocate()

template<class T, class... AA>
auto & allocate ( std::unique_ptr< topology< T > > & p,
const typename T::coloring & c,
AA &&... aa )

Create a topology instance with specialization support.

Calls the specialization's initialize on the topology instance.

Parameters
pwhere to store the topology
ccoloring (perhaps from an mpi_coloring)
aafurther specialization-specific parameters
Returns
the new instance

◆ runtime()

const flecsi::runtime & runtime ( ) const

Get the runtime (which created this scheduler).