Specialization for identity that applies identity task squashing optimization implemented in identity_task_impl.
More...
|
result_type | operator() (tg_callback const &cb) final |
| Invokes workfunction with the specified view set.
|
|
bool | migratable (void) const noexcept final |
| Return true if task can be migrated. More...
|
|
void | migrate (std::size_t, tg_callback const &) final |
| Method overridden in Task to request migration of this task by task_graph. More...
|
|
bool | is_factory_task (void) const noexcept final |
| Pure virtual method implemented by derived classes to report whether or not they are instance of the class template factory_task . More...
|
|
std::size_t | task_id () const |
| Extract task identifier from bit field and return it.
|
|
p_object const & | comm_p_object (tg_callback const &cb) const |
| Use presence/lack of intra-PARAGRAPH successors to inform the execution in which task communication group this task's traffic should be placed. More...
|
|
virtual bool | finished (void) const |
| Return true if task has completed and does not need reinvocation. This default implementation is used by the non factory tasks, where the method should never be called.
|
|
virtual bool | reinvoke (tg_callback const &) |
| Reinvoke the task if it has not completed. This default implementation is used by the non factory tasks, where the method should never be called. More...
|
|
virtual bool | is_nested_pg_task (void) const noexcept |
| Allows detection of derived class acting as holder for nested paragraph. Used paragraph::operator() to detect starting tasks which are actually nested paragraphs to avoid passing them to the executor.
|
|
|
bool | has_succs () const |
| Extract the has successors boolean trait from the bit field and return. More...
|
|
void | processed (empty_class &&ignore, bool b_has_succs, tg_callback const &) const |
| Notify the PARAGRAPH that the task has finished execution and provide the return value to trigger data flow. Signature for void return values. More...
|
|
template<typename Return > |
void | processed (Return &&val, bool b_has_succs, tg_callback const &) const |
| Notify the PARAGRAPH that the task has finished execution and provide the return value to trigger data flow. Signature for non void return values. More...
|
|
template<typename SchedulerEntry, typename EnableMigration, typename EnablePersistence, template< typename... > class Storage, typename T, typename Q>
class stapl::paragraph_impl::Task< SchedulerEntry, EnableMigration, EnablePersistence, identity< Q >, Storage< lazy_edge_reference< T > > >
Specialization for identity that applies identity task squashing optimization implemented in identity_task_impl.
◆ status_type
Return values for function operator.
Enumerator |
---|
Active | Runnable object is active.
|
Idle | Runnable object is idle.
|
Finished | Runnable object has finished.
|
◆ migratable()
|
finalvirtualnoexceptinherited |
Return true
if task can be migrated.
This default implementation is used by the factory task, where migration is not allowed.
Reimplemented from stapl::paragraph_impl::task_base.
◆ migrate()
◆ is_factory_task()
|
finalvirtualnoexceptinherited |
Pure virtual method implemented by derived classes to report whether or not they are instance of the class template factory_task
.
Used by the runtime executor and scheduler to specialize scheduling (i.e., execute once immediately upon being made runnable).
Implements stapl::paragraph_impl::task_base.
◆ has_succs()
bool stapl::paragraph_impl::task_base::has_succs |
( |
| ) |
const |
|
protectedinherited |
Extract the has successors boolean trait from the bit field and return.
- Returns
- True if this task has successors in the PARAGRAPH.
◆ processed() [1/2]
void stapl::paragraph_impl::task_base::processed |
( |
empty_class && |
ignore, |
|
|
bool |
b_has_succs, |
|
|
tg_callback const & |
cb |
|
) |
| const |
|
protectedinherited |
Notify the PARAGRAPH that the task has finished execution and provide the return value to trigger data flow. Signature for void return values.
- Parameters
-
ignore | Parameter passed in place of void for genericity. Unused. |
Called from derived class function operator implementations.
◆ processed() [2/2]
template<typename Return >
void stapl::paragraph_impl::task_base::processed |
( |
Return && |
val, |
|
|
bool |
b_has_succs, |
|
|
tg_callback const & |
cb |
|
) |
| const |
|
protectedinherited |
Notify the PARAGRAPH that the task has finished execution and provide the return value to trigger data flow. Signature for non void return values.
- Parameters
-
val | The return value of the workfunction invocation. |
Called from derived class function operator implementations.
◆ comm_p_object()
p_object const & stapl::paragraph_impl::task_base::comm_p_object |
( |
tg_callback const & |
cb | ) |
const |
|
inherited |
Use presence/lack of intra-PARAGRAPH successors to inform the execution in which task communication group this task's traffic should be placed.
- Parameters
-
cb | Callback mechanism to PARAGRAPH passed to task by its executor. |
◆ reinvoke()
virtual bool stapl::paragraph_impl::task_base::reinvoke |
( |
tg_callback const & |
| ) |
|
|
virtualinherited |
Reinvoke the task if it has not completed. This default implementation is used by the non factory tasks, where the method should never be called.
- Returns
true
if it needs to be reinvoked again, otherwise false
.
Reimplemented in stapl::paragraph_impl::factory_task< Factory, ViewSet, SchedulerEntry, PGV >, and stapl::paragraph_impl::factory_task< Factory, view_manager< coarsener_type< Factory >::type, Views... >::result_type, Scheduler::entry_type, paragraph_impl::paragraph_view< Scheduler > >.
The documentation for this class was generated from the following file: