STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
Classes | Modules | Functions | Variables

stapl::paragraph_impl::paragraph task execution support. More...

+ Collaboration diagram for Executors:

Classes

class  stapl::anonymous_executor
 Provides support for getting a p_object on the gang of stapl_main(). More...
 
class  stapl::executor< TaskGraph >
 Executor for scheduling runnable tasks with specific scheduling information. More...
 
class  stapl::executor_base
 Executor base class. More...
 
class  stapl::gang_executor< Scheduler >
 Gang associated executor. More...
 
class  stapl::runnable_base
 Common base for all entries that can be scheduled and executed, such as tasks and executors. More...
 
class  stapl::terminator< T, BinaryOperation >
 General termination detection. More...
 
class  stapl::terminator_base
 Base class for termination detection. More...
 
struct  stapl::execute_all_t
 Tag type to execute all scheduled entries. More...
 

Modules

 Scheduling information
 Scheduling information support.
 
 Work Stealing
 Work stealing support.
 

Functions

anonymous_executorstapl::get_anonymous_executor (void)
 Returns the instance of the anonymous_executor.
 
template<typename Scheduler >
void stapl::set_executor_scheduler (Scheduler &&scheduler)
 Sets the scheduler of the gang_executor of the current execution context. More...
 
executor_basestapl::get_executor (void)
 Returns the gang_executor of the current execution context.
 
std::size_t stapl::get_default_executor_window_size (void) noexcept
 Returns the default sliding window size for executors.
 
std::size_t stapl::get_default_executor_retire_chunk (void) noexcept
 Returns the default retire chunk size for executors.
 

Variables

constexpr execute_all_t stapl::execute_all = { }
 Tag to execute all scheduled entries.
 

Detailed Description

stapl::paragraph_impl::paragraph task execution support.

The executor is the component that allows the PARAGRAPH to schedule runnable tasks. Each paragraph is associated with one stapl::executor. Once all the dependencies of a task have been satisfied, it is added to the executor, along with any required scheduling information. Each stapl::executor is added to the gang's stapl::gang_executor.

The RTS is going through each stapl::executor in the stapl::gang_executor executing its tasks according to the scheduling information.

Function Documentation

◆ set_executor_scheduler()

template<typename Scheduler >
void stapl::set_executor_scheduler ( Scheduler &&  scheduler)

Sets the scheduler of the gang_executor of the current execution context.

Warning
If the executor has entries or is bound to a parent executor, then replacing the scheduler will result in an error.