|
|
| gang_executor (runtime::location_md &l) |
| |
|
| gang_executor (runtime::location_md &l, Scheduler &&scheduler) |
| |
|
result_type | populate (void) noexcept override |
| | gang_executor objects do not get populated by any of the entries. This function is here to enforce interface compatibility.
|
| |
|
result_type | operator() (void) override |
| | Executes some entries.
|
| |
|
void | operator() (execute_all_t) override |
| | Executes all entries.
|
| |
|
bool | empty (void) noexcept override |
| |
|
runtime::location_md const & | get_location_md (void) const noexcept |
| |
|
runtime::location_md & | get_location_md (void) noexcept |
| |
|
scheduler_type const & | get_scheduler (void) const noexcept |
| |
|
scheduler_type & | get_scheduler (void) noexcept |
| |
|
bool | is_bound (void) const noexcept |
| | Returns true if this executor is inserted to another executor.
|
| |
|
void | bind_to (const runtime::gang_id gid) |
| | Binds this executor to the executor of gid.
|
| |
|
template<typename RunnableFunction , typename FinishedFunction > |
| void | set_notifiers (RunnableFunction &&rf, chunker::entry_type &entry, FinishedFunction &&ff) |
| | Sets the notifiers to be called when the executor becomes runnable or has finished execution and associates it with a chunker entry.
|
| |
|
void | retire_chunker_entry (void) noexcept |
| | Retires the chunker entry associated with this executor.
|
| |
|
bool | idle (void) const noexcept |
| | Returns true if the executor is processing entries.
|
| |
|
void | add_task (runnable_base *t) |
| | Adds a task without scheduling information.
|
| |
|
template<typename SchedInfo > |
| void | add_executor (executor_base *, SchedInfo &&, const bool is_gang_executor=false) |
| | Adds an executor with the given scheduling information.
|
| |
|
void | add_executor (executor_base *ex, none_t, const bool is_gang_executor=false) |
| | Adds an executor without scheduling information.
|
| |
| void | add_executor (executor_base *ex, const bool is_gang_executor=false) |
| | Adds an executor without scheduling information. More...
|
| |
template<typename Scheduler>
class stapl::gang_executor< Scheduler >
Gang associated executor.
Schedules executor objects from PARAGRAPHs and gang_executor objects from child parallel sections.
- Warning
Scheduler::entry_type has to provide a function is_linked().