|
| 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()
.