STAPL API Reference |
Modules Classes |
stapl::paragraph_impl::paragraph task execution support. More...
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_executor & | stapl::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_base & | stapl::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. | |
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.
void stapl::set_executor_scheduler | ( | Scheduler && | scheduler | ) |
Sets the scheduler of the gang_executor of the current execution context.