|
ttg 1.0.0
Template Task Graph (TTG): flowgraph-based programming model for high-performance distributed-memory algorithms
|
#include <task.h>
Public Types | |
| using | key_type = typename TT::key_type |
Public Types inherited from ttg_parsec::detail::parsec_ttg_task_base_t | |
| typedef void() | release_task_fn(parsec_ttg_task_base_t *) |
Public Member Functions | |
| parsec_ttg_task_t (parsec_thread_mempool_t *mempool, parsec_task_class_t *task_class, TT *tt_ptr) | |
| parsec_ttg_task_t (const key_type &key, parsec_thread_mempool_t *mempool, parsec_task_class_t *task_class, parsec_taskpool_t *taskpool, TT *tt_ptr, int32_t priority) | |
| void | destroy () |
| template<ttg::ExecutionSpace Space> | |
| parsec_hook_return_t | invoke_op () |
| template<ttg::ExecutionSpace Space> | |
| parsec_hook_return_t | invoke_evaluate () |
| parsec_key_t | pkey () |
Public Member Functions inherited from ttg_parsec::detail::parsec_ttg_task_base_t | |
| void | release_task () |
| void | set_dummy (bool d) |
| bool | is_dummy () |
Static Public Member Functions | |
| static void | release_task (parsec_ttg_task_base_t *task_base) |
Public Attributes | |
| TT * | tt = nullptr |
| key_type | key |
| std::array< stream_info_t, num_streams > | streams |
| device_state_t< TT::derived_has_device_op()> | dev_state |
| ttg_data_copy_t * | copies [num_copies] = { nullptr } |
Public Attributes inherited from ttg_parsec::detail::parsec_ttg_task_base_t | |
| parsec_task_t | parsec_task |
| int32_t | in_data_count = 0 |
| int32_t | data_count = 0 |
| ttg_data_copy_t ** | copies |
| parsec_hash_table_item_t | tt_ht_item = {} |
| release_task_fn * | release_task_cb = nullptr |
| device_ptr_t * | dev_ptr = nullptr |
| bool | remove_from_hash = true |
| bool | dummy = false |
| bool | defer_writer = TTG_PARSEC_DEFER_WRITER |
| ttg_parsec_data_flags | data_flags |
Static Public Attributes | |
| static constexpr size_t | num_streams = TT::numins |
| static constexpr size_t | num_copies |
Additional Inherited Members | |
Protected Member Functions inherited from ttg_parsec::detail::parsec_ttg_task_base_t | |
| template<std::size_t i = 0, typename TT > | |
| void | init_stream_info_impl (TT *tt, std::array< stream_info_t, TT::numins > &streams) |
| template<typename TT > | |
| void | init_stream_info (TT *tt, std::array< stream_info_t, TT::numins > &streams) |
| parsec_ttg_task_base_t (parsec_thread_mempool_t *mempool, parsec_task_class_t *task_class, int data_count, ttg_data_copy_t **copies, bool defer_writer=TTG_PARSEC_DEFER_WRITER) | |
| parsec_ttg_task_base_t (parsec_thread_mempool_t *mempool, parsec_task_class_t *task_class, parsec_taskpool_t *taskpool, int32_t priority, int data_count, ttg_data_copy_t **copies, release_task_fn *release_fn, bool defer_writer=TTG_PARSEC_DEFER_WRITER) | |
| using ttg_parsec::detail::parsec_ttg_task_t< TT, KeyIsVoid >::key_type = typename TT::key_type |
|
inline |
|
inline |
|
inline |
Runs the destructor of the task. Tasks are placement-new'd into a PaRSEC mempool and never deleted, so this must be called before the task's memory is returned to the mempool. Running the full destructor (rather than destroying selected members) stays correct when members are added. The PaRSEC task header is trivially destructible, so the mempool can still read it afterwards.
Definition at line 275 of file task.h.
|
inline |
|
inline |
|
inline |
|
inlinestatic |
| ttg_data_copy_t* ttg_parsec::detail::parsec_ttg_task_t< TT, KeyIsVoid >::copies[num_copies] = { nullptr } |
| device_state_t<TT::derived_has_device_op()> ttg_parsec::detail::parsec_ttg_task_t< TT, KeyIsVoid >::dev_state |
| key_type ttg_parsec::detail::parsec_ttg_task_t< TT, KeyIsVoid >::key |
|
staticconstexpr |
|
staticconstexpr |
| std::array<stream_info_t, num_streams> ttg_parsec::detail::parsec_ttg_task_t< TT, KeyIsVoid >::streams |
| TT* ttg_parsec::detail::parsec_ttg_task_t< TT, KeyIsVoid >::tt = nullptr |
1.9.8